xmlbeans和保留字标签

时间:2013-01-30 16:36:35

标签: java xsd xmlbeans

我正在尝试从xsd编译一个xmlbeans jar。 xsd是从供应商提供给我的,所以我不能改变它。 name属性“CON”导致XML bean抛出异常,如下所示: 线程“main”中的异常org.apache.xmlbeans.SchemaTypeLoaderException ....(系统找不到指定的路径)。如果我将标记属性更改为“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>

1 个答案:

答案 0 :(得分:1)

这是XMLBeans中的已知错误:XMLBEANS-352

scomp尝试创建文件... \ classes \ schemaorg _apache_xmlbeans \ javaname \ noNamespace \ CONDocument \ CON \ VALUE.xsb此操作失败。目录名CON被禁止,因为CON是Windows计算机上的保留设备名称。

提供将元素映射到另一个名称的.xsdconfig文件不起作用。我试过了。

在linux中编译模式并报告复制生成的jar是唯一的解决方案。