Subject: RE: XPATH simple question
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 10 Mar 2003 20:13:57 -0000
|
> I want to select SYSTEMS but i dont want to repeat those
> systems that have the same id
>
> i have make this and works:
>
> <xsl:template match="SYSTEMS">
> <xsl:apply-templates select="SYSTEM[(@ID !=
> (preceding::SYSTEM/@ID))]"/> </xsl:template>
>
> but this doesnt work:
>
> <xsl:template match="SYSTEMS">
> <xsl:apply-templates select="SYSTEM[(@ID !=
> (following::SYSTEM/@ID)) OR (@ID !=
> (preceding::SYSTEM/@ID))]"/> </xsl:template>
>
> can somebody helpme?
You want [not(@ID = preceding-sibling::SYSTEM/@ID)]
Note that "not(A=B)" here means "A is not equal to any node in B", while
"A!=B" means "there is a node in B that A is not equal to".
Also you only need to search the preceding-sibling axis, not the much
more expensive preceding axis.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- XPATH simple question
- Oscar - Mon, 10 Mar 2003 12:35:50 -0500 (EST)
- Michael Kay - Mon, 10 Mar 2003 15:11:46 -0500 (EST) <=
- <Possible follow-ups>
- Craig Kattner - Mon, 10 Mar 2003 13:35:34 -0500 (EST)
|
|