Subject: RE: [xsl] Separate same level elements on a criteria From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 19 Jan 2007 22:31:20 -0000 |
You can process all the children other than those in the group starting with <head>TOC</head> like this: <xsl:for-each-group select="*" group-starting-with="head"> <xsl:apply-templates select="if (.='TOC') then () else current-group()"/> </xsl:for-each-group> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Spencer Tickner [mailto:spencertickner@xxxxxxxxx] > Sent: 19 January 2007 20:31 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Separate same level elements on a criteria > > Hi Group, > > I'm wondering if anyone has a slick way of solving this > problem. I have an xml document like: > > <root> > <head_document>Title</head_document> > <para>This is a paragraph</para> > <bold_para>This is a paragraph</bold_para> > <head>TOC</head> > <section>1. Title</section> > <section>2. Title</section> > <head>Heading 1</head> > <paragraph_indent>This is a paragraph</paragraph_indent> > <paragraph_outdent>This is a paragraph</paragraph_outdent> > <head>Heading 2</head> > <paragraph>This is a paragraph</paragraph> > <chart>This is a chart</chart> > </root> > > Basically I'm making a bunch of html documents from this xml > document and a table of contents. Table of contents is easy > (I need to grab the <head_document> element and skip the > <head>TOC</head> element): > > <xsl:template match="root" mode="toc"> > <ul> > <xsl:for-each select="head_document|head[not(contains(., > 'TOC'))]"> <li>Do Something</li> </xsl:for-each> </ul> </xsl:template> > > > Ok, so that all works great, I now have to do something > similar to above but apply-templates to all the elements that > belong with the heads I want. ie: <head_document> down to > <head>, skip <head>TOC</head>, next <head> element down to > the next <head> element, repeat. > > Any ideas on how to do this would be very helpful. I thought > group-by would probably be the answer but so far my research > hasn't turned up anything. > > Thanks, > > Spencer
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Separate same level eleme, Abel Braaksma | Thread | Re: [xsl] Separate same level eleme, Spencer Tickner |
Re: [xsl] Separate same level eleme, Abel Braaksma | Date | Re: [xsl] XPath 2.0 Regex misunders, Abel Braaksma |
Month |