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.
________________________________________________________________________
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--