[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Schema aware XPath 2.0 doubt

Subject: Re: Schema aware XPath 2.0 doubt
From: John Snelson <john.snelson@xxxxxxxxxx>
Date: Mon, 11 May 2009 10:55:01 +0100
Re:  Schema aware XPath 2.0 doubt
This is one of the good reasons to use general comparisons (">" rather than "gt"). A general comparison will also succeed in comparing the value from a document that hasn't been schema validated. In that case the atomic value extracted from the XML document will have a type of xs:untypedAtomic, which the general comparison will automatically cast to the type of the other value compared - in this case an xs:date.

John

Michael Kay wrote:
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



--
John Snelson, Oracle Corporation            http://snelson.org.uk/john
Berkeley DB XML:            http://oracle.com/database/berkeley-db/xml
XQilla:                                  http://xqilla.sourceforge.net

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.