[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Variable Array extract
Subject: Re: [xsl] Variable Array extract From: David N Bertoni/Cambridge/IBM <david_n_bertoni@xxxxxxxxxx> Date: Mon, 5 Aug 2002 11:20:32 -0700 |
Actually, the monthnames element cannot have a null namespace URI. From section 2.2: http://www.w3.org/TR/xslt#stylesheet-element "In addition, the xsl:stylesheet element may contain any element not from the XSLT namespace, provided that the expanded-name of the element has a non-null namespace URI." So: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:foo="http://foo.com" exclude-result-prefixes="foo"> <foo:monthnames> <month number="1">January</month> <month number="2">Febuary</month> <month number="3">March</month> <month number="4">April</month> <month number="5">May</month> <month number="6">June</month> <month number="7">July</month> <month number="8">August</month> <month number="9">September</month> <month number="10">October</month> <month number="11">November</month> <month number="12">December</month> </foo:monthnames> <xsl:template match="/"> <out> <xsl:value-of select="document('')/xsl:stylesheet/foo:monthnames"/> </out> </xsl:template> </xsl:stylesheet> Dave Mike Brown <mike@xxxxxxxx> Sent by: owner-xsl- To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx list@xxxxxxxxxxxxxxxxxxx cc: (bcc: David N Bertoni/Cambridge/IBM) com Subject: Re: [xsl] Variable Array extract 08/05/2002 10:53 AM Please respond to xsl-list 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> > <month number="4">April</month> > <month number="5">May</month> > <month number="6">June</month> > <month number="7">July</month> > <month number="8">August</month> > <month number="9">September</month> > <month number="10">October</month> > <month number="11">November</month> > <month number="12">December</month> > </xsl:variable> > > <xsl:variable name="month" select="number(substring(//Date,5,2))"/> > <xsl:value-of select="$month"/> > <xsl:value-of select="$monthnames/month[@number=$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: > > "An error occurred while getting or processing the formatter for XML to HTML > conversion." > > What am I doing wrong? Your variable is a result tree fragment, a type of object that is like a node-set but upon which you can only perform string operations. You can convert it to a node-set with the exsl:node-set($monthnames) extension function or your XSLT processor's equivalent, if it doesn't support EXSLT. 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> ... </monthnames> ...and then access it as a true node-set: document('')/xsl:stylesheet/monthnames - Mike ____________________________________________________________________________ mike j. brown | xml/xslt: http://skew.org/xml/ denver/boulder, colorado, usa | resume: http://skew.org/~mike/resume/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Variable Array extract, Michael Kay | Thread | [xsl] [announce] Lucid XML Server P, Announce @ Lucid'i.t |
RE: [xsl] need help explaining one , sara . mitchell | Date | Re: [xsl] Variable Array extract, Thomas B. Passin |
Month |