1

xsd から xmlbeans jar をコンパイルしようとしています。xsd はベンダーから提供されたものなので、変更できません。名前属性 "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>
4

1 に答える 1

1

これは、XMLBeans の既知のバグです: XMLBEANS-352

scompファイルを作成しようとしています ...\classes\schemaorg _apache_xmlbeans\javaname\noNamespace\CONDocument\CON\VALUE.xsb これは失敗します。Windows マシンではデバイス名が予約されているため、ディレクトリ名CONは使用できません。CON

要素を別の名前にマップするファイルを提供して.xsdconfigも機能しません。私は試した。

Linux でスキーマをコンパイルし、結果の jar をコピーすることが唯一の解決策であると報告されています。

于 2013-01-30T17:06:45.367 に答える