XSD扩展可以重新排序元素吗?

时间:2015-06-01 10:11:57

标签: xml xsd schema

我想在XML Schema中扩展一个类型,比如说:

<complexType name="alienInfo">
  <complexContent>
    <extension base="personalInfo">
      <sequence>
        <element name="planet" type="xsd:string"/>
      </sequence>
    </extension>
  </complexContent>
</complexType>

其中

<complexType name="personalInfo">
  <sequence>
    <element name="name" type="xsd:string" />
    <element name="age" type="xsd:int" />
  </sequence>
</complexType>

但我想改变组成元素的顺序。比如,在planetname之前age。这可能吗?

1 个答案:

答案 0 :(得分:2)

Deriving Types by Extension不能用于更改基本类型中元素的顺序:

  

当复杂类型通过扩展派生时,其有效内容   model是基类型和内容模型的内容模型   在类型派生中指定。此外,这两个内容模型   被视为连续组的两个孩子。

我发现大多数关于元素排序的问题 - 允许任何订单或更改现有订单 - 最终都是不必要的。我建议如果扩展适用于您实现目标,请不要担心更改基本类型中元素的顺序。