• JavaWeb_02_XML Schema约束


    XML Schema 文件自身就是一个XML文件,但它的扩展名通常为.xsd

    • 一个XML Schema文档通常称之为模式文档(约束文档),遵循这个文档书写的xml文件称之为实例文档。

    • 和XML文件一样,一个XML Schema文档也必须有一个根结点,但这个根结点的名称为Schema。

    • 编写了一个XML Schema约束文档后,通常需要把这个文件中声明的元素绑定到一个URI地址上,在XML Schema技术中有一个专业术语来描述这个过程,即把XML Schema文档声明的元素绑定到一个名称空间上,以后XML文件就可以通过这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。

    名称空间:本质上是一个全世界独一无二的名字,作用是为了能够独一无二的标识资源而起的名字。为了保证这个名字全世界独一无二,一般使用开发者公式的域名进行一些扩展来保证名称空间的独一无二,名称空间只是一个名字而已,不是真的地址,访问这个地址并不能真的访问到这个资源。

    XML中使用名称空间引入Schema

    为了在一个XML文档中声明它所遵循的Schema文件的具体位置,通常需要在Xml文档中的根结点中使用schemaLocation属性来指定,例如:

    <itcast:书架 xmlns:itcast="http://www.itcast.cn"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=“http://www.itcast.cn book.xsd">
    • schemaLocation此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置,两者之间用空格分隔。
    • 注意,在使用schemaLocation属性时,也需要指定该属性来自哪里。

    使用默认名称空间

    基本格式:

        xmlns="URI"  

    举例:

        <书架 xmlns="http://www.itcast.cn"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation=“http://www.itcast.cn book.xsd">
            <>
            <书名>JavaScript网页开发</书名>
            <作者>张孝祥</作者>
            <售价>28.00元</售价>
            </>
        <书架>

    使用名称空间引入多个XML Schema文档

    文件清单:xmlbook.xml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <书架 xmlns="http://www.it315.org/xmlbook/schema" 
        xmlns:demo="http://www.it315.org/demo/schema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.it315.org/xmlbook/schema                 http://www.it315.org/xmlbook.xsd 
            http://www.it315.org/demo/schema http://www.it315.org/demo.xsd">
        <>
            <书名>JavaScript网页开发</书名>
            <作者>张孝祥</作者>
            <售价 demo:币种=”人民币”>28.00元</售价>
        </>
    </书架>

    不使用名称空间引入XML Schema文档 (有限制)
    文件清单:xmlbook.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <书架 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="xmlbook.xsd">
        <>
            <书名>JavaScript网页开发</书名>
            <作者>张孝祥</作者>
            <售价>28.00元</售价>
        </>
    </书架>
    

    在XML Schema文档中声明名称空间

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   targetNamespace="http://www. itcast.cn"
                   elementFormDefault="qualified">
    <xs:schema>
    
    • targetNamespace元素用于指定schema文档中声明的元素属于哪个名称空间。
    • elementFormDefault元素用于指定,该schema文档中声明的根元素及其所有子元素是否都属于targetNamespace所指定的名称空间。
      Schema语法 参看w3c文档
  • 相关阅读:
    kafka环境搭建
    zookeeper环境搭建学习
    linux时间不准
    (转)Mac osx 下安装iTerm2,并使用rz sz上传下载(附homebrew配置)
    安装mariadb数据库
    mydumper 安装使用
    granfa 安装,配置prometheus数据源
    prometheus 普罗米修斯安装
    Docker常用命令
    winform 一个点击事件触发另一个点击事件
  • 原文地址:https://www.cnblogs.com/shiguangmanbu2016/p/5932928.html
Copyright © 2020-2023  润新知