xsl-list
[Top] [All Lists]

[xsl] Preserving inline DTD

2014-01-27 17:26:44
Hello,

How do I make xsltproc preserve the DTD that is in the input XML ?

Example: coder.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE codermap [
<!ELEMENT codermap (coder)*>
<!ELEMENT coder (#PCDATA)>
<!ATTLIST coder magick CDATA #REQUIRED>
<!ATTLIST coder name CDATA #REQUIRED>
]>
<codermap>
  <coder magick="FOO" name="FOO" />
</codermap>

coder.xsl:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
        <xsl:output method="xml" indent="yes" />
        <xsl:template match="@*|node()">
                <xsl:copy>
                        <xsl:apply-templates select="@*|node()"/>
                </xsl:copy>
        </xsl:template>
        <xsl:template match="/codermap">
                <xsl:copy>
                        <xsl:apply-templates select="@*|node()"/>
                        <coder magick="BAR" name="BAR" />
                </xsl:copy>
        </xsl:template>
</xsl:stylesheet>

When invoked as:
xsltproc coder.xsl coder.xml
the DTD is lost:
<?xml version="1.0"?>
<codermap>
  <coder magick="FOO" name="FOO"/>
<coder magick="BAR" name="BAR"/></codermap>

Thank you,
Piotr


--~------------------------------------------------------------------
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>
--~--


<Prev in Thread] Current Thread [Next in Thread>