|
Subject: [xsl] xsl:for-each-group question From: "Markus Ohlenroth markus.ohlenroth@xxxxxxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 27 Jan 2016 13:15:17 -0000 |
Unsing xsl 2.0
The below xsl changes the below xml with a list of flat <P/> nodes into
groups based on values in subnodes of <p/>
The result achived with the xsl below is what I want.
But what I cannot figure out is:
What values must the "select" argument and/or the "group-starting-with"
arguments have in my example
so that the resulting current-group() nodes are <p/> nodes (i.e. the parent
node) instead of <rStyle/> nodes.
I cannot achieve the wanted grouping with the resulting current-group()
nodes being <p/> nodes.
I can only achieve the wanted grouping with the resulting current-group()
nodes being <rStyle/> nodes.
Thank you for any help.
Kind regards
Markus
XML INPUT File:
<Root>
<p>
<rStyle val="Lemma"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="Lemma"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="Lemma"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="description"/>
</p>
</Root>
################ XSL Processing FILE extract
###################################
<xsl:template match="Root">
<xsl:copy>
<xsl:for-each-group select="p/rStyle"
group-starting-with="p/rStyle[@val='Lemma']">
<service>
<!--
This is what I really want as current-group()
<xsl:copy-of select="current-group()/parent::node() "/>
-->
<xsl:copy-of select="current-group()"/>
</service>
</xsl:for-each-group>
</xsl:copy>
</xsl:template>
################ Desired Result XML snippet
###################################
<service>
<p>
<rStyle val="Lemma"/>
</p>
<p>
<rStyle val="description"/>
</p>
<p>
<rStyle val="description"/>
</p>
</service>
################ Current Result XML snippet
#########################################
<service >
<rStyle val="Lemma"/>
<rStyle val="description"/>
<rStyle val="description"/>
</service>
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Function for determining , Liam R. E. Quin liam | Thread | Re: [xsl] xsl:for-each-group questi, Martin Honnen martin |
| Re: [xsl] Function for determining , Michael Kay mike@xxx | Date | Re: [xsl] xsl:for-each-group questi, Martin Honnen martin |
| Month |