xsl-list
[Top] [All Lists]

Re: [xsl] xsl-for-each-group in xslt 2.0

2009-09-30 11:14:09
Hi

Thanks for all your responses.

Now I am able to get the listitems seperately under each step level.



On Mon, Sep 28, 2009 at 10:03 AM, Martin Honnen 
<Martin(_dot_)Honnen(_at_)gmx(_dot_)de> wrote:
a kusa wrote:

My XML is as follows:

<list1>
<listitem>A</listitem>
<listitem>B</listitem>
<list2>
<listitem>C</listitem>
<listitem>D</listitem>
</list2>
</list1>

Every <listX><listitem> combination corresponds to one step.

So I want this to transform into:

<step1>A B</step1>
<step2>C D</step2>

I am not sure you need xsl:for-each-group, for the above input (wrapped in a
root element) the following stylesheet creates above output (wrapped in a
root element):

<xsl:stylesheet
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 version="2.0">

 <xsl:output indent="yes"/>

 <xsl:template match="root">
   <xsl:copy>
     <xsl:apply-templates/>
   </xsl:copy>
 </xsl:template>

 <xsl:template match="*[matches(local-name(), 'list[0-9]+')]">
   <xsl:element name="step{substring-after(local-name(), 'list')}">
     <xsl:value-of select="listitem"/>
   </xsl:element>
   <xsl:apply-templates/>
 </xsl:template>

 <xsl:template match="text()"/>

</xsl:stylesheet>



--

       Martin Honnen
       http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>