[
https://issues.apache.org/jira/browse/XERCESJ-1227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12519144
]
Georg Fischer commented on XERCESJ-1227:
----------------------------------------
With Xerces 2.9.0 I had persistent OutOfMemory problems with a ISO 20022 schema
whch was modified for SEPA. Even -Xmx512m did not help.
The original schema on http://www.iso20022.org/index.cfm?item_id=60055 for
oain.001.001.02
works fine. The modifed SEPA schema has the following restrictions as compared
to the ISO schema:
427c427
< <xs:element name="CdtTrfTxInf"
type="CreditTransferTransactionInformation2" maxOccurs="unbounded"/>
---
> <xs:element name="CdtTrfTxInf"
> type="CreditTransferTransactionInformation2" maxOccurs="9999999"/>
527c527
< <xs:element name="RfrdDocAmt"
type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/>
---
> <xs:element name="RfrdDocAmt"
> type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="999999"/>
Instances validate with this schema in XMLSpy, but Xerces blows up.
I feel that such high upper bounds make not much sense. I would much like to be
able to validate against such schemata with Xerces code. If you cannot rewrite
the DFA in general, my suggestion for the Xerces code would be
(a) to silently replace such high maxOccurs values by "unbounded"
(b) to introduce a special feature which allows the user to control such a
replacement
> Poor performance / OutOfMemoryError for sequences, choices and nested with
> large minOccurs/maxOccurs
> ----------------------------------------------------------------------------------------------------
>
> Key: XERCESJ-1227
> URL: https://issues.apache.org/jira/browse/XERCESJ-1227
> Project: Xerces2-J
> Issue Type: Bug
> Components: XML Schema Structures
> Affects Versions: 2.9.0
> Reporter: Michael Glavassevich
> Priority: Minor
>
> We now handle large minOccurs/maxOccurs on element/wildcard particles more
> gracefully by creating a compact representation in the DFA and using counters
> to check the occurence constraints, however we will still fully expand the
> content model for minOccurs/maxOccurs on sequences and choices which could
> still lead to an OutOfMemoryError or very poor performance (i.e. could still
> take several minutes to build the DFA). Sequences, choices and nested
> minOccurs/maxOccurs are somewhat tricker to handle. We would need a more
> general solution than the one implemented for elements and wildcards to
> improve those.
--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]