xsl-list
[Top] [All Lists]

RE: [xsl] order in the xml prolog

2007-11-20 08:16:43
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(_at_)castingthevoid(_dot_)com] 
Sent: 20 November 2007 14:46
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--