【问题标题】:Use an element twice in one XSD?在一个 XSD 中使用一个元素两次?
【发布时间】:2016-05-05 22:24:15
【问题描述】:

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

【问题讨论】:

    标签: xml xsd schema


    【解决方案1】:

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

    【讨论】:

    • 谢谢!那么第一次出现有 ref 元素,第二次描述了元素?
    • 是的,通过xs:element/@name 全局定义,然后通过xs:element/@ref 引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    相关资源
    最近更新 更多