代码之家  ›  专栏  ›  技术社区  ›  Cephalopod

xsd:如何使用无序元素列表扩展类型

xsd
  •  9
  • Cephalopod  · 技术社区  · 15 年前

    这是我的XML模式的一部分

    <xs:complexType name="Friend">
        <xs:all>
            <xs:element name="name" type="xs:string" />
            <xs:element name="phone" type="xs:string" />
            <xs:element name="address" type="xs:string" />
        </xs:all>
    </xs:complexType>
    
    <xs:complexType name="Coworker">
        <xs:all>
            <xs:element name="name" type="xs:string" />
            <xs:element name="phone" type="xs:string" />
            <xs:element name="office" type="xs:string" />
        </xs:all>
    </xs:complexType>
    

    为了更好的可维护性,我希望在(抽象的)超级类型或类似的类型中拥有共享属性。但更重要的是,我希望所有元素都是无序的,也是可选的。

    这有可能吗?最好的方法是什么?

    1 回复  |  直到 10 年前
        1
  •  15
  •   eepp    10 年前

    Person Friend Coworker

    1. xs:all xs:sequence name phone
    2. <xs:choice maxOccurs="unbounded">