[xsl] DOCTYPE causes appearance of unwanted attributes

Subject: [xsl] DOCTYPE causes appearance of unwanted attributes
From: Paul DuBois <paul@xxxxxxxxxxxx>
Date: Tue, 6 Apr 2004 11:39:58 -0500
I'm finding that including a DOCTYPE declaration in my source XML
document causes the output to contain unwanted attributes.

Stylesheet identity.xsl is a fairly standard identity transform:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:template match="/ | node() | @* | comment() | processing-instruction()">
  <xsl:copy>
    <xsl:copy-of select="@*"/>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

</xsl:stylesheet>


Input file 1:

<?xml version='1.0'?>
<chapter>
<indexterm><primary>abc</primary></indexterm>
<literal>abc</literal>
</chapter>

Result of "xsltproc identity.xsl junk1" is:

<?xml version="1.0"?>
<chapter>
<indexterm><primary>abc</primary></indexterm>
<literal>abc</literal>
</chapter>

Input file 2 (same but with DOCTYPE):

<?xml version='1.0'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.3//EN'
		  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"; >

<chapter>
<indexterm><primary>abc</primary></indexterm>
<literal>abc</literal>
</chapter>

Result of "xsltproc identity.xsl junk2" is:

<?xml version="1.0"?>
<chapter>
<indexterm significance="normal"><primary>abc</primary></indexterm>
<literal moreinfo="none">abc</literal>
</chapter>

The significance and moreinfo attributes have been added.

1) Why is this?
2) Can I suppress it? :-)

Current Thread