Subject: Re: XPath question
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Fri, 24 Aug 2001 11:00:16 +0100
|
Hi Adam,
> Now what is all the all the attrib nodes from $rules whose name AND parents
> state attribute are not present together in $attribs.
I don't think it's possible to do in a single XPath. You can do:
<xsl:for-each select="$rules/attrib">
<xsl:if test="not($attribs[@name = current()/@name and
@state = current()/../@state])">
...
</xsl:if>
</xsl:for-each>
If the attrib elements in $attribs were held somewhere other than in a
variable, then you could construct a key for them:
<xsl:key name="attribs" match="attrib"
use="concat(@name, ' ', @state)" />
And then you could do:
$rules/attrib[not(key('attribs', concat(@name, ' ', ../@state)))]
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|