You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by "Gerhard Kozuschek (JIRA)" <xe...@xml.apache.org> on 2009/06/16 23:48:07 UTC

[jira] Closed: (XERCESJ-1379) Validating throws exception on correct xs:datetime values representing a leap second

     [ https://issues.apache.org/jira/browse/XERCESJ-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gerhard Kozuschek closed XERCESJ-1379.
--------------------------------------


> Validating throws exception on correct xs:datetime values representing a leap second
> ------------------------------------------------------------------------------------
>
>                 Key: XERCESJ-1379
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1379
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: JAXP (javax.xml.validation)
>    Affects Versions: 2.9.1
>         Environment: Java-SE-6u13 and u14
>            Reporter: Gerhard Kozuschek
>
> W3C and ISO-8601 explicitely names and allows the value 60 for seconds, when the datetime defines a leap second.
> Xerces' "org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.validateDateTime(DateTimeData data)" rejects such datetime values.
> My test XML schema is:
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>     elementFormDefault="unqualified" attributeFormDefault="unqualified">
>     <xs:element name="leapSecond" type="xs:dateTime"/>
> </xs:schema>
> My test XML document is:
>     <?xml version="1.0" encoding="UTF-8"?>
>     <leapSecond xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>         xsi:noNamespaceSchemaLocation="usingLeapSecond.xsd"
>         >2008-12-31T23:59:60.000000Z</leapSecond>
> Variants ending with "...59:60Z" or "...59:60.000Z" are also rejected.
> "DocumentTracer.java" prints:
> MS-WiXP>java -jar DocumentTracer.jar -v -s -f ..\src\sample_60.000000Z.xml
> setDocumentLocator(locator=org.apache.xerces.parsers.AbstractSAXParser$LocatorProxy@19efb05)
> startDocument()
>  startPrefixMapping(prefix="xsi",uri="http://www.w3.org/2001/XMLSchema-instance")
>  startElement(uri="",localName="leapSecond",qname="leapSecond",attributes={{uri="http://www.w3.org/2001/XMLSchema-instance",localName="noNamespaceSchemaLocation",qname="xsi:noNamespaceSchemaLocation", type="CDATA",value="usingLeapSecond.xsd"}}) characters(text="2008-12-31T23:59:60.000000Z")
> [Error] sample_60.000000Z.xml:4:43: cvc-datatype-valid.1.2.1: '2008-12-31T23:59:60.000000Z' is not a valid value for 'dateTime'.
> [Error] sample_60.000000Z.xml:4:43: cvc-type.3.1.3: The value '2008-12-31T23:59:60.000000Z' of element 'leapSecond' is not valid.
>  endElement(uri="",localName="leapSecond",qname="leapSecond")
>  endPrefixMapping(prefix="xsi")
> endDocument()
> Leap seconds are very important for us. We are not randomely using them, but in fact naming them in our XML documents. Therefore, this exception when validating is a BLOCKER for us.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org