xsl-list
[Top] [All Lists]

RE: XPATH simple question

2003-03-10 13:13:57
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(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 



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



<Prev in Thread] Current Thread [Next in Thread>