Subject: thanks - RE: [xsl] Nodes between two nodes with the same name (ag ain :-( From: "Smirnov, Anatoliy" <anatoliy.smirnov@xxxxxxxxxxx> Date: Wed, 7 May 2003 08:34:02 -0400 |
Americo, Thank you very much. It worked !!! Anatoliy -----Original Message----- From: Américo Albuquerque [mailto:aalbuquerque@xxxxxxxxxxxxxxxx] Sent: Tuesday, May 06, 2003 6:36 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Nodes between two nodes with the same name (again :-( Hi. > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Smirnov, Anatoliy > Sent: Tuesday, May 06, 2003 1:48 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Nodes between two nodes with the same name (again :-( > > > > I need to output all nodes between two nodes with the same > name, so that from the node <h> becomes the HEADER and all > nodes after <h> until the next <h> become the BODY. The > source file is: > > <html> > <body> > > <h> Header </h> > > <p> A </p> > <dl> > <dt> B </dt> > <dt> C </dt> > </dl> > > <h>Header </h> > > <p> D </p> > <dl> > <dt> > <dt> E </dt> > </dt> > </dl> > <p> F </p> > > </body> > </html> > > I need to have this output > > <ROWSET> > <ROW> > <HEADER> Header </HEADER> > <BODY> ABC </BODY> > </ROW> > <ROW> > <HEADER> Header </HEADER> > <BODY> DEF </BODY> > </ROW> > <ROWSET> > Try this: <xsl:template match="/html"> <ROWSET> <xsl:apply-templates select="body/h"/> </ROWSET> </xsl:template> <xsl:template match="h"> <ROW> <HEADER><xsl:apply-templates/></HEADER> <BODY><xsl:apply-templates select="following-sibling::*[generate-id(following-sibling::h[1])=genera te-id(current()/following-sibling::h[1])]"/></BODY> </ROW> </xsl:template> Notice the match="/html" on the first template. This is so I start applying templates only on /html. In this template I set wrapper node <ROWSET> and apply-templates to body/h nodes only. This prevents the text nodes from appearing in between <ROW> nodes. Hope this helps you (...) 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] XSL - JavaScript Return E, Jim Fuller | Thread | [xsl] Xalan won't accept QName in , Kim Thrysøe |
RE: [xsl] Re:XPathAPI: How to assoc, Conal Tuohy | Date | [xsl] Xalan won't accept QName in , Kim Thrysøe |
Month |