[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Group by parameters tag


Subject: Re: [xsl] Group by parameters tag
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 25 Mar 2009 11:42:55 GMT

> How I can apply this template that group by tags,

Note that XSLT never processes tags (it has no access to the tags in the
document).

> but instead of comme  one parameter, commes more than one?

I don't know what you mean but possibly you mean setting the name
parameter to something like
note,title,foo
and then change


           <xsl:for-each-group select="node()" group-by="local-name()=$name">
                 <xsl:choose>
                     <xsl:when test="current-grouping-key()">
                         <xsl:element name="{$name}">

to

  <xsl:for-each-group select="node()" group-by="string(tokenize($name,',')[local-name(current())=.])">
    <xsl:choose>
     <xsl:when test="current-grouping-key()">
      <xsl:element name="{local-name()}">



Then for example



<entry id="boo">
     <book>
       <title>The title</title>
       <title>The sub title</title>
       <note>note3</note>
       <note>note4</note>
     </book>
   </entry>

comes out as


  <entry id="boo">
      <book>
         <title>The title and The sub title</title>
         <note>note3 and note4</note>
      </book>
   </entry>


David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________


Current Thread
Keywords