XSD中没有元素的复杂类型

时间:2014-11-24 07:11:56

标签: xml xsd

是否可以定义仅具有复杂类型的XSD而不使用xs:elements?

类似的东西:

<?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:元素?

1 个答案:

答案 0 :(得分:3)

当然有可能。不要求总是有这种类型的元素。

要回答@ RabvidDog5150的问题,为什么有人想要这个,可能有很多原因。

  • 您的复杂类型可能是 abstract (其他一些类型将在稍后衍生出来的抽象基类型)。
  • 您的架构可能是某种&#34;基础架构&#34;,其他架构将导入和扩展它。
  • 即使架构中没有元素,您仍然可以执行<someElement xsi:type="urn:complexType1">...</someElement>之类的操作。这将指示架构感知处理器将someElement元素作为complexType1类型进行处理。