| Subject: Re: [xsl] checking sequence inside processing-instruction From: "Ganesh Babu N" <nbabuganesh@xxxxxxxxx> Date: Mon, 11 Aug 2008 17:47:19 +0530 | 
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@xxxxxxxxxxxx> 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@xxxxxxxxx]
>> Sent: 31 May 2008 06:07
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> 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
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] XSL: Print Euro, Pierre MacKay | Thread | RE: [xsl] checking sequence inside , Houghton,Andrew | 
| RE: [xsl] XSL: Print Euro, Pankaj Chaturvedi | Date | RE: [xsl] XSL: Print Euro, Sathasivam, Elayaraj | 
| Month |