[ 
https://issues.apache.org/jira/browse/JCR-1386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12568951#action_12568951
 ] 

Jukka Zitting commented on JCR-1386:
------------------------------------

Note that the date format implemented in the ISO8601 class is the strict 
ISO8601 subset described in the JCR standard. Relaxing that might be a good 
idea for many places, but it would probably be better to add a separate method 
for that so we can evaluate case-by-case whether using a liberal date parser is 
OK.

Another issue, your patch mixes formatting, structural, and functional changes. 
For example you've switched to using a StringTokenizer in the parser, which 
might be a good idea, but which makes it necessary to review not only the 
changes to relax the date parsing, but the entire new parsing mechanism. It 
would be nicer if you only included functional changes here, and submitted 
ideas for improved formatting and code structure in a separate improvement 
issue.

> Not full parsing of ISO8601 date/time format that may cause import of XML to 
> fail
> ---------------------------------------------------------------------------------
>
>                 Key: JCR-1386
>                 URL: https://issues.apache.org/jira/browse/JCR-1386
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-jcr-commons, xml
>    Affects Versions: 1.4
>            Reporter: Andrey Adamovich
>         Attachments: ISO8601.java.patch, ISO8601Test.java
>
>
> Currently Jackrabbit allows only strict string values for date fields. The 
> weak point is at handling milliseconds. JR allows only strictly 3 digits, but 
> according to ISO8601 and to XML Schema data types definition milliseconds can 
> be any number of digits and it just defines fractional part of the second.
> So, these are valid date strings which will not be validated by JackRabbit, 
> but they are valid according to ISO8601 and also will be validated by XML 
> Schema if selected data type is xs:dateTime:
> 2008-01-01T00:00:00
> 2008-01-01T00:00:00.0
> 2008-01-01T00:00:00.00
> 2008-01-01T00:00:00.1234
> 2008-01-01T00:00:00.1111111
> Another weak point is that time part is not mandatory as well according to 
> ISO8601, so, these dates are also valid ISO8601 and also will be validated by 
> XML Schema if selected data type is xs:date;
> 2008-01-01
> 2008-02-01
> 2008-03-01

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to