Hi Richard,
I realized that we escaped the public identifier just like a URI, which
is obviously wrong. Try the attached patch. I hope it works,
Tom
------------------------------------patch begins
Index: output.cpp
===================================================================
RCS file: d:/cvs-master/ga/src/Sablot/engine/output.cpp,v
retrieving revision 1.25
diff -a -u -r1.25 output.cpp
--- output.cpp 2001/01/28 17:33:26 1.25
+++ output.cpp 2001/02/09 21:54:50
@@ -518,7 +518,7 @@
if (!publicId.isEmpty())
{
sendLit(" PUBLIC \"");
- E( sendStrEsc(publicId, ESCAPING_URI) );
+ E( sendStrEsc(publicId, ESCAPING_NONE) );
sendLit("\"");
}
else
@@ -534,7 +534,7 @@
if (!publicId.isEmpty())
{
sendLit(" PUBLIC \"");
- E( sendStrEsc(publicId, ESCAPING_URI) );
+ E( sendStrEsc(publicId, ESCAPING_NONE) );
sendLit("\"");
}
if (!systemId.isEmpty())
------------------------------------patch ends
Richard Guise wrote:
> We've been trying to use, in our xsl document:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="html" version="4.0"
>
> doctype-public="-//W3C//DTD HTML 4.01//EN"
>
> doctype-system="http://www.w3.org/TR/html4/strict.dtd">
>
> and have been getting, in our result HTML document:
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD%20HTML%204.01//EN"
>
> "http://www.w3.org/TR/html4/strict.dtd">
>
> instead of:
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
>
> "http://www.w3.org/TR/html4/strict.dtd">
>
> We are now using:
>
> <xsl:template match="/">
>
> <xsl:text disable-output-escaping="yes"><!DOCTYPE html PUBLIC
> "-//W3C//DTD "http://www.w3.org/TR/html4/strict.dtd"></xsl:text>
>
> This solved our problem, but it's cheating.
>
> Please help. Thank you.
>
> Nuno Silva & Richard Guise
>
> Portugal
>