在一个XSD中使用两次元素?

时间:2016-05-05 14:06:54

标签: xml xsd schema

我有一个包含很多元素的XML Schema。一个元素patient包含许多子元素。该患者元素是根元素和另一元素的子元素。我是否必须在该文档中复制元素patient的整个代码两次,或者是否存在复制链接元素或其他内容?

1 个答案:

答案 0 :(得分:2)

您已经描述过使用xs:element/@ref

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <!-- First reference to patient -->
        <xs:element ref="patient"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- Additional references to patient -->

  <!-- Reused definition of patient -->
  <xs:element name="patient">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="birthdate" type="xs:date"/>
        <xs:element name="weight" type="xs:decimal"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>