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
|