我正在尝试从xsd编译xmlbeans jar。xsd是供应商提供给我的,所以我不能更改它。名称属性"CON“导致XML抛出异常,如下所示:线程"main”中的异常org.apache.xmlbeans.SchemaTypeLoaderException....(The系统找不到指定的路径)。如果我将标记属性更改为"CON1",那么问题就解决了,所以肯定是字符串CON的某些方面它不喜欢。有什么办法可以解决这个问题吗?我提供了一个用于测试目的的模式的简化版本作为参考:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="CON">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="TEXT" type="TEXT" minOccurs="0"
maxOccurs="1"/>
<xs:element name="VALUE" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:simpleType name="TEXT">
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="1023"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>发布于 2013-01-31 01:06:45
这是XMLBeans中的一个已知错误:XMLBEANS-352
scomp尝试创建文件...\classes\schemaorg _apache_xmlbeans\javaname\noNamespace\CONDocument\CON\VALUE.xsb失败。由于CON是Windows计算机上的保留设备名称,因此禁止使用目录名CON。
提供将元素映射到另一个名称的.xsdconfig文件不起作用。我试过了。
据报道,在linux中编译模式并复制生成的jar是唯一的解决方案。
https://stackoverflow.com/questions/14609025
复制相似问题