您的位置:首页 > 其它

Scheme

2016-05-14 09:47 295 查看
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>


本节的笔记来源于视频教程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: