[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] fetch value from processing instruction


Subject: Re: [xsl] fetch value from processing instruction
From: Oleg Tkachenko <olegt@xxxxxxxxxxxxx>
Date: Fri, 18 Apr 2003 18:46:56 +0300

rondeelvantrigt wrote:

In my XSLFO file I need a value from a processing instruction for retrieval
by a marker.
The processing instruction contains several values within quotes like:
<?p="1" a="2" b="3"?>
btw, it's ill-formed processing instruction, it should be something like
<?pitarget p="1" a="2" b="3"?>

I created variables to fetch the values but can't get rid of the quotes.
What I need is just the numerical value without the quotes.

For example to fetch the value of p (I want the 1):
<xsl:variable name="info1" select="substring-after(.,'p=')"/>
<xsl:variable name="page.num" select="substring-before($info1,'"')"/>

However, in this second line I cannot use the " quote, so I tried:
<xsl:variable name="quote">"</<xsl:variable>
and then used:
<xsl:variable name="page.num" select="substring-before($info1,'$quote')"/>
but I still do not get the single number 1.

Try
<xsl:variable name="info1" select="substring-after(.,'p=')"/>
<xsl:variable name="page.num" select="substring-before(substring-after($info1,'&quot;'),'&quot;')"/>


PS. btw, which application generates such processing instruction?
--
Oleg Tkachenko
http://www.tkachenko.com/blog
Multiconn Technologies, Israel


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread