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

RE: [xsl] XPath help


Subject: RE: [xsl] XPath help
From: "Jeffrey Langdon" <jl_xsl@xxxxxxxxxxx>
Date: Fri, 07 Sep 2001 14:30:10 +0000

Any ideas on which answer is correct?

<xsl:for-each select="*[not(name()='a' or name()='b')]">

[not(self::a or self::b)]

<xsl:for-each select="*[not(local-name()='a' or local-name()='b')]">

Regards,

Jeff Langdon

From: "Corey Spitzer" <cspitzer@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: [xsl] XPath help
Date: Fri, 7 Sep 2001 09:03:20 -0500

Try <xsl:for-each select="*[not(local-name()='a' or local-name()='b')]">



-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of William Bagby
Sent: Friday, September 07, 2001 8:35 AM
To: XSL Mailing List (E-mail)
Subject: [xsl] XPath help


What XPath do I use to specify "elements which are neither <a> nor <b>"? Here's an example:

<top>
    <a>1</a>
    <a>2</a>
    <a>3</a>
    <b>1</b>
    <b>2</b>
    <c>1</c>
    <c>2</c>
    <c>3</c>
    <c>4</c>
    <c>5</c>
    <d>1</d>
    <d>2</d>
</top>

I would like to iterate over all but the <a> and <b> elements, in this case,
<c> and <d> elements.


Something like this is what I had in mind:

<xsl:template match="top">
    <xsl:for-each select="*[not(a|b)]">
        <!-- do something -->
    </xsl:for-each>
</xsl:template>

But it does not seem to work. I can't find the syntax for this, but it can't
be that hard. Suggestions?



William Bagby.


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread
Keywords