RE: [xsl] Can't match node without node()[name(.) syntax

Subject: RE: [xsl] Can't match node without node()[name(.) syntax
From: Pieter Reint Siegers Kort <pieter.siegers@xxxxxxxxxxx>
Date: Tue, 30 Nov 2004 08:34:35 -0600
Hi Robert,

It would help if you post your XML (or a typical excerpt if it's too long).

Cheers,
<prs/>

-----Original Message-----
From: Robert Soesemann [mailto:rsoesemann@xxxxxxxxxxx] 
Sent: Tuesday, November 30, 2004 7:56 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Can't match node without node()[name(.) syntax

Help;-(

I experienced that I cannot match any element in the normal way of just
Naming the node name. Instead I also need to write "node()[name(.)='....
Any ideas why that happens? Could it be the identity template that I use?

This works (I see <FOOOOOO/>):
-----------------------------
	<!-- Copy nodes except those affected by other templates -->
	<xsl:template match="/ | @* | node()">
	   <xsl:copy>
	     <xsl:apply-templates select="@* | node()"/>
	   </xsl:copy>
	</xsl:template>

	<!-- Match all kiwi-relation elements  -->
	<xsl:template match="node()[name(.) = 'my-relation']">

        <FOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO/>
        ...

This doesn't works (I don't see <FOOOOOO/>):
-------------------------------------------
	<!-- Copy nodes except those affected by other templates -->
	<xsl:template match="/ | @* | node()">
	   <xsl:copy>
	     <xsl:apply-templates select="@* | node()"/>
	   </xsl:copy>
	</xsl:template>

	<!-- Match all kiwi-relation elements  -->
	<xsl:template match="my-relation">               
        <FOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO/>
        ...
Why that?

Current Thread