[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: order in the xml prolog
Thank you for confirming this. Obviously the <?xml-stylesheet> PI is included in the file so that users can display the documents ad hoc in a browser - and unfortunately one particular browser refused to display the styled content if the PI did not precede the DTD. I'm pleased to be able to say that it is the browser's problem... Cheers Trevor -----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: Wednesday, 21 November 2007 4:16 a.m. To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: order in the xml prolog I was mildly surprised to discover that comments and PIs are allowed before the DOCTYPE declaration. The DOCTYPE declaration is newly created by the serializer, it is not a copy of the DOCTYPE declaration in your source document. It will always precede any nodes that are present in the result tree. There's no way to control this. I can't imagine any circumstances where you really need to generate comments and PIs before the DOCTYPE declaration. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Trevor Nicholls [mailto:trevor@xxxxxxxxxxxxxxxxxx] > Sent: 20 November 2007 14:46 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: order in the xml prolog > > I have a modified identity transform which is translating a > few element names, and it's performing that task admirably. > However the output XML has also switched the order of > elements in the xml prolog. > > Two questions: > 1) Does it really matter? > 2) How do I modify the identity template to get the original order? > > I am able to use either Saxon or xsltproc (libxml). Both > transpose the PI and the DTD. > > Input xml: > > <?xml version="1.0" encoding="UTF-8"?> > <?xml-stylesheet href="../../utils/doc2html.xsl" type="text/xsl"?> > <!DOCTYPE document SYSTEM "../../utils/docs.dtd"> > <document> > <title id="Lab156">Boxes</title> > <include srcfile="boxes_intro.xml"/> > <include srcfile="boxes_items.xml"/> > </document> > > xsl: > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output doctype-system="../../utils/docs.dtd" > method="xml" encoding="UTF-8" /> > > <xsl:preserve-space elements="*" /> > > <!-- identity --> > <xsl:template match="node()|@*"> > <xsl:copy> > <xsl:apply-templates select="@*|node()" /> > </xsl:copy> > </xsl:template> > > <!-- translate various code elements into a standard set --> > <!-- skipped --> > > </xsl:stylesheet> > > Output xml: > > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE document SYSTEM "../../utils/docs.dtd"> > <?xml-stylesheet href="../../utils/doc2html.xsl" type="text/xsl"?> > <document> > <title id="Lab156">Boxes</title> > <include srcfile="boxes_intro.xml"/> > <include srcfile="boxes_items.xml"/> > </document> > > > > Cheers > Trevor Nicholls
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|