Re: [xsl] XSL comparing nodesets by name only

Subject: Re: [xsl] XSL comparing nodesets by name only
From: Piet van Oostrum <piet@xxxxxxxxxxxxxx>
Date: Mon, 15 Nov 2010 08:24:34 -0400
Markus Ohlenroth wrote:

 > I use XSLT 1.0
 > 
 > Given the following nodesets:
 > 
 > <data:me1> <a></a> <b/> </data:me1>
 > 
 > <data:me2> <a>value</a> <dd></dd> </data:me2>
 > 
 > 
 > <xsl:variable name="me1" select="//data:me1/*"/> <xsl:variable
 > name="me2" select="//data:me2/*"/>
 > 
 > I want to find out if the two nodesets share one or more elements. I
 > only want a comparison regarding their nodenames not the values of
 > the nodes.  In the above example $me1 and $me2 share the name of one
 > element: and that is the element "<a/>". So my nodeset comparison
 > should return "true".

In XSLT 1.0:

    <xsl:value-of select="name($me1) = name($me2)"/>

In 2.0:

    <xsl:value-of select="$me1/name() = $me2/name()"/>

-- 
Piet van Oostrum
Cochabamba. URL: http://pietvanoostrum.com/
Nu Fair Trade woonartikelen op http://www.zylja.com

Current Thread