|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Grouping problem
Try this:
<xsl:template match="document">
<xsl:sequence select="f:group(*, 1)"/>
</xsl:template>
<xsl:function name="f:group">
<xsl:param name="input"/>
<xsl:param name="level"/>
<xsl:for-each-group select="$input"
group-starting-with="*[@function='section'][@level=$level]">
<section>
<xsl:sequence select="current-group()[@level=$level]"/>
<!-- except that you may want to lose the function and level
attributes -->
<xsl:sequence
select="f:group(current-group()[not(@level=$level)],$level+1)"/>
</section>
</xsl:for-each-group>
</xsl:function>
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Vincent De Groote [mailto:list.encelade@xxxxxxxxx]
> Sent: 04 April 2009 14:51
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Grouping problem
>
> Hello,
>
> I need to structure a document, based on text fragments.
>
> I have a flat xml file like this:
>
> <document>
> <text-fragment function='section' level='1'> Some text
> </text-fragment>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
>
> <text-fragment function='section' level='2'> Some text
> </text-fragment>
>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
>
> <text-fragment function='section' level='2'> Some text
> </text-fragment>
>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
>
> <text-fragment function='section' level='1'> Some text
> </text-fragment>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
> <text-fragment> Some text </text-fragment>
>
> <document>
>
> and I want to structure the document like this:
>
> <document>
> <section>
> Some text-fragments ...
> <section>
> Some text-fragments ...
> </section>
> </section>
> <section>
> ... Some fragments for the second section ...
> </section>
> </document>
>
> Can you give me some methods, hints, references on how to do this ?
> I have already looked on Muenchian grouping, xslt2 groups,
> but I cannot find the way to do it.
>
> Thanks for your replies and your time ..;
>
> Vincent De Groote
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








