0

我创建了一个 XML 模式,如下所示:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="fruitName" type="xs:string"/>
<xs:element name="fruitCategory" type="xs:string"/>
<xs:element name="fruitColor" type="xs:string"/>
<xs:element name="farm">
    <xs:complexType>
        <xs:sequence maxOccurs="unbounded">
            <xs:element ref="fruitName"/>
            <xs:element ref="fruitCategory"/>
            <xs:element ref="fruitColor"/>
        </xs:sequence>
        <xs:attribute name="farmLocation" type="xs:string" use="required"/>
        </xs:attribute>
        <xs:attribute name="farmAge" type="xs:Integer" use="required"/>
    </xs:complexType>
</xs:element>

据我了解,我相信这是使用完全全局类型声明 XML 模式作为fruitName、fruitCategory 和fruitColor 的元素在全局声明并通过在复杂类型中使用 ref="" 调用。请告诉我是否创建了此模式完全使用全局声明类型,或者我误解了全局声明类型是什么。如果我错了,请告知我应该如何使用完全全局类型声明正确编码。

4

2 回答 2

0

The schema seems fine except for the extra closing attribute tag:

</xs:attribute>
于 2012-11-17T14:36:24.540 回答
0

我不认识“完全全局类型声明 XML 模式”这个术语,但我想它是指一种模式,其中所有类型声明都是全局的。您的架构显然不是这种情况,因为声明的唯一复杂类型是嵌入在元素声明中的匿名类型。但是,它是一个有效的模式。

于 2012-11-18T00:28:50.007 回答