xsl-list
[Top] [All Lists]

Re: [xsl] Test processing instruction as first preceding sibling

2008-12-09 11:04:12


In this case it should return true.

This implies that you wish to ignore white space text nodes, otherwise
the immediately preceding node is a text node not a PI.



preceding-sibling::*[1]

* matches element nodes, you want


preceding-sibling::node()[1]

then to test if that is a PI, you can do

preceding-sibling::node()[1]/self::processing-instruction('proc')

This wil work for examppl eif you have already removed the white space
with 
<xsl:strip-space elements="*"/>
if you can not remove the white space as it is needed elsewhere the test
needs to be

preceding-sibling::node()[not(text()[not(normalize-space())])][1]/self::processing-instruction('proc')

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>
--~--