Construct a list without duplicate element
Pete Johnston
P.Johnston at archives.gla.ac.uk
Wed Jun 30 16:03:11 BST 1999
Eric Riblair asked:
> Does anyone know a way to do a list in a XSL file in a ...
[query snipped]
I am not sure whether I understood your question correctly, but with
the following XML document:
<?xml version="1.0"?>
<document>
<list>
<item colour="red">a red item</item>
<item colour="blue">a blue item</item>
<item colour="green">a green item</item>
<item colour="red">a red item</item>
<item colour="blue">a blue item</item>
<item colour="green">a green item</item>
<item colour="red">a red item</item>
</list>
</document>
and the following stylesheet
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
result-ns="">
<xsl:template match="document">
<xsl:for-each select="list/item">
<xsl:sort select="@colour"/>
<xsl:variable name="x" expr="@colour"/>
<xsl:if test='not(from-preceding-siblings(*[@colour=$x]))'>
<p><xsl:value-of select="@colour"/></p>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
XT produces the following output
<p>blue</p><p>green</p><p>red</p>
which seems to be the sort of thing you are looking for .There may be
more elegant solutions! Your use of the order-by attribute
suggests that you might be looking for an IE5 solution, and I doubt
whether my offering is compatible with IE5's XSL implementation.
Pete Johnston
University of Glasgow
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list