xsl-list
[Top] [All Lists]

Re: where does one stick the doctype?

2003-03-20 12:41:31
Steve Rosenberry wrote:
This is what I resorted to:

<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>]]>
</xsl:text>

There may be a better way, but this works...

It doesn't work in processors that don't serialize their result tree directly;
e.g. Mozilla/Netscape. Why don't people bother to look up the info instead of
just guessing?

Just use

<xsl:output method="xml"
  doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
  doctype-system="http://yourHost/local/copy/of/xhtml1-transitional.dtd"/>

Note that XML DOCTYPEs are not inert strings like namespace names; when you
use "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"; as the system
ID, you are introducing into your document a very real dependency on the
www.w3.org site being accessible, and slowing down the parsing of the document
due to the network overhead. Either leave out the systemID or make it point to
something you have more control over.

Mike

-- 
  Mike J. Brown   |  http://skew.org/~mike/resume/
  Denver, CO, USA |  http://skew.org/xml/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list