|
Subject: Re: [xsl] Inserting Elements with XSL From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Mon, 4 Jun 2001 09:20:46 +0100 |
Hi Joerg,
> I tried
>
> <xsl:template match="(a|b|c|d|e)[not(following-sibling::b|following-sibling::c|
> following-sibling::d|following-sibling::e|following-sibling::f)]">
> <xsl:copy-of select="."/>
> <f/>
> </xsl:template>
>
> but this is apparently not a valid match pattern (saxon 6.3 complains).
> And it's not really more comprehensible.
>
> Using
> <xsl:template match="*[(name()='a' or name()='b' or ...)
> and not(following-sibling::*[name()='b' or ...])]">
> <xsl:copy-of select="."/>
> <f/>
> </xsl:template>
>
> isn't all that much more attractive either.
Well, your match pattern above is the same as:
*[self::a or self::b or self::c or self::d or self::e or self::f]
[not(following-sibling::*
[self::a or self::b or self::c or self::d or self::e or
self::f])]
This will match any a, b, c, d, e or f element that doesn't have a
following a, b, c, d, e or f element as a sibling. In other words, it
matches the last a, b, c, d, e or f element within its parent. A
simpler way of doing that would be:
*[self::a or self::b or self::c or self::d or self::e or self::f]
[last()]
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Inserting Elements with X, David Carlisle | Thread | Re: [xsl] Inserting Elements with X, Joerg Pietschmann |
| Re: [xsl] RE: XSL and White Space h, Michael Beddow | Date | [xsl] <xsl:sort> not working under , Shaun Lizzio |
| Month |