Subject: Re: [xsl] Schema aware XPath 2.0 doubt|
From: John Snelson <john.snelson@xxxxxxxxxx>
Date: Mon, 11 May 2009 10:55:01 +0100
Yes, this would succeed if element x were validated as an element of type xs:date.
The reason is that operators like "gt" that expect an atomic value, if given a node as an argument, will automatically "atomize" the node. This extracts the typed value, which in this case is an atomic value of type xs:date.
From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] Sent: 09 May 2009 05:38
Subject: [xsl] Schema aware XPath 2.0 doubt
Hi all, Let's say, I have following XML document:
And the following XPath 2.0 expression,
 x gt xs:date('2007-12-01')
The evaluation of this expression fails, with non schema aware XSLT 2.0/XPath 2.0 system (as x is not of type xs:date. it's actually an element).
But if we had a Schema aware XSLT 2.0/XPath 2.0 system, and the above XML document was validated with a Schema (with element x being assigned a Schema type xs:date), would the above XPath 2.0 expression succeed in this case (i.e., with a Schema aware XPath 2.0 system)?
The XPath 2.0 specification for operator, op:date-greater-than (ref, http://www.w3.org/TR/xpath-functions/#func-date-greater-than) specifies:
op:date-greater-than($arg1 as xs:date, $arg2 as xs:date) as xs:boolean
which makes me think that, both arguments to the operator 'gt' must be of type xs:date. So the XPath 2.0 expression  would fail in case of Schema aware system also.
Could somebody please clarify this to me.
-- Regards, Mukul Gandhi
-- John Snelson, Oracle Corporation http://snelson.org.uk/john Berkeley DB XML: http://oracle.com/database/berkeley-db/xml XQilla: http://xqilla.sourceforge.net