jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1386) Not full parsing of ISO8601 date/time format that may cause import of XML to fail
Date Thu, 14 Feb 2008 14:51:08 GMT

    [ 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.


Mime
View raw message