xerces-j-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mukul Gandhi <muk...@apache.org>
Subject Re: Xerces-J 2.12.0 vs. Saxon: XSD 1.1 gYearMonth comparison is failing
Date Sat, 18 Aug 2018 05:37:31 GMT
Hi Yitzhak,
    I think, it would be ok if any bugs found for Eclipse / PsychoPath
XPath 2.0 processor in our 2.12.0 release, should be reported in Xerces
Jira. That would help us maintain the list of bugs in general. I hope we'll
find an appropriate way to fix these bugs in near future.

You could create the Xerces Jira issues, for the Eclipse / PsychoPath XPath
2.0 bugs you've found so far that we've discussed in recent threads.

On Wed, Aug 8, 2018 at 8:41 PM Yitzhak Khabinsky <
Yitzhak.Khabinsky@millicom.com> wrote:

> I have a requirement to validate that:
>
> *Each gYearMonth(Date) value shall not fall outside of a particular
> year-month range.*
>
> The test case XML/XSD is below.
>
>
>
> XML:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <root DataFeed="2018-07" xmlns="http://www.millicom.com" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
> http://www.millicom.com Test3.xsd">
>     <r>
>         <Date>2018-07-31</Date>
>     </r>
>     <r>
>         <Date>2018-07-25</Date>
>     </r>
> </root>
>
>
>
> XSD:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault=
> "qualified" version="4.4" targetNamespace="http://www.millicom.com" xmlns=
> "http://www.millicom.com" xpathDefaultNamespace="##targetNamespace"
> xmlns:saxon="http://saxon.sf.net/">
>     <xs:element name="root">
>         <xs:complexType>
>             <xs:sequence>
>                 <xs:element minOccurs="1" maxOccurs="unbounded" ref="r"/>
>             </xs:sequence>
>             <xs:attribute name="DataFeed" use="required" type=
> "xs:gYearMonth"/>
>
>             <xs:assert test="empty(r/Date[xs:gYearMonth(xs:date(.)) ne
> ../../xs:gYearMonth(@DataFeed)])" saxon:message="Rule #0: Each
> Year-Month(Date) value shall be equal to the DataFeed attribute value"
> xpathDefaultNamespace="##targetNamespace">
>                 <xs:annotation>
>                     <xs:documentation>Rule #0</xs:documentation>
>                     <xs:documentation>Each Year-Month(Date) value shall
> be equal to the DataFeed attribute value</xs:documentation>
>                 </xs:annotation>
>             </xs:assert>
>         </xs:complexType>
>     </xs:element>
>
>     <xs:element name="r">
>         <xs:complexType>
>             <xs:sequence>
>                 <xs:element name="Date" type="xs:date"/>
>             </xs:sequence>
>         </xs:complexType>
>     </xs:element>
> </xs:schema>
>
>
>
> Saxon correctly evaluates that the XML is valid.
>
>
>
> XercesJ emits the following error:
>
> [Error] Test3.xml:11:8: cvc-assertion: Assertion evaluation
> ('empty(r/Date[xs:gYearMonth(xs:date(.)) ne
> ../../xs:gYearMonth(@DataFeed)])') for element 'root' on schema type
> '#AnonType_root' did not succeed.
>




-- 
Regards,
Mukul Gandhi

Mime
View raw message