Re: [xsl] Xpath question with processing-instruction()

Subject: Re: [xsl] Xpath question with processing-instruction()
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Thu, 19 Aug 2010 19:59:46 +0200
Ylvisaker, Steve wrote:
I know I can do this but I'm stumped.

Please consider the following XML:

<section>
<?ModuleStart ShowIDs="yes"?>
<title>Text of a title</title>
<para>para in the section</para>
</section>



I am current to the text() node of <title/>

I need to test to see if my parent has an immediate preceding sibling of processing-instruction named "ModuleStart"

If so I need to know the content of that PI.


I need to be sure that the test will NOT be true if I am current with the text() node of <para/>

Well if we take white space text nodes into account then the title element is not immediately preceded by a processing instruction, rather by a text node. So maye
<xsl:variable name="n" select="../preceding-node()[not(self:text(normalize-space()))][1][self::processing-instruction()]"/>
<xsl:if test="$n">
<xsl:value-of select="$n"/>
</xsl:if>
--


	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/

Current Thread