1.对XML的数据结构进行限制有两种方式:使用文档类型定义DTD(Document Type Definition)和XML Schema模式。
1.1.XML Schema模式是一个特殊的XML文件 XML Schema模式较DTD的一个最大的优势就是它能约束标记中包含的内容的数据类
型 。
1.2.XML Schema模式是扩展名为“.xsd”的一个文本文件,使用XML语法来编写,保存时所选择的编码必须和所约束的XML文件
一致
1.3.XML Schema模式的根标记必须是schema,使用的名称空间必须是:
http://www.w3.org/2001/XMLSchema
名称空间的前缀是xsd。例如:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
… …
</xsd:schema>
2.简单元素的约束:
XML Schema中“简单类型”元素的格式为:<xsd:element name="标记名称" type="简单数据类型"/>
2.1首先在我们要约束的元素中添加一个simpleType的标签
2.2然后在simpleType中添加一个restricetion标签,这个标签中有一个重要的属性:base,需要填入我们这个信息类型是基
于哪一种类型的。
2.3在restricetion标签中,我们就可以加入我们对信息内容的一个具体的约束了:
a)枚举约束 enumeration
b)对大小值的限定 mininclusive 设定最小值,这种包含最小值的
minEnclusive 设定最小值,但是不包含最小值
maxinclusive 设定最大值,包含最大值
maxEnclusive 设定最大值,但是不包含最大值
c)样式约束
[a-zA-Z]这一位字符,在a-z的大小写中任选一个填入
male|female这里需要多选一来填入信息内容
([a-z][0-9])+ 这里小写字母+一位数字的格式重复(可以1次可以多次)
3.复合元素的约束:
XML Schema中“复杂类型”元素的格式为:
<xsd:element name="标记名称" >
<xsd:complexType>
… ….
</xsd:complexType>
</xsd:element>
3.1首先我们在要约束的元素中添加一个complexType的标签。
3.2然后我们要填入指示器(eq:sequence)。
3.3添加子元素,子元素可以使复合元素也可以使简单元素。
4.属性定义:
4.1.XML Schema模式使用“attribute”标记来约束,该标记的格式如下:
<xsd:attribute name=“属性名字” type=“基本数据类型” use=“条件” />
其中use可取值"required”、“optional”、“fixed”、“default”。
4.2.“attribue”标记必须在“复杂类型”元素中使用,指出“复杂类型”元素约束的XML标记应当有怎样的属性。
4.3.如果要在简单元素中添加属性,还是需要complexType,只是我们需要在这个标签中使用simplecontent标签,其中使用
extension标签,用来扩展我们的简单元素,添加属性。
5.命名空间:
5.1XML作为一种允许用户定义自己标记的标记语言,很可能出现名称重复的情况,命名空间是一种避免名称冲突的方式。
5.2为解决命名冲突的问题,引入命名空间的概念。命名空间的声明方法为:xmlns="namespaceURI"或者xmlns:某前缀
="namespaceURI"
“xmlns=”和“xmlns:某前缀=”为命名空间声明,等号后面以引号括起的值,必须是一个统一资源标识符(Uniform
Resource Identifier (URI)),用来代表名称空间所属的领域。第一种是默认命名空间声明,第二种是显式命名空间声明。
5.3命名空间的名字都是合法的名字,但不一定都是有效的地址。
5.4命名空间的使用方法是在属于该名称空间的元素或属性名称前添加前缀和冒号“:”,表示其所属的名称空间。