Subject: Re: [xsl] Targeting nodes between <lb/> elements From: Chris von See <chris@xxxxxxxxxxxxx> Date: Sun, 27 Apr 2008 21:47:13 -0700 |
<root> <lb/> <sp><speaker>speaker1</speaker><p>text1</p></sp> <lb/> <sp fake="yes"><p fake="yes">text2</p></sp> <lb/> <sp><speaker>speaker2</speaker><p>text3</p></sp> <lb/> <sp fake="yes"><p fake="yes">text4</p></sp> <lb/>
<xsl:for-each-group select="*" group-starting-with="lb"> <fo:block> <xsl:for-each select="current-group()"> ... call templates to write <fo:inline> or text as appropriate ... </xsl:for-each> </fo:block> </xs:for-each-group>
Cheers Chris
Hello all,
I've been lurking for a while, and would like first to express my thanks to all of the experts here who are so incredibly generous with their expertise.
I've been banging my head (painfully) against what seems to me should be a relatively simple issue. I've tried to find the solution in the obvious books and in the archives of this list, but at this point am completely demoralised by repeated failure. I'd be extremely grateful for any help in getting past this hurdle.
I'm trying to wrap in an <fo:block> the nodes between pairs of <lb/ > elements. These nodes are not all siblings:
[source] <lb/><sp><speaker>speaker1</speaker><p>text1 <lb/>text2</p></sp> <lb/><sp><speaker>speaker2</speaker><p>text3 <lb/>text4</p></sp>
[desired output] <fo:block><fo:inline>speaker1</fo:inline>text1</fo:block> <fo:block>text2</fo:block> <fo:block><fo:inline>speaker2</fo:inline>text3</fo:block> <fo:block>text4</fo:block>
Also, I need to be able to further process some elements in each matched sequence (such as the <speaker> shown in the example). None of these elements will contain <lb/>.
Using XSLT 2.0 and Saxon 9B (and XEP), I've tried countless approaches involving for-each-group or simple XPath predicates ( << and >> ). Problems have ranged from matching problems to looping problems (Saxon error: "Too many nested apply-templates calls. The stylesheet may be looping.").
Many thanks in advance for any help you can send my way. At this point I'm fully prepared to be mortified by the inevitable simplicity of the solution...
Kitto
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Targeting nodes between <, KW | Thread | [no subject], Unknown |
[xsl] Possible to Construct a nodes, ohaya | Date | [xsl] format negative numbers, Markus Gamperl |
Month |