Subject: Re: [xsl] Conditional in-context nodeset variables From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Thu, 3 Jan 2008 16:38:50 +0000 |
On 03/01/2008, Vyacheslav Sedov <vyacheslav.sedov@xxxxxxxxx> wrote: > yep - it small simplified part of big code (more precisely - just testcase), > i don`t use xsl:...group since it make my code behavior like it use pull model, > but i am trying to use push model - maybe it wrong & i just not > familiar with grouping, > i feel myself with this task like cow on ice :) a cow on ice... :) Don't worry too much about push and pull - for grouping you have to use pull - and for-each-group is excellent (like most things in XSLT once you 'get' them) Here's an example using for-each-group with group-ending-with: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output indent="yes"/> <xsl:variable name="input"> <div> <p>p</p> <h1></h1> <h2></h2> <p>p2</p> </div> </xsl:variable> <xsl:template match="/"> <xsl:for-each-group select="$input/div/*" group-ending-with="h1|h2"> <group> <xsl:copy-of select="current-group()"/> </group> </xsl:for-each-group> </xsl:template> </xsl:stylesheet> It generates this output: <group> <p>p</p> <h1/> </group> <group> <h2/> </group> <group> <p>p2</p> </group> Is that what you were after? If not, modify the input and and required output and post back. -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Conditional in-context no, Vyacheslav Sedov | Thread | Re: [xsl] Conditional in-context no, Vyacheslav Sedov |
Re: [xsl] Conditional in-context no, Vyacheslav Sedov | Date | Re: [xsl] Help with moving nodes fr, David Larsson |
Month |