RE: [xsl] Is PI a real node?

Subject: RE: [xsl] Is PI a real node?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 9 May 2007 14:57:03 +0100
It might help to provide a complete (but minimal) source document and
stylesheet to demonstrate the problem.

Michael Kay
http://www.saxonica.com/

 

> -----Original Message-----
> From: Emily.Garrett@xxxxxxxxxxx [mailto:Emily.Garrett@xxxxxxxxxxx] 
> Sent: 09 May 2007 14:49
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Is PI a real node?
> 
>  Hi, I hope someone can explain this to me.
> 
> In the following statements:
> 
> <xsl:template match="@*|node()" priority="1">
> 		<xsl:message terminate="no">NODENAME:!<xsl:value-of
> select="name()"/>!</xsl:message>
> 		<xsl:message terminate="no">NODEVAL:!<xsl:value-of
> select="normalize-space(.)"/>!</xsl:message>
> 		<xsl:choose>
> 		<xsl:when
> test="self::processing-instruction('TL_XSL')[ends-with(.,'Ch.C
> lo.KT.A.Au
> to')]">
> 				<xsl:message terminate="no">NAME OF
> NODEKT.A.Auto:!<xsl:value-of select="name()"/>!</xsl:message>
>             </xsl:when>
>             </xsl:choose>
> 
> The value that displays for the name() for NODENAME is the
> processing-instruction name, TL_XSL.   However, for the NAME OF
> NODEKT.A.Auto, the value of name() is the parent element of the
> processing-instruction.   This is the way the XSL processes, 
> and I don't
> understand why.
> 
> I am generating elements to be output before and after the 
> PI, but it is outputting before and after the parent element 
> of the PI instead.
> 
> Thanks.
> Emily

Current Thread