`

全局声明与局部声明

XML 
阅读更多
全局声明:
  也就是直接处于<xs:schema>下元素或属性的声明。

局部声明:
  处于复杂类型定义之下元素或属性的声明。

例:
XML文档:
<?xml version="1.0"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="027.xsd" id="3">
    <name id="001">XML学习天下
        <author>张三</author>
        <price>88.50</price>
    </name>
    <name id="002">XML百例
        <author>李四</author>
        <author>赵五</author>
        <price>68.00</price>
    </name>
</books>

Schema文档:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="books">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="name" type="name_book" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute ref="id" use="required"/>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="name_book" mixed="true">
        <xs:sequence>
            <xs:element name="author" type="xs:string" maxOccurs="3"/>
            <xs:element name="price" type="xs:decimal"/>
        </xs:sequence>
        <xs:attribute ref="id" use="required"/>
    </xs:complexType>

    <xs:attribute name="id" type="xs:integer"/>
</xs:schema>
说明:
  <books>元素声明为全局声明;
  <name>、<author>和<price>均为局部声明;
  <books>里的属性id为全局元素属性;
  <name>里的属性id为局部元素属性。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics