0

最初の 2 つのケースはどちらも許容されますが、後者のケースは許容されません。この xml の xsd を作成することは可能ですか、それとも無効ですか?

    <book id="something" />

<!-- or -->

    <book>something</book>

<!--not -->

<
<book id="something">
    something else
</book> 

編集:これが私が使用しようとしていたスキーマです-私はまだxmlに非常に慣れていないため、正しいことに近いとは約束できません...

<xs:simpleType name="book">
    <xs:restriction base="xs:string">
    </xs:restriction>
</xs:simpleType>


<xs:complexType name="book2">
    <xs:simpleContent>
        <xs:extension base="or:book">
            <xs:attribute name="id" type="xs:string" />
        </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

<xs:complexType name="book3">
    <xs:simpleContent>
        <xs:restriction base="or:book2">
            <xs:maxLength value="0" />
        </xs:restriction>
    </xs:simpleContent>
</xs:complexType>

<xs:element name="root">
    <xs:complexType>
        <xs:choice>
            <xs:element name="book" maxOccurs="unbounded" type="or:book" />
            <xs:element name="book" maxOccurs="unbounded" type="or:book3" />
        </xs:choice>
    </xs:complexType>
</xs:element>
4

1 に答える 1

0

XSD 1.0 では、要素のコンテンツのルールは、要素の属性に依存できません。XSD 1.1 では可能です (条件付き型割り当てと呼ばれます)。したがって、質問に対する答えは、話している XSD のバージョンによって異なります。

于 2013-05-31T21:36:41.250 に答える