RE: [xsl] Processing instruction

Subject: RE: [xsl] Processing instruction
From: "J. S. Rawat" <jrawat@xxxxxxxxxxxxxx>
Date: Thu, 01 Nov 2007 15:11:49 +0530
Thanks Michael !!!

At 09:31 AM 11/1/2007 +0000, you wrote:
>
> So you need to strip the quotes as well.

Which you can do using

select="translate(substring-after($num, '='), '&quot;', '')"

If you want to handle a more general pseudo-attribute syntax in your
processing instructions, there's a rarely-used extension function

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

that allows you to do it directly:

<xsl:template match="processing-instruction('docpage')">
  <xsl:processing-instruction name="page">
    <xsl:value-of select="saxon:get-pseudo-attribute('num')"
xmlns:saxon="http://saxon.sf.net/"/>
  </xsl:processing-instruction>
</xsl:template>

Michael Kay
http://www.saxonica.com


> > On 01/11/2007, J. S. Rawat <jrawat@xxxxxxxxxxxxxx> wrote: > > Hi List, > > Would anybody help me to get the required result. > > > > Processor: Saxon.exe > > > > INPUT > > <?docpage num="337"?> > > > > REQUIRED OUTPUT > > <?page 337?> > > > > XSLT > > <xsl:template match="processing-instruction('docpage')"> > > <xsl:variable name="num" select="."/> > > <xsl:variable name="num1" > select="substring-after($num, '=')"/> > > <xsl:processing-instruction > name="page"><xsl:value-of > > select="$num1"/></xsl:processing-instruction> > > </xsl:template> > > > > Result of above XSLT is <?page "337"?> > > > > thanks > > ...JSR

Current Thread