Dear All,
I am testing the saxon:get-pseudo-attribute() function in my xslt 1.0
style sheet to generate the HTML view.
My processing-instruction as follows:
<?PAGEBREAK id="PAGE0001" number="i"?>
I want to display the value in in the number attribute in the HTML view
My XSL is as follows:
<xsl:template match="processing-instruction('PAGEBREAK')">
<p><xsl:value-of select="saxon:get-pseudo-attribute('@number')"/></p>
</xsl:template>
this XSL is not generating any info related to number information.
even i tried with the @id then it is displaying the following message:
Warning: on line 162 of file:/D:/ganesh-schemas/xml/gae.xsl:
The attribute axis starting at a processing-instruction node will never select
anything
Please help me in getting the correct result.
Regards,
Ganesh
On 5/31/08, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
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>
--~--
--~------------------------------------------------------------------
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>
--~--