Subject: RE: Schema aware XPath 2.0 doubt
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 9 May 2009 10:24:47 +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.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx]
> Sent: 09 May 2009 05:38
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Schema aware XPath 2.0 doubt
>
> Hi all,
> Let's say, I have following XML document:
>
> <x>2008-12-01</x>
>
> And the following XPath 2.0 expression,
>
> [1]
> 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 [1]
> would fail in case of Schema aware system also.
>
> Could somebody please clarify this to me.
>
>
> --
> Regards,
> Mukul Gandhi
|