Details
Description
Right now you can only specify HTML4 or xHTML1 doctypes using this helper. There should be a possibility to handle also xHTML 1.1 doctype. Below is the code that needs to be added in Doctype.php file in order to achieve this.
current:
const XHTML1_STRICT = 'XHTML1_STRICT'; const XHTML1_TRANSITIONAL = 'XHTML1_TRANSITIONAL'; const XHTML1_FRAMESET = 'XHTML1_FRAMESET'; const HTML4_STRICT = 'HTML4_STRICT'; const HTML4_LOOSE = 'HTML4_LOOSE'; const HTML4_FRAMESET = 'HTML4_FRAMESET'; const CUSTOM_XHTML = 'CUSTOM_XHTML'; const CUSTOM = 'CUSTOM';
new:
const XHTML11 = 'XHTML11'; const XHTML1_STRICT = 'XHTML1_STRICT'; const XHTML1_TRANSITIONAL = 'XHTML1_TRANSITIONAL'; const XHTML1_FRAMESET = 'XHTML1_FRAMESET'; const HTML4_STRICT = 'HTML4_STRICT'; const HTML4_LOOSE = 'HTML4_LOOSE'; const HTML4_FRAMESET = 'HTML4_FRAMESET'; const CUSTOM_XHTML = 'CUSTOM_XHTML'; const CUSTOM = 'CUSTOM';
current:
public function __construct() { if (!Zend_Registry::isRegistered($this->_regKey)) { $this->_registry = new ArrayObject(array( 'doctypes' => array( self::XHTML1_STRICT => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', self::XHTML1_TRANSITIONAL => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', self::XHTML1_FRAMESET => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', self::HTML4_STRICT => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', self::HTML4_LOOSE => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">', self::HTML4_FRAMESET => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">', ) )); Zend_Registry::set($this->_regKey, $this->_registry); $this->setDoctype($this->_defaultDoctype); } else { $this->_registry = Zend_Registry::get($this->_regKey); } }
new:
public function __construct() { if (!Zend_Registry::isRegistered($this->_regKey)) { $this->_registry = new ArrayObject(array( 'doctypes' => array( self::XHTML11 => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">', self::XHTML1_STRICT => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', self::XHTML1_TRANSITIONAL => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', self::XHTML1_FRAMESET => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', self::HTML4_STRICT => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', self::HTML4_LOOSE => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">', self::HTML4_FRAMESET => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">', ) )); Zend_Registry::set($this->_regKey, $this->_registry); $this->setDoctype($this->_defaultDoctype); } else { $this->_registry = Zend_Registry::get($this->_regKey); } }
current:
public function doctype($doctype = null) { if (null !== $doctype) { switch ($doctype) { case self::XHTML1_STRICT: case self::XHTML1_TRANSITIONAL: case self::XHTML1_FRAMESET: case self::HTML4_STRICT: case self::HTML4_LOOSE: case self::HTML4_FRAMESET: $this->setDoctype($doctype); break;
new:
public function doctype($doctype = null) { if (null !== $doctype) { switch ($doctype) { case self::XHTML11: case self::XHTML1_STRICT: case self::XHTML1_TRANSITIONAL: case self::XHTML1_FRAMESET: case self::HTML4_STRICT: case self::HTML4_LOOSE: case self::HTML4_FRAMESET: $this->setDoctype($doctype); break;
Resolved in SVN r9063. I added two doctypes, XHTML1.1 and XHTML BASIC 1.0 .