从XML Schema元素(xsd)中提取公共元素

时间:2012-09-28 13:36:41

标签: xml xsd

我有这个架构:

<xs:element name="element1">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute type="xs:string" name="found" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:element>
<xs:element name="element2">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute type="xs:string" name="found" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:element>

如何从element1和element2中提取公共部分。我应该使用小组吗?

1 个答案:

答案 0 :(得分:0)

您可以在下面定义一个常见类型(注意:未经验证但您明白了)

<xs:complexType name="stringWithAttribute">
  <xs:simpleContent>
    <xs:extension base="xs:string">
      <xs:attribute type="xs:string" name="found" use="required"/>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>

并将其指定为element1和element2的类型,如下所示

<xs:element name="element1" type="stringWithAttribute">
<xs:element name="element2" type="stringWithAttribute">