xsl-list
[Top] [All Lists]

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

2008-12-09 11:09:52

        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/


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