[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Schema aware XPath 2.0 doubt


Subject: RE: [xsl] 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: [xsl] 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


Current Thread
Keywords