Subject: RE: Test processing instruction as first preceding sibling
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 9 Dec 2008 16:09:27 -0000
|
> I have a doubt about testing preceding-sibling
> processing-instruction.
> I have this xml:
>
> <root>
> <child1>
> child 1
> </child1>
> <?proc?>
> <child2>
> child 2
> </child2>
> </root>
>
> And I need to know if child2 has the first
> preceding-sibling as a processing-instruction.
This needs care because the immediately preceding sibling is actually a
whitespace text node. If you've used xsl:strip-space to remove such text
nodes, it's
test="preceding-sibling::node()[1][self::processing-instruction()]"
but if you need to ignore such text nodes then it's
test="preceding-sibling::node()[not(self::text()[normalize-space()=''])][1][
self::processing-instruction()]"
Michael Kay
http://www.saxonica.com/
|