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">&lt;!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
> 

Reply via email to