如何声明特殊XML模式(XSD)案例

oge*_*gee 4 xml xsd

我需要你的帮助来定义XML模式中的特殊情况:包含两个元素的序列:'x'和'y',而:

  • <x> 元素在序列中可以显示0到未绑定的时间

  • <y> 元素在序列中可以出现0到1次

  • <x><y>位置可以在任何地方 - 也就是说,可以将未绑定的时间作为<x>元素,然后是单个<y>元素,然后取消绑定<x>元素.

这个问题的XML示例:

示例#1

<x>stuff</x>
<y>stuff</y>
<x>stuff</x>
Run Code Online (Sandbox Code Playgroud)

例#2

<y>stuff</y>
<x>stuff</x>
<x>stuff</x>
Run Code Online (Sandbox Code Playgroud)

例#3

<x>stuff</x> 
<x>stuff</x>
<y>stuff</y>
<x>stuff</x>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Alo*_*hci 5

出于各种原因,Yuval,Mo或者davidsheldon的样本都没有工作.这是一个.

    <xs:complexType name="myComplexType">
    <xs:sequence>
        <xs:element name="x" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        <xs:sequence minOccurs="0">
            <xs:element name="y" type="xs:string"/>
            <xs:element name="x" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:sequence>
    </xs:complexType>
Run Code Online (Sandbox Code Playgroud)