|
Subject: [xsl] Sorting using more than value From: Susan Bodnik <aquasue@xxxxxxxxx> Date: Thu, 11 Nov 2010 12:46:07 -0800 (PST) |
I am having problems in sorting using one of two possible values.I have a
template that creates an index using the indexterm element.
Here is a
snippet of XML:
<p>Here is an <indexterm>index entry</indexterm> without an
attribute, and the
contents of the element will display in the index. This
<indexterm
term.entry="Alternate text">index entry</indexterm> does have an
attribute, and
the contents of the attribute will display in the index rather
than the content
of the indexterm element. </p>
I need to be able to sort
the index using one of two possible values. If the
indexterm doesn't contain
a term.entry attribute, it should sort using the
content of the indexterm
element. If the indexterm element contains a term.entry
attribute, then it
should sort using the value of the term.entry attribute.
I have the following
that sorts the index. The template outputs the value of the
term.entry
attribute if present, but it sorts only using the content of the
indexterm
element:
<xsl:for-each-group select="//indexterm" group-by=".">
<xsl:sort
select="translate(text(),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUV
WXYZ')"/>
<div class="index">
<xsl:choose>
<xsl:when
test="@term.entry"><span><xsl:value-of
select="@term.entry"/><xsl:text> -
</xsl:text></span></xsl:when>
<xsl:otherwise><span><xsl:value-of
select="."/><xsl:text> -
</xsl:text></span></xsl:otherwise>
</xsl:choose>
</div>
</xsl:for-each-group>
How would I be able
to sort the index entries using the content of the indexterm
element (when
there is no term.entry element) or the term.entry attribute for
the indexterm
element (if present)?
Thanks for any assistance with this.
Susan
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] namespaces issue, Dave Pawson | Thread | Re: [xsl] Sorting using more than v, Wendell Piez |
| Re: [xsl] namespaces issue, David Carlisle | Date | Re: [xsl] Sorting using more than v, Wendell Piez |
| Month |