【问题标题】:xml schema declaration typexml 模式声明类型
【发布时间】:2012-11-18 08:28:50
【问题描述】:

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

【问题讨论】:

    标签: xml schema


    【解决方案1】:

    除了额外的关闭属性标记之外,架构看起来不错:

    </xs:attribute>
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-17
        • 2019-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-21
        相关资源
        最近更新 更多