[xsl] Excluding an element with specific content from an <xsl:sort> call
Subject: [xsl] Excluding an element with specific content from an <xsl:sort> call
From: "Mark Wilson" <mark@xxxxxxxxxxxx>
Date: Sat, 30 Jan 2010 12:04:53 -0800
|
Hi,
Is it possible when using <xsl:sort> to exclude elements with specific
content from that <xsl:sort>call?
In Listing 1, when the content of the element<Prefix> is 'A' , I would like
to exclude that particular element from being sorted in the <xsl:sort
select="Prefix" data-type="text" /> call. I cannot see how to use the
"except" operator to do this. Is there a way to use "except" or some other
filter?
Some input records will contain no <Prefix> element. However, when present,
the <Prefix> element may content other than "A", such as "D", "L", etc. My
goal is to sort input records with an <Prefix>A</Prefix> element as though
it were absent from the record.
Listing 1:
<xsl:for-each-group select="Item" group-by="concat(CatalogName, Prefix,
CatalogNumber, Range)">
<xsl:sort select="CatalogName" data-type="text"
collation="{$sorting-collation}"/>
<xsl:sort select="Prefix" data-type="text" />
<xsl:sort select="CatalogNumber" data-type="number"/>
Thanks,
Mark