Re: [xsl] XPath question

Subject: Re: [xsl] 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


Current Thread