• Schema(一)


    XML Schema 使用一套预先定义好元素和属性 开发的
    ----- 预先定义好元素和属性 规定了schema 结构和内容
    ----- 定义schema 规定xml文档 格式和内容

    预先已经定义好元素和属性 ------ 定义schema ------- 定义xml实例

    Schema本身也是xml ,不像DTD使用单独语法

    将schema中定义元素,绑定URI地址(名称空间)上,用来唯一标识元素来自哪个schema 。
    * 为什么要有名称空间? 一个xml实例 引用多个Schema ,当两个schema定义同名元素,为了区分同名元素引用自哪个文档。

    Schema快速入门
    1、编写数据xml文件
    2、编写schema文件 .xsd
    1) 引入 W3C 名称空间 xmlns="http://www.w3.org/2001/XMLSchema"
    每一个元素 对应 <element>

    books.xsd

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- 引用w3c的schema -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://www.huanghuai.edu.cn/books" --<> 路径
        elementFormDefault="qualified">
        <!-- 每一个元素 对应 element -->
        <element name="books">
            <!-- 包含子元素和属性的元素  复杂元素 -->
                
            <complexType>
                <!-- 强调子元素出现顺序 -->
                <sequence>
                    <!-- 让book元素出现多次 *  -->
                    <element name="book" minOccurs="0" maxOccurs="unbounded">
                        <complexType>
                            <sequence>
                                <!-- 对于简单元素,编写type属性  -->
                                <element name="name" type="string"></element>
                                <element name="price" type="double"></element>
                            </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
    </schema>

    区分复杂元素和简单元素

    2) 为schema定义元素指定名称空间 URI (URI可以是任何路径)
    3、在xml实例数据文件中 ,引用自定义Schema

    books.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <books xmlns="http://www.huanghuai.edu.cn/books" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.huanghuai.edu.cn/books books.xsd">
        <book>
            <name>Core Java</name>
            <price>45</price>
        </book>
        <book>
            <name>Core Java</name>
            <price>45</price>
        </book>
    </books>

     Result:

    elementFormDefault="unqualified"

    1、如果schema 将 elementFormDefault="unqualified" ,xml 实例文档 引用名称空间必须使用前缀 ---- 前缀修饰根元素
    2、当前xml实例文档所有子元素必须不能用前缀

    名称空间 作用 --- 唯一标识schema当中定义元素

    简单元素 直接编写type属性 、复杂元素 <complexType>

  • 相关阅读:
    cunda 常用命令,删除,创建,换源
    kivy画板
    基础易忘记
    关于tkinter
    airtest常用指令
    在kivy中加图片
    QQ消算轰炸,我好无聊真的
    自动华键盘使用
    自动化键盘,python
    canvas中的优先级,.after最前,before最底,canvas中间,部件在布局下面
  • 原文地址:https://www.cnblogs.com/jianfengyun/p/3823816.html
Copyright © 2020-2023  润新知