[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: ANN: Portable Data Component -- start/end
Hi Mukul, > <xs:assert test="if (exists(end)) then (end gt start) else true()" /> Actually, that was my first attempt. However, SAXON gave me an error on this data: <flight> <start>2007-07-08T16:00:00+08:00</start> <end>2007-07-08T14:00:00-05:00</end> </flight> Error: "flight does not match the assertion" That's why I formulated the assertion as I did, with type checking and type casting. /Roger -----Original Message----- From: Mukul Gandhi [mailto:gandhi.mukul@gmail.com] Sent: Saturday, April 16, 2011 8:06 PM To: Costello, Roger L. Cc: xml-dev@lists.xml.org Subject: Re: ANN: Portable Data Component -- start/end Hi Roger, Nice example. There's a minor suggestion though. On Sat, Apr 16, 2011 at 10:34 PM, Costello, Roger L. <costello@mitre.org> wrote: > Â Â Â Â <xs:assert test=" > Â Â Â Â Â Â Â if (exists(end)) then > Â Â Â Â Â Â Â Â Â if (start castable as xs:dateTime) then > Â Â Â Â Â Â Â Â Â Â Â xs:dateTime(end) gt xs:dateTime(start) > Â Â Â Â Â Â Â Â Â else if (start castable as xs:date) then > Â Â Â Â Â Â Â Â Â Â Â xs:date(end) gt xs:date(start) > Â Â Â Â Â Â Â Â Â else if (start castable as xs:time) then > Â Â Â Â Â Â Â Â Â Â Â xs:time(end) gt xs:time(start) > Â Â Â Â Â Â Â Â Â else true() > Â Â Â Â Â Â Â else true()" /> Since "start" and "end" are typed nodes during assertion evaluation, I think the above assert expression can be written as follows, <xs:assert test="if (exists(end)) then (end gt start) else true()" /> -- Regards, Mukul Gandhi
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|