Subject: Re: sequence with same id values
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 6 Mar 2006 13:29:45 GMT
|
<xsl:variable name="anchor" as="element()*"
select="document('source.xml')//anchor[parent::xref]/@id"/>
How can I get all the id values that are not unique?
It's best to say explicitly if you want an xpath2 solution (which you
do here as you are using an as= attribute so you must be using xslt2)
If you just want the distinct values, rather than a sequence of
attribute nodes with distinct values then uou can go
<xsl:variable name="anchor" as="xs:string*"
select="distinct-values(document('source.xml')//anchor[parent::xref]/@id)"/>
Your original as= attribute would generate errors as you are selecting
attribute nodes but specifying a sequence of elements.
Rather than testing on parent:: axis it's probably more natural (but
equivalent) to write this as
<xsl:variable name="anchor" as="xs:string*"
select="distinct-values(document('source.xml')//xref/anchor/@id)"/>
Depending on what you want to do with this list you may prefer to use an
xsl:for-each-group rather than use distinct-values.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
|