iBatis DTD's use nondeterministic model
----------------------------------------
Key: IBATIS-392
URL: https://issues.apache.org/jira/browse/IBATIS-392
Project: iBatis for Java
Issue Type: Bug
Components: SQL Maps
Affects Versions: 2.3.0
Environment: SAP Netweaver
Reporter: Hans Jörg Hessmann
iBATIS causes on SAP Netweaver the error:
Fatal Error: com.sap.engine.lib.xml.parser.NestedSAXParserException: You
are probably using a nondeterministic model like (a*|b*)*,
try to replace it with an equivalent deterministic one, e.g. (a|b)*
The iBATIS DTD's contain:
<!ELEMENT sqlMapConfig (properties?, settings?, resultObjectFactory?,
typeAlias*, typeHandler*, transactionManager?, sqlMap+)+>
and
<!ELEMENT sqlMap (typeAlias* | cacheModel* | resultMap* | parameterMap* | sql*
| statement* | insert* | update* | delete* | select* | procedure*)+>
On the SAP forum I found this remark:
"As noted in 3.2.1 Element Content and Appendix E of the XML Specification, it
is required that content models in element type declarations be deterministic."
So I fixed the DTD to:
<!ELEMENT sqlMapConfig (properties?, settings?, resultObjectFactory?,
typeAlias*, typeHandler*, transactionManager?, sqlMap+)>
and
<!ELEMENT sqlMap (typeAlias | cacheModel | resultMap | parameterMap | sql |
statement | insert | update | delete | select | procedure)+>
After this patch everything works.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.