|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Select everything up to and including the first <
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.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








