XML Schema 基础

前端之家收集整理的这篇文章主要介绍了XML Schema 基础前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

【1】XML Schema 简介: (1)定义可出现在文档中的元素;

(2)定义可出现在文档中的属性

(3)定义哪个元素是子元素;

(4)定义子元素的次序;

(5)定义子元素的数目;

(6)定义元素是否为空,或者是否可包含文本;

(7)定义元素和属性的数据类型;

(8)定义元素和属性的默认值以及固定值。

【2】初始创建Schema:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/NewSchema"
xmlns:tns="http://www.example.org/NewSchema"
elementFormDefault="qualified">

(1)<schema> 元素是每一个 XML Schema 的根标签

(2)"xmlns:xs="http://www.w3.org/2001/XMLSchema" :显示 schema 中用到的元素和数据类型来自命名空间"xmlns="http://www.w3.org/2001/XMLSchema",同时它还规定了来自命名空间 "http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs。

(3)targetNamespace="http://www.example.org/NewSchema":声明一个我们自己的命名空间。

(4)xmlns:tns="http://www.example.org/NewSchema" :默认的命名空间。

(5)elementFormDefault="qualified":指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。

【3】在 XML 文档中引用 Schema:

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xs
i="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/NewXMLSchema
NewSchema.xsd"
xmlns="http://www.example.org/NewSchema">

(1)xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance":入我们的shema文档需要使用这个命名空间中的属性.

(2)xsi:schemaLocation="http://www.example.org/NewXMLSchemaNewSchema.xsd":使用上面引入的命名空间xsi中的schemalocation读取我们的schema文档,首先要填入我们的schema文档的命名空间的uri,然后空格,再填入我们的schema文档的名字。

(3)xmlns="http://www.example.org/NewSchema">:引入命名空间的方法,将我们的schema文档的命名空间引入。

【4】对简单元素内容的约束: (1)首先在我们要约束的元素中添加一个simpleType的标签

(2)然后在simpleType中添加一个restricetion标签,这个标签中有一个重要的属性:base,需要填入我们这个信息类型是基于哪一种类型的;

(3)在restricetion标签中,我们就可以加入我们对信息内容的一个具体的约束了。

(4)在restricetion标签中,可以对信息进行枚举约束——enumeration;

例子:<element name="reason">
<simpleType>
<restriction base="string">
<enumeration value="查询成功"></enumeration>
<enumeration value="查询失败"></enumeration>
</restriction>
</simpleType>
</element>

(5)大小值的限定 mininclusive 设定最小值,这种包含最小值的
minEnclusive 设定最小值,但是不包含最小值
maxinclusive 设定最大值,包含最大值
maxEnclusive 设定最大值,但是不包含最大值

例子:

<element name="root">
<simpleType>
<restriction base="integer">
<minInclusive value="20"></minInclusive>
<maxExclusive value="1000"></maxExclusive>
</restriction>
</simpleType>
</element>

(6)样式约束:
[a-zA-Z]这一位字符,在a-z的大小写中任选一个填入;
male|female这里需要多选一来填入信息内容;
([a-z][0-9])+ 这里小写字母+一位数字的格式重复(可以1次可以多次).

【5】复合元素的约束: (1)首先我们在要约束的元素中添加一个complexType的标签
(2) 然后我们要填入指示器(eq:sequence)。
(3) 添加子元素,子元素可以使复合元素也可以使简单元素。

【6】属性定义:简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。但是属性本身总是作为简易类型被声明的。

格式:<xs:attribute name="xxx" type="yyy"/>

xxx 指属性名称,yyy 则规定属性的数据类型。XML Schema 拥有很多内建的数据类型。

属性的默认值和固定值:<xs:attribute name="lang" type="xs:string" default="EN"/>——默认值“EN”

<xs:attribute name="lang" type="xs:string" fixed="EN"/>——固定值“EN”

原文链接:https://www.f2er.com/xml/297717.html

猜你在找的XML相关文章