RE: [xsl] node() problem

Subject: RE: [xsl] node() problem
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Fri, 4 Jul 2003 18:13:18 +0100
> 
> 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


Current Thread