表示 XSD 中的元素列表

632*_*324 3 xml xsd

我有一个 XML 元素列表。

<disposition label="RegulatoryAgency">
    <dispositionDetails code="114" location="243" />
    <dispositionDetails code="79" location="61"/>
</disposition>
Run Code Online (Sandbox Code Playgroud)

我想在 XSD 中表示此列表。以下是我现在拥有的。

<xs:element name="disposition" type="dispositionList" minOccurs="0"/>

<xs:complexType name="dispositionList">
    <xs:attribute name="label" type="xs:string" use="required"/>
    <xs:sequence>
        <xs:element name="dispositionDetails" type="DispositionDetails" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>

<xs:complexType name="DispositionDetails">
    <xs:attribute name="code" type="xs:integer" use="required"/>
    <xs:attribute name="location" type="xs:integer" use="required"/>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

然而它不起作用。我收到诸如The content of 'dispositionList' is invalid. Element 'sequence' is invalid, misplaced, or occurs too often.“有人能帮助我吗?”之类的错误。谢谢。

Ark*_*icz 6

“xsd 元素的顺序是相关的。”

1)注释?

2)(简单内容|复杂内容|((组|所有|选择|序列))?

3)(属性|属性组)?

<xs:complexType name="dispositionList">
    <xs:sequence>
        <xs:element name="dispositionDetails" type="DispositionDetails" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="label" type="xs:string" use="required"/>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)