This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Are these two the equivalent?


On Sun, 14 Oct 2001 14:25:29 +0200, Nicholas Waltham wrote:

>Hello All,
>I have two ways of what I think should achieve the same result
>
>Example 1 gives me what I want, Example 2 does not. To me they are the
>same...If they are different, could someone explain to me why the second
>does not give me what I want.
>
In XSLT '|' is the union operator, and its operands must be node-sets.
@style='L1' yields a boolean, so the second example isn't even legal -
your processor should be giving you an error message to that effect.
You probably mean ' or ' here rather than '|'.

With that change, the two look the same to me though the second will
probably run faster.  Could be wrong though, I did not spend much time
on it.  preceding-sibling::p[last()] is also the same as ../p[1] (the
first p child of this node's parent) is that what you meant?

Its handy to know that XPath expressions (and XML attributes in
general) can have white space in them, including newlines.  Use them!

>Thanks in advance,
>Nicholas Waltham
>
>
>
>
>Example 1:
><xsl:template
>match="p[@style='L1'][preceding-sibling::p[last()][@style='L1']|preceding-si
>bling::p[last()][@style='L2']|preceding-sibling::p[last()][@style='L3']]">
><xsl:apply-templates/>
></xsl:template>
>
>Example 2:
><xsl:template
>match="p[@style='L1'][preceding-sibling::p[last()][@style='L1'|@style='L2'|@
>style='L3']]">
><xsl:apply-templates/>
></xsl:template>
>
>

Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email

Melvaig Software Engineering Limited
voice:     +44 (0) 1445 771 271 
email:     tcn@melvaig.co.uk

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]