没有元素引用的XSD complexType有什么用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有元素引用的XSD complexType有什么用?相关的知识,希望对你有一定的参考价值。
我的任务是验证和解释以及XSD Schema,这个模式从以下开始:
<xsd:schema xmlns:xsd="http://....">
<xsd:complexType name="TemplateType"> <!-- Nowhere referenced -->
<xsd:sequence>
<xsd:element name="DataType" type="DocumentDataType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DocumentDataType">
自从我上次的XSD任务以来已经太久了,但在某个地方我会期待一个<element type="templateType">
,但事实并非如此。
这有什么不对?我生锈的XSD知识或交付的XSD?
答案
复杂的类型名称(xsd:complexType/@name
)可以
- 如你所说,用于定义元素的类型(
xsd:element/@type
)。 - 用于通过扩展(
xsd:extension/@base
)或限制(xsd:restriction/@base
)定义派生类型。 - 用于包含或导入此XSD的XSD。
- 用于XML instances via
xsi:type
。 [Credit @MichaelKay] - 计划将来在当前的XSD中使用。
- 只是不用。
因此,除了直接定义元素类型之外,你的TemplateType
可能有另一个目的,或者它可能在XSD的演变过程中已经成为残余。
以上是关于没有元素引用的XSD complexType有什么用?的主要内容,如果未能解决你的问题,请参考以下文章