[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] How to use the same expression in a match and a select test


Subject: Re: [xsl] How to use the same expression in a match and a select test
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 3 Dec 2007 13:44:31 GMT

for the job of lifting block elements out of html p I'd use
for-each-group rather than for-each (as you are using xslt2)
but to answer your question you can use a function

<xsl:function name="my:is-block" as="xs:boolean">
<xsl:param name="e" as="xs:element"/>
<!-- normally I'd use self:: here to be more namespace aware but given
you are doing case insensitive matching, I'd do this-->
<xsl:sequence select="lower-case(local-name($e))=(
'body','div',........')"/>
</xsl:function>




so you can then use

match="*[not(my:is-block(.))]"

David


________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________


Current Thread