[xsl] DTD error in Output

Subject: [xsl] DTD error in Output
From: "Brook Ellingwood" <belling@xxxxxxx>
Date: Mon, 23 Oct 2006 12:22:33 -0700
Hi,

I've been encountering intermittent problems with XSLTC and I'm hoping
someone can shed some light on them. The XSL contains this output
element:
<xsl:output doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
doctype-system="http://www.w3.org/TR/html4/loose.dtd"; method="html"
indent="no" encoding="UTF-8"/>

And every now and then, Xalan throws this error:
org.xml.sax.SAXParseException: The declaration for the entity
"HTML.Version" must end with '&gt;'

It appears to be coming from having comments in the entity declaration
in the DTD:
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Transitional//EN"
  -- Typical usage:
...

My initial thought was to just switch to XHTML for the output and see if
that cleared it up, but the output is non-compliant enough that it's
causing problems in the browser. I will take the time to make it XHTML
later, but for now I just need it to not break so we can work on the
XSL.

Questions:
1. Should Xalan even be reading the DTD or should it just write the
DOCTYPE declaration into the output?
2. If Xalan is behaving properly, can I get around this problem witout
converting the output to XHTML?

Thanks,
-- Brook

Current Thread