[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Grouping problem
Subject: RE: [xsl] Grouping problem From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 4 Apr 2009 15:31:36 +0100 |
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: [xsl] 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Grouping problem, Martin Honnen | Thread | [xsl] grouping problem, M Balaji |
Re: [xsl] Grouping problem, Martin Honnen | Date | [xsl] Problem with <xsl:if>, Pierluigi Fabbris |
Month |
Keywords