xsl-list
[Top] [All Lists]

RE: node() problem

2003-07-04 10:13:18

A quick question:

I am using this piece of code:

<xsl:template match="@*|node()">
      <xsl:element name="_r">
      <xsl:attribute name="n">
              <xsl:value-of select="name(.)"/>
      </xsl:attribute>
      <ind><xsl:value-of select="."/></ind>
      </xsl:element> 
</xsl:template>

To handle all of the tags not explicitly matched.

I would expect that:
<foo>goo</foo>

would be transformed to

<_r n="foo"><ind>goo</ind></_r>

However the output is:
<_r n="foo"><ind>goo</ind></_r>
<_r n=""><ind></ind></_r>


I suspect that the problem lies elsewhere in the stylesheet, in the code
that's invoking this template.

It looks to me as if you are applying this template first to an element
and then to the text node inside it. Perhaps you are doing
xsl:apply-templates select="//node()" or something like that.

Michael Kay


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



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