Re: [xsl] Variable Array extract

Subject: Re: [xsl] Variable Array extract
From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx>
Date: Mon, 5 Aug 2002 14:40:44 -0400
[Mike Brown]

> Alvin York wrote:
> >
> > I have the following code snippet in an XSLT stylesheet that is
converting
> > XML to HTML:
> >
> > <xsl:variable name="monthnames">
> >   <month number="1">January</month>
> >   <month number="2">Febuary</month>
> >   <month number="3">March</month>
>>///

> > The line <xsl:value-of select="$month"/> prints the month number just
fine,
> > but the next line (trying to print the month name) gives me this error:
> >

> A more portable way is to not use xsl:variable and just embed the lookup
data
> in the stylesheet. Put this at the top level of the stylesheet (before the
> first template, typically)...
>
>   <monthnames>
>     <month number="1">January</month>
>...

Actually, this won't quite work as is, because toplevel elements in the
stylesheet have to be in some namespace.  You can use a dummy namespace you
make up just for this, but you can avoid having to do so by keeping the
original xsl:variable element and getting at the month names using good old
document(""), like this:

<xsl:variable name='month-lookup'
select='document("")/xsl:stylesheet/xsl:variable[@name="monthnames"]/month'/
>

(Of course, if you have no other xsl:variable elements you can omit the
predicate in the square brackets).

Cheers,

Tom P



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


Current Thread