Subject: Re: [xsl] grabbing chunks of preceding-siblings between tables From: "Spencer Tickner" <spencertickner@xxxxxxxxx> Date: Thu, 4 Oct 2007 11:22:37 -0700 |
Hi Everyone, Thanks for the great suggestions. Got it working perfect. Cheers, Spencer On 10/4/07, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote: > Here is another XSLT 1.0 solution: > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> > > <xsl:output method="xml" indent="yes" /> > > <xsl:template match="root"> > <root> > <xsl:for-each select="table"> > <xsl:variable name="x" select="generate-id()" /> > <table> > <xsl:copy-of > select="preceding-sibling::*[generate-id(following-sibling::table[1]) > = $x][not(self::table)]" /> > <xsl:copy-of select="*" /> > </table> > </xsl:for-each> > </root> > </xsl:template> > > </xsl:stylesheet> > > On 10/4/07, Spencer Tickner <spencertickner@xxxxxxxxx> wrote: > > Hi List, > > > > Thanks in advance for the help. I'm doing some pre-processing of a XML > > Dump of tables. I'm trying to associate header information in the > > table to the table itself. I'm having difficulty figuring out how to > > do this.. Anyway, examples always seem to say it better (XSLT 2.0 is > > fine): > > > > XML > > > > <?xml version="1.0"?> > > <root> > > <title1>Title for Table 1</title1> > > <title2>sub-title for Table 1</title2> > > <caption>Caption for Table 1</caption> > > <para_norm>Any number of different paragraphs that belong with Table > > 1</para_norm> > > <table> > > <cell>Foo</cell> > > <cell>Bar</cell> > > </table> > > <title2>Table 2 only has subtitle</title2> > > <caption>Caption for Table 2</caption> > > <para_diff>Any number of different paragraphs that belong with Table > > 2</para_diff> > > <table> > > <cell>Foo</cell> > > <cell>Bar</cell> > > </table> > > <title1>Title for Table 3</title1> > > <title2>sub-title for Table 3</title2> > > <caption>Caption for Table 3</caption> > > <para_norm>Any number of different paragraphs that belong with Table > > 3</para_norm> > > <table> > > <cell>Foo</cell> > > <cell>Bar</cell> > > </table> > > </root> > > > > Desired XML Output: > > > > <?xml version="1.0"?> > > <root> > > <table> > > <title1>Title for Table 1</title1> > > <title2>sub-title for Table 1</title2> > > <caption>Caption for Table 1</caption> > > <para_norm>Any number of different paragraphs that belong with Table > > 1</para_norm> > > <cell>Foo</cell> > > <cell>Bar</cell> > > </table> > > <table> > > <title2>Table 2 only has subtitle</title2> > > <caption>Caption for Table 2</caption> > > <para_diff>Any number of different paragraphs that belong with Table > > 2</para_diff> > > <cell>Foo</cell> > > <cell>Bar</cell> > > </table> > > <table> > > <title1>Title for Table 3</title1> > > <title2>sub-title for Table 3</title2> > > <caption>Caption for Table 3</caption> > > <para_norm>Any number of different paragraphs that belong with Table > > 3</para_norm> > > <cell>Foo</cell> > > <cell>Bar</cell> > > </table> > > </root> > > > > I've tried a number of different things, but can't seem to translate > > "Take all elements between <table> and add as child to following > > <table>" into XSLT. Any help would be greatly appreciated. > > > > Thanks, > > > > Spencer > > > -- > Regards, > Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] grabbing chunks of preced, Mukul Gandhi | Thread | [xsl] selecting a node to concatena, Aaron Johnson |
RE: [xsl] selecting a node to conca, cknell | Date | Re: [xsl] Selecting similar XML nod, Wendell Piez |
Month |