public function &setDoctype($a_doctype, $a_namespace = null) { if (is_string($a_doctype)) { $doctype = trim(strtolower($a_doctype)); $types = array('xhtml1-strict' => array('html', '-//W3C//DTD XHTML 1.0 Strict//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'), 'xhtml1-tran' => array('html', '-//W3C//DTD XHTML 1.0 Transitional//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'), 'xhtml1-frame' => array('html', '-//W3C//DTD XHTML 1.0 Frameset//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd'), 'xhtml11' => array('html', '-//W3C//DTD XHTML 1.1//EN', 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'), 'html4-strict' => array('html', '-//W3C//DTD HTML 4.01//EN', 'http://www.w3.org/TR/html4/strict.dtd'), 'html4-trans' => array('html', '-//W3C//DTD HTML 4.01 Transitional//EN', 'http://www.w3.org/TR/html4/loose.dtd'), 'html4-frame' => array('html', '-//W3C//DTD HTML 4.01 Frameset//EN', 'http://www.w3.org/TR/html4/frameset.dtd'), 'html5' => array('html', null, null)); if (!isset($types[$doctype])) { $doctype = 'html4-trans'; } return parent::setDoctype($types[$doctype], $a_namespace); } return $this; }