[xsl] order in the xml prolog

Subject: [xsl] order in the xml prolog
From: "Trevor Nicholls" <trevor@xxxxxxxxxxxxxxxxxx>
Date: Wed, 21 Nov 2007 03:46:14 +1300
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

Current Thread