[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Michael Kay" <mike@s...>
  • To: "'Long JingJun'" <longjingjun@y...>,<xml-dev@l...>
  • Date: Tue, 9 Jan 2007 08:46:20 -0000

> I have the following PI in the XML document:
> 
> <?page page_number='1' width='2000'?>
> 
> I want to retrieve the PI's pseudo-attribute in XSLT 
> stylesheet. I tried:
> 
> <xsl:template match="processing-instruction('page)">
>     <xsl:value-of select="@page_number"> </xsl:template>
> 
> This does NOT work. Because attributes are not really 
> attributes in PI.
> 
> I tried the following method:
> <xsl:template match="processing-instruction('page_start')">
>         <xsl:variable name="page_number" 
> select='substring-before(substring-after(., 
> "page_number=&apos;"), "&apos;")'/> </xsl:template>
> 
> Yes, this works. But this seems not the best way.
> 
> So, my question is:
> Is there a standard way in XML/XSLT to retrieve PI's 
> attribute? If not,  is there any plan to handle this in 
> XML/XSLT standard?

There's no standard way.

Saxon has an extension function:

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

Because there's no standard for the internal structure of a processing
instruction, you're unlikely to get a standard way to access the internal
structure.

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



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member