xsl-list
[Top] [All Lists]

Re: [xsl] Including an attribute discriminator in the for-each-group's group-by attribute

2008-07-25 07:58:16
Mark Wilson wrote:
I have two elements that differ only by attribute. My for-each-group code currently considers them to be identical, so I need to distinguish them by their attributes as well as their text node. I do not know enough about XPath yet to construct a proper current-grouping-key(). (I'm reading Michael Kay's 4th edition, but have not covered the XPath section yet). Everything I have tried with | @* has failed.

The two elements that need to be distinguished are:

<Heading entry="author">Hahn, Henry</Heading>
<Heading entry="subject">Hahn, Henry</Heading>

The code snippet is:

<xsl:for-each-group select="Item" group-by="Heading" collation="{$sorting-collation}"> <xsl:sort select="current-grouping-key()" collation="{$sorting-collation}"/>

I am not sure I understand what you want to achieve.
If you want group by the Heading elements which have an attribute entry="author" then you can do that with
  <xsl:for-each-group select="Item" group-by="Heading[(_at_)entry = 'author']">



--

        Martin Honnen
        http://JavaScript.FAQTs.com/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--