【发布时间】:2016-05-05 22:24:15
【问题描述】:
我有一个包含很多元素的 XML 模式。一个元素patient 有很多子元素。这个耐心元素是根元素和另一个元素的子元素。我是否必须在该文档中将元素 patient 的整个代码复制两次,或者是否存在复制链接元素或其他内容?
【问题讨论】:
我有一个包含很多元素的 XML 模式。一个元素patient 有很多子元素。这个耐心元素是根元素和另一个元素的子元素。我是否必须在该文档中将元素 patient 的整个代码复制两次,或者是否存在复制链接元素或其他内容?
【问题讨论】:
你描述了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>
【讨论】:
xs:element/@name 全局定义,然后通过xs:element/@ref 引用。