Subject: [xsl] Re: Adding hierarchy From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Mon, 13 Oct 2003 06:31:14 +0200 |
This transformation: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:key name="kLGroup" match="lineGroup" use="generate-id(preceding-sibling::blankLine[1])"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="blankLine"> <lineGroup type="stanza"> <xsl:copy-of select="key('kLGroup', generate-id())"/> </lineGroup> </xsl:template> <xsl:template match="lineGroup"/> </xsl:stylesheet> when applied on this source.xml: <text> <blankLine/> <lineGroup> <line> </line> <line> </line> </lineGroup> <lineGroup> <line> </line> <line> </line> <lineGroup> <line> </line> <line> </line> </lineGroup> <line> </line> </lineGroup> <p/> <blankLine/> <lineGroup> <line> </line> <line> </line> </lineGroup> <lineGroup> <line> </line> <line> </line> <lineGroup> <line> </line> <line> </line> </lineGroup> <line> </line> </lineGroup> <p/> <blankLine/> <lineGroup> <line> </line> <line> </line> </lineGroup> <lineGroup> <line> </line> <line> </line> <lineGroup> <line> </line> <line> </line> </lineGroup> <line> </line> </lineGroup> <p/> </text> produces the wanted result: <text> <lineGroup type="stanza"> <lineGroup> <line/> <line/> </lineGroup> <lineGroup> <line/> <line/> <lineGroup> <line/> <line/> </lineGroup> <line/> </lineGroup> </lineGroup> <p/> <lineGroup type="stanza"> <lineGroup> <line/> <line/> </lineGroup> <lineGroup> <line/> <line/> <lineGroup> <line/> <line/> </lineGroup> <line/> </lineGroup> </lineGroup> <p/> <lineGroup type="stanza"> <lineGroup> <line/> <line/> </lineGroup> <lineGroup> <line/> <line/> <lineGroup> <line/> <line/> </lineGroup> <line/> </lineGroup> </lineGroup> <p/> </text> ===== Cheers, Dimitre Novatchev. http://fxsl.sourceforge.net/ -- the home of FXSL <Jim_Albright@xxxxxxxxxxxx> wrote in message news:OFEB5B1B12.8FD1C074-ON85256DBD.00499DAA-85256DBE.000A4F05@xxxxxxxxxxxxxxxx > Thank you for help in the past. Next question. > > Starting with this piece, I want to add a wrapper around a whole set of > lineGroup elements > > <blankLIne> > <lineGroup> > <line></line> > <line></line> > </lineGroup> > <lineGroup> > <line></line> > <line></line> > <lineGroup> > <line></line> > <line></line> > </lineGroup> > <line></line> > </lineGroup> > <p>.......or any non lineGroup element ..... > > should change to > <lineGroup type="stanza"> > <lineGroup> > <line></line> > <line></line> > </lineGroup> > <lineGroup> > <line></line> > <line></line> > <lineGroup> > <line></line> > <line></line> > </lineGroup> > <line></line> > </lineGroup> > </lineGroup> > <p>.......or any non lineGroup element ..... > So a blankLine as preceding-sibling to lineGroup is the trigger to then > process all following-sibling lineGroups. > > A 2.0 solution is welcome if needed. > > > Jim Albright > 704 843-0582 > Wycliffe Bible Translators > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Adding hierarchy, Mukul Gandhi | Thread | [xsl] RE:adding hierarchy, Jim_Albright |
Re: [xsl] Adding hierarchy, Mukul Gandhi | Date | RE: [xsl] xalan <xsl:element name=", David . Pawson |
Month |