[
https://issues.apache.org/jira/browse/XERCESJ-1701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16606744#comment-16606744
]
Mukul Gandhi commented on XERCESJ-1701:
---------------------------------------
I did a quick test, with the files you've posted. I used the XSD file, and the
XML file that has size 635 MB.
When I specify the key as follows (one of the field is commented),
<xs:key name="PK">
<xs:selector xpath="r"/>
<xs:field xpath="CountryCode"/>
<xs:field xpath="Date"/>
<!--<xs:field xpath="AnalyticsArrangementKey"/>-->
<xs:field xpath="PaymentType"/>
</xs:key>
I get the results fairly quickly. As you've said, I confirm that enabling all
the fields in your example make the result wait time large / unacceptable.
> Xerces-J 2.12.0: XSD 1.1 PK constraint scalability issue
> --------------------------------------------------------
>
> Key: XERCESJ-1701
> URL: https://issues.apache.org/jira/browse/XERCESJ-1701
> Project: Xerces2-J
> Issue Type: Bug
> Components: JAXP (javax.xml.validation)
> Affects Versions: 2.12.0
> Environment: Windows 10, 64-bit
> Reporter: Yitzhak Khabinsky
> Priority: Major
> Labels: XSD, key
> Fix For: 2.12.0
>
> Attachments: SubscriberCountFact.zip
>
>
> Hello,
> A test case is very simple:
> * XML file, size 700 MB
> * XSD file
> XSD is enforcing the following:
> * XML structure
> * Data elements/attributes data types
> * *PK constraint, composite primary key based on four elements*
> * No asserts/assertions/CTAs
> <xs:key name="PK">
> <xs:selector xpath="r"/>
> <xs:field xpath="CountryCode"/>
> <xs:field xpath="Date"/>
> <xs:field xpath="AnalyticsArrangementKey"/>
> <xs:field xpath="PaymentType"/>
> </xs:key>
>
> Saxon Java EE runs XSD validation for 2 minutes
> Xerces-J 2.12.0 cannot finish it at all, running for many hours.
> If I comment out the *xs:key* constraint, Xerces has no problems to finish
> the validation.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]