Subject: Re: [xsl] Hash / Translation Tables (the right way) From: Michael Kay <mike@xxxxxxxxxxxx> Date: Mon, 26 Sep 2011 00:00:29 +0100 |
At 2011-09-25 23:35 +0100, Michael Kay wrote:That's common practice but I've never seen any advantage over using a separate document.
Another approach is to have a document months.xml
<months> <month name='January' abbr='jan' num='01'/> <month name='February' abbr='feb' num='02'/> ... </months>
then
document('months.xml')/months/month[@abbr=lower-case($mon)]/@num
(or instead of a separate document you can put the lookup table in a global variable in the stylesheet; but with XSLT 1.0 this relies on the node-set() function.)
It can also be done in XSLT 1.0 without extensions by putting the structure in a namespace at the top level of the stylesheet:
<hank:months> <month name='January' abbr='jan' num='01'/> <month name='February' abbr='feb' num='02'/> ... </hank:months>
... and using the document() function:
document('')/*/hank:months/month[@abbr=lower-case($mon)]/@num
I hope this helps.
Michael Kay Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Hash / Translation Tables, Hank Ratzesberger | Thread | Re: [xsl] Hash / Translation Tables, G. Ken Holman |
Re: [xsl] Hash / Translation Tables, G. Ken Holman | Date | Re: [xsl] Hash / Translation Tables, G. Ken Holman |
Month |