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

Use an element twice in one XSD?

我有一个包含很多元素的 XML 架构。一个元素 patient 有很多子元素。这个 patient 元素是根元素和另一个元素的子元素。我是否必须在该文档中复制元素 patient 的整个代码两次,或者是否有副本 link 元素或其他内容?

您描述了 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>