This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Variable Array extract
- From: "Thomas B. Passin" <tpassin at mitretek dot org>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 5 Aug 2002 14:40:44 -0400
- Subject: Re: [xsl] Variable Array extract
- References: <200208051753.g75Hrti2082215@chilled.skew.org>
- Reply-to: xsl-list at lists dot mulberrytech dot com
[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