xsl-list
[Top] [All Lists]

RE: [xsl] checking sequence inside processing-instruction

2008-05-31 00:59:03
You context node in the template is a processing instruction. This path
expression

<xsl:for-each select="processing-instruction()/name()">

attempts to select children of that processing instruction that are
themselves processing instructions. A processing instruction cannot have
children, so Saxon gives you a warning. I don't know what the for-each is
doing there anyway, take it out.

Note also that a processing instruction does not have attributes. id="P001"
might look like an attribute, but it is not. You have to parse the value out
by hand, or by using the saxon:get-pseudo-attribute() extension function,
see

http://www.saxonica.com/documentation/extensions/functions/getpseudoattribut
e.html 

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

-----Original Message-----
From: Ganesh Babu N [mailto:nbabuganesh(_at_)gmail(_dot_)com] 
Sent: 31 May 2008 06:07
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] checking sequence inside processing-instruction

Hai,

I am having some processing instructions which will appear like this.

<?PAGEBREAK id="P001"?>
-------------------
-----------------
<?PAGEBREAK id="P002"?>
-------------
---------------
<?PAGEBREAK id="P003"?>
--------------------
--------------------
<?PAGEBREAK id="P004"?>
------------------------
------------------------
<?PAGEBREAK id="P006"?>


the result should say id="P006" is out of sequence.

<xsl:template match="processing-instruction()">
     <xsl:for-each select="processing-instruction()/name()">
        <xsl:if test="@id != 
following-sibling::processing-instruction()/@id"/>
           
<xsl:message>following-sibling::processing-instruction()/@id
is out of sequence</xsl:message>
        </xsl:if>
     </xsl:for-each>
<xsl:template>

When i compile this sheet with saxon9b, it is showing error 
as processing-instruction can not select anything.

Please help me in solving this problem.

Regards,
Ganesh

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



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

<Prev in Thread] Current Thread [Next in Thread>