Subject: Re: [xsl] Sorting using more than value From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Thu, 11 Nov 2010 16:06:45 -0500 |
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','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> <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
<xsl:for-each-group select="//indexterm" group-by="(@term.entry,text())[1])"> <xsl:sort select="current-grouping-key()"/> <div class="index"> <span> <xsl:value-of select="current-grouping-key()"/> <xsl:text> - </xsl:text> </span> </div> ...
Good luck, Wendell
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Sorting using more than value, Susan Bodnik | Thread | Re: [xsl] Sorting using more than v, Susan Bodnik |
[xsl] Sorting using more than value, Susan Bodnik | Date | Re: [xsl] Sorting using more than v, Susan Bodnik |
Month |