xml架构声明类型

时间:2012-11-17 13:23:35

标签: xml schema

我创建了一个如下所示的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 =“”来调用。请告诉我这是否是这个schema是使用全局声明类型完全创建的,或者我误解了什么是全局声明类型。如果我错了,请告诉我应该如何使用完全全局类型声明正确编码。

2 个答案:

答案 0 :(得分:0)

除了额外的关闭属性标记外,模式似乎很好:

</xs:attribute>

答案 1 :(得分:0)

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