|
Subject: Re: [xsl] XSL comparing nodesets by name only From: Lars Huttar <lars_huttar@xxxxxxx> Date: Mon, 15 Nov 2010 06:38:45 -0600 |
On 11/15/2010 6:24 AM, 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)"/>
>
Piet, it seems to me that will work like
<xsl:value-of select="name($me1[1]) = name($me2[1])"/>
In other words, it will only evaluate to true if the *first* element of
$me1 and the *first* element of $me2 have the same name.
"The *name <http://www.w3.org/TR/xpath/#function-name>* function returns
a string containing a QName
<http://www.w3.org/TR/REC-xml-names#NT-QName> representing the
expanded-name <http://www.w3.org/TR/xpath/#dt-expanded-name> of the node
in the argument node-set that is first in document order
<http://www.w3.org/TR/xpath/#dt-document-order>."
Lars
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] XSL comparing nodesets by, Ludwig, Michael | Thread | [xsl] replacing of characters based, ram |
| Re: [xsl] XSL comparing nodesets by, Michael Kay | Date | Re: [xsl] XSL comparing nodesets by, Piet van Oostrum |
| Month |