[xsl] "*|@*|text()" vs. "node()"

Subject: [xsl] "*|@*|text()" vs. "node()"
From: Jörg Heinicke <joerg.heinicke@xxxxxx>
Date: Thu, 04 Oct 2001 14:48:58 +0200
I want to shorten/improve my XSL-code, but a problem occures. Until now I had a stylesheet like the following:

<xsl:template match="*|@*|text()">
  <xsl:copy>
    <xsl:apply-templates select="*|@*|text()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="@href">
  <xsl:attribute name="href">
    <xsl:choose>
      <!-- specifying the value -->
    </xsl:choose>
  </xsl:attribute>
</xsl.template>

<!-- some more templates -->

Now I changed "*|@*|text()" to "node()" (both <xsl:template> and <xsl:apply-templates>) and I thought it should make no differences, because the original XML contains only elements, attributes and text-nodes.
But now I get an error-message:


href has an illegal attribute: {1}

Is this a bug in Xalan, because the priority of the templates doesn't work correctly anymore? Or what can be the problem?

Thanks in advance,

Joerg

--

System Development
VIRBUS AG
Fon +49(0)341-979-7435
Fax +49(0)341-979-7409
joerg.heinicke@xxxxxxxxx
www.virbus.de


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread