At 2003-06-11 16:38 -0400, Robert P. J. Day wrote:
//sales[string(number(current()))='NaN']
just to make sure, i'm assuming the "current()" part is
redundant, since number() will use the string-value of the
context node if there is no argument. do i understand
that correctly?
No, I'm afraid you don't. The current() function returns the node that was
the current node at the beginning of the XPath evaluation ... which could
be anywhere given this example XPath expression is starting at the root.
It is *very* useful at times when the current node is the middle of the
expression isn't what you need, and would be returned if you just used
".". In the above example "." is a <sales> element. The current node at
the start of the expression is most likely not a <sales> element in the
above example (though of course it might be).
if so, i assume that that was just put in for aesthetics.
Not at all ... current() is an XSLT function and there is no way in XPath
to make reference to that node that was current at the beginning of
expression evaluation.
I hope this helps.
............ Ken
--
Upcoming hands-on courses: (registration still open!)
- (XSLT/XPath and/or XSL-FO) North America: June 16-20, 2003
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners: http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list