RE: Simple XPath question

Subject: RE: Simple XPath question
From: Sebastien Sahuc <ssahuc@xxxxxxxxxxxxxx>
Date: Mon, 22 Nov 1999 11:36:30 +0100
> Is there a way in XPath to find all PERSON's such that there exists
> another PERSON such that the two people have identical @firstname
and
> @lastname attributes? 

Let's try to do it :

I presume the source XML document is :
<PERSON firstname="fn1" lastname="ln1"/>
<PERSON firstname="fn2" lastname="ln2"/>
<PERSON firstname="fn2" lastname="ln2"/>
<PERSON firstname="fn3" lastname="ln3"/>
<PERSON firstname="fn4" lastname="ln4"/>
<PERSON firstname="fn3" lastname="ln3"/>

and the target is :
<PERSON firstname="fn2" lastname="ln2"/>
<PERSON firstname="fn3" lastname="ln3"/>

right ?

Then a solution is :

<xsl:template match="PERSONS">
  <xsl:apply-templates
select="PERSON[following-sibling::PERSON/@lastname = ./@lastname and
following-sibling::PERSON/@firstname = ./@firstname]"/>
</xsl:template>


Sebastien


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


Current Thread