[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] XSL comparing nodesets by name only


Subject: Re: [xsl] XSL comparing nodesets by name only
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Mon, 15 Nov 2010 13:32:24 +0100

Piet van Oostrum wrote:
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)"/>

That would compare the name of the first node in $me1 with the name of the first node in $me2. Any other nodes in those node sets are ignored, I don't think that is what the original poster wants. I think with XSLT 1.0 a single XPath expression can't solve that, a template is needed.



--


	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/


Current Thread
Keywords