Scheme

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”
每一个元素 对应
区分复杂元素和简单元素
2) 为schema定义元素指定名称空间 URI (URI可以是任何路径)
3、在xml实例数据文件中 ,引用自定义Schema

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<!-- 数据文件 应用多个scheme -->
<company xmlns = "http://www.example.org/company"
         xmlns:dept = "http://www.example.org/department"
         xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemeLocation="http://www.example.org/department department.xsd http://www.example.org/company company.xsd "
>
    <employee age="30">
        <dept:name>人力资源</dept:name>
        <name>李静</name>
    </employee>
</company>
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://www.example.org/company" 
 xmlns:tns="http://www.example.org/company" 
 elementFormDefault="qualified">
 <element name="company">
    <complexType>
        <sequence>
            <element name="employee">
                <complexType>
                    <sequence>
                    <!-- 引用任何一个元素 -->
                    <any></any>
                        <!-- 员工名称 -->
                        <element name="name"></element>
                    </sequence>
                    <attribute name="age" type="int"></attribute>
                </complexType>
            </element>
        </sequence>
    </complexType>
 </element>
</schema>
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://www.example.org/department" 
 xmlns:tns="http://www.example.org/department"
  elementFormDefault="qualified">
  <element name="name" type="string"></element>
</schema>

本节的笔记来源于视频教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值