This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Peculiar variable assignment
- To: XSL-List at mulberrytech dot com
- Subject: Peculiar variable assignment
- From: Jeni Tennison <Jeni dot Tennison at epistemics dot co dot uk>
- Date: Tue, 23 May 2000 12:24:23 +0100
- Reply-To: xsl-list at mulberrytech dot com
Hi,
In answering Cheun Ngen CHONG's question about comparing dates, I ran into
a couple of problems that have left me puzzled (other one is in separate
email).
I had to convert a date in a string in the form "23 May 2000" into a number
twice, once for a parameter passed into the stylesheet, and once for the
value of a BESTBEFORE element. Part of that involved converting the month
name into a month number. In doing this, I came across a discrepancy that
probably has something to do with the differences between the values of
node-lists and strings, but that I really don't understand, viz:
<xsl:variable name="bbString" select="BESTBEFORE" />
<xsl:variable name="bbMonth"
select="document('')//foo:month[@name =
substring-before(substring-after($bbString, ' '), ' ')]/@num" />
gives $bbMonth = "05" whereas:
<xsl:variable name="bbMonth"
select="document('')//foo:month[@name =
substring-before(substring-after(BESTBEFORE, ' '), ' ')]/@num" />
gives $bbMonth = "", as does:
<xsl:variable name="bbMonth"
select="document('')//foo:month[@name =
substring-before(substring-after(string(BESTBEFORE), ' '), ' ')]/@num" />
Please could someone explain this discrepancy to me. I'm using Instant
SAXON v.5.3.1, if that makes any difference.
Thanks,
Jeni
Dr Jeni Tennison
Epistemics Ltd, Strelley Hall, Nottingham, NG8 6PE
Telephone 0115 9061301 • Fax 0115 9061304 • Email
jeni.tennison@epistemics.co.uk
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list