[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

parsing dates

Michael Kay mike at saxonica.com
Tue Oct 6 08:09:56 PDT 2009


  parsing dates
I don't know if eXist has any schema support. If it does, you can define a
type genericDate that is a union of xs:date, xs:gYearMonth, and xs:gYear.
You can't cast to the union type (sadly) but you can construct an element
and validate against a schema that defines the element as a union type, and
then atomize.

OK, that's a bit longwinded. Sorry!

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 
 

> -----Original Message-----
> From: http://x-query.com/mailman/listinfo/talk 
> [mailto:http://x-query.com/mailman/listinfo/talk] On Behalf Of James Cummings
> Sent: 06 October 2009 00:05
> To: http://x-query.com/mailman/listinfo/talk
> Subject:  parsing dates
> 
> Hi there,
> 
> I've a silly question about the best way to parse dates.  I'm 
> passing a parameter (in eXist) that is part of the URL for an 
> xquery and I want to separate it into its individual parts of 
> year month and day. I could test the string and do 
> substring-before and after and such, or create my own 
> function, but it seemed better practice to use the functions 
> like year-from-date and month-from-date.  So I tried:
> 
> let $date := request:get-parameter("date", ("1789-01-01")) 
> cast as xs:date let $year := fn:year-from-date($date) let 
> $month := fn:month-from-date($date) let $day := 
> fn:day-from-date($date)
> 
> which works fine when the date is YYYY-MM-DD.  But what I 
> want to achieve is being able to handle YYYY-MM-DD, YYYY-MM 
> or just YYYY.  The last two give me an error of "xs:date must 
> not have hour, minute or second fields set" (erm... which it 
> doesn't, which is why I'm confused). I'm happy for $month and 
> $day to be empty if they don't exist.
> 
> I'm sure it is something terribly obvious with the datatype.  
> Should I just be breaking it down to its component parts 
> myself?  It just seemed like I was reinventing the wheel.
> 
> Thanks for any suggestions.
> 
> -James
> _______________________________________________
> http://x-query.com/mailman/listinfo/talk
> http://x-query.com/mailman/listinfo/talk



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-2011 All Rights Reserved.