Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
Version 2.1
-
None
-
None
-
WIndows XP, J2SE Version 1.5.0 (build 1.5.0_06-b05)
Description
scomp fails with the following output:
Time to build schema type system: 1.492 seconds
Exception in thread "main" org.apache.xmlbeans.SchemaTypeLoaderException: encoded string too long: 80643 bytes (schemaorg_apache_xmlbeans.system.sD8C47734011B153A3D6BBC3BCCA9AC04.allassetsmodelgroup) - code 9
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$StringPool.writeTo(SchemaTypeSystemImpl.java:1021)
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader.writeRealHeader(SchemaTypeSystemImpl.java:1602)
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveModelGroup(SchemaTypeSystemImpl.java:1406)
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveModelGroups(SchemaTypeSystemImpl.java:1347)
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.save(SchemaTypeSystemImpl.java:1296)
at org.apache.xmlbeans.impl.tool.SchemaCompiler.compile(SchemaCompiler.java:1098)
at org.apache.xmlbeans.impl.tool.SchemaCompiler.main(SchemaCompiler.java:368)
The problem appears to be with the line "output.writeUTF(str);" in the method writeTo in class org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl (line 1016). java.io.DataOutputStream.writeUTF has an implicit 64K byte length limit (because it stores the length in a two-byte integer) and this limit is being exceeded.
The schema I am compiling comes from a third party and it is unlikely that it can be modified to work around this problem.