Subject: Re: [xsl] checking sequence inside processing-instruction From: "Ganesh Babu N" <nbabuganesh@xxxxxxxxx> Date: Thu, 3 Jul 2008 10:19:48 +0530 |
Hai all I am having another question on this post. In another project I have encountered a processing instruction as <?page 5?> in this how can i get the value 5 in a test to check the sequence with other pages. <?page 5?> <?page 6?> <?page 8?> The style sheet should tell <?page 8?> is out of sequence. 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 -> |
---|---|---|
[xsl] ANN: Complete Balisage 2008 P, B Tommie Usdin | Thread | RE: [xsl] checking sequence inside , Michael Kay |
[xsl] ANN: Complete Balisage 2008 P, B Tommie Usdin | Date | [xsl] Validation XSLT using XSLT 1., Ganesh Babu N |
Month |