0

したがって、スキーマを作成しようとしています。これにより、あるスキーマを参照として使用し、決して触れず、別のスキーマに触れたり、拡張したり、制限したりできます。したがって、私が今抱えている問題は、直面しているということです拘束 rcase-NameAndTypeOK3.2.5.

<!--Msg -->
<xs:complexType name="Main">
    <xs:complexContent>
        <xs:restriction base="B">
            <xs:sequence>
                <xs:element name="B1" type="BType"/>
                <xs:element name="B2" type="BType"/>
                <xs:element name="B3" type="B3-Type"/>
            </xs:sequence>
        </xs:restriction>
    </xs:complexContent>
</xs:complexType>
<!-- Types -->
<xs:complexType name="B3-Type">
    <xs:complexContent>
        <xs:extension base="BType">
            <xs:sequence>
                <xs:element name="B-4"/>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>

<!-- Source -->
<xs:complexType name="BType">
    <xs:sequence>
        <xs:element name="B-1"/>
        <xs:element name="B-2"/>
        <xs:element name="B-3"/>
    </xs:sequence>
</xs:complexType>
<xs:complexType name="B">
    <xs:sequence>
        <xs:element name="B1" type="BType"/>
        <xs:element name="B2" type="BType"/>
        <xs:element name="B3" type="BType"/>
    </xs:sequence>
</xs:complexType>

回避策があり、メインの制限を削除しています。メインの制限を解除しない別の回避策はありますか? 私が間違っていることはありますか?

4

1 に答える 1

0

別の回避策はありません-問題は、Main定義されているように、の制限でも拡張でもないことです-要素をB含むことができますが、追加のサブ要素が1つあるということです。B3BB-4

固定された基本スキーマと、基本スキーマと同等の宣言とその他の異なる宣言を持つ派生スキーマが必要な場合は、おそらく使用する必要がありますxsd:redefine

于 2012-04-14T17:19:23.870 に答える