XSD中没有元素的复杂类型
问题描述:
是否可以定义仅包含复杂类型而不包含xs:元素的XSD?XSD中没有元素的复杂类型
喜欢的东西:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0" xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="complexType1">
<xs:sequence>
<xs:element name="element1" type="xs:string" minOccurs="1" />
<xs:element name="element2" type="xs:string" minOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:schema>
还是我们必须包括至少一个XS:在定义的复杂类型的元素?
答
当然这是可能的。没有要求总是有这种类型的元素。
要回答@ RabvidDog5150的问题,为什么有人想要这个,可能有很多原因。
- 你的复杂类型可以是抽象(抽象基其中的一些其它类型的从稍后上派生类型)。
- 您的模式可能是某种“基本模式”,其他模式将导入并扩展它。
- 即使架构中没有元素,仍然可以执行类似
<someElement xsi:type="urn:complexType1">...</someElement>
的操作。这将指示模式感知处理器将someElement
元素处理为complexType1
类型。