Subject: Re: [xsl] Select everything up to and including the first <section> From: "Eliot Kimber ekimber@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 12 Apr 2017 21:30:19 -0000 |
If only section elements can follow intro you can also do: select=b* except (section[preceding-sibling::section])b This transform: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> <xsl:output indent="yes"/> <xsl:template match="/"> <result> <xsl:apply-templates/> </result> </xsl:template> <xsl:template match="chapter"> <xsl:sequence select="* except (section[preceding-sibling::section])"/> </xsl:template> </xsl:stylesheet> Produces this result: <result> <title>Title</title> <intro> <p>Intro</p> </intro> <section/> </result> Cheers, Eliot -- Eliot Kimber http://contrext.com On 4/12/17, 4:19 PM, "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: On 12.04.2017 23:06, Rick Quatro rick@xxxxxxxxxxxxxx wrote: > Hi All, > > Here is my xml: > > <?xml version="1.0" encoding="UTF-8"?> > <chapter> > <title>Title</title> > <intro> > <p>Intro</p> > </intro> > <section></section> > <section></section> > <section></section> > </chapter> > > My context node is the <chapter> element. I want to select everything up to > and including the first <section>. Then one way is section[1]/(preceding-sibling::node(), .) in XSLT 2.0.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Select everything up to a, Rick Quatro rick@xxx | Thread | Re: [xsl] Select everything up to a, Graydon graydon@xxxx |
Re: [xsl] Select everything up to a, Rick Quatro rick@xxx | Date | Re: [xsl] Select everything up to a, Michael Kay mike@xxx |
Month |