* 约束: 约束与XML文件的作用与关系: 概念:规定xml文档的书写规则 * 作为框架的使用者(程序员): 1. 能够在xml中引入约束文档 2. 能够简单的读懂约束文档 * 分类: 1. DTD:一种简单的约束技术 2. Schema:一种复杂的约束技术 * DTD: * 引入dtd文档到xml文档中 * 内部dtd:将约束规则定义在xml文档中 * 外部dtd:将约束的规则定义在外部的dtd文件中 * 本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置"> * 网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL"> DTD的引入和使用举例:(了解) dtd文件的创建:student.dtd 1 <!ELEMENT students (student+) > 2 <!ELEMENT student (name,age,sex)> 3 <!ELEMENT name (#PCDATA)> 4 <!ELEMENT age (#PCDATA)> 5 <!ELEMENT sex (#PCDATA)> 6 <!ATTLIST student number ID #REQUIRED>
dtd文件在XML文件中的引入和使用:student.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE students SYSTEM "student.dtd"> 3 4 <!--<!DOCTYPE students [ 5 6 <!ELEMENT students (student+) > 7 <!ELEMENT student (name,age,sex)> 8 <!ELEMENT name (#PCDATA)> 9 <!ELEMENT age (#PCDATA)> 10 <!ELEMENT sex (#PCDATA)> 11 <!ATTLIST student number ID #REQUIRED> 12 13 14 ]>--> 15 <students> 16 17 <student number="s001"> 18 <name>zhangsan</name> 19 <age>abc</age> 20 <sex>hehe</sex> 21 </student> 22 23 <student number="s002"> 24 <name>lisi</name> 25 <age>24</age> 26 <sex>female</sex> 27 </student> 28 29 </students>* Schema: * 引入: 1.填写xml文档的根元素 2.引入xsi前缀. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3.引入xsd文件命名空间. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd" 4.为每一个xsd约束声明一个前缀,作为标识 xmlns="http://www.itcast.cn/xml" <students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.itcast.cn/xml" xsi:schemaLocation="http://www.itcast.cn/xml student.xsd">
Schema的引用和使用举例:(了解)
xsd文件的创建:
student.xsd
1 <?xml version="1.0"?> 2 <xsd:schema xmlns="http://www.itcast.cn/xml" 3 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 4 targetNamespace="http://www.itcast.cn/xml" elementFormDefault="qualified"> 5 <xsd:element name="students" type="studentsType"/> 6 <xsd:complexType name="studentsType"> 7 <xsd:sequence> 8 <xsd:element name="student" type="studentType" minOccurs="0" maxOccurs="unbounded"/> 9 </xsd:sequence> 10 </xsd:complexType> 11 <xsd:complexType name="studentType"> 12 <xsd:sequence> 13 <xsd:element name="name" type="xsd:string"/> 14 <xsd:element name="age" type="ageType" /> 15 <xsd:element name="sex" type="sexType" /> 16 </xsd:sequence> 17 <xsd:attribute name="number" type="numberType" use="required"/> 18 </xsd:complexType> 19 <xsd:simpleType name="sexType"> 20 <xsd:restriction base="xsd:string"> 21 <xsd:enumeration value="male"/> 22 <xsd:enumeration value="female"/> 23 </xsd:restriction> 24 </xsd:simpleType> 25 <xsd:simpleType name="ageType"> 26 <xsd:restriction base="xsd:integer"> 27 <xsd:minInclusive value="0"/> 28 <xsd:maxInclusive value="256"/> 29 </xsd:restriction> 30 </xsd:simpleType> 31 <xsd:simpleType name="numberType"> 32 <xsd:restriction base="xsd:string"> 33 <xsd:pattern value="heima_\d{4}"/> 34 </xsd:restriction> 35 </xsd:simpleType> 36 </xsd:schema>
xsd约束文件在XML文件中的引用和使用:
student.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!-- 3 1.填写xml文档的根元素 4 2.引入xsi前缀. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 3.引入xsd文件命名空间. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd" 6 4.为每一个xsd约束声明一个前缀,作为标识 xmlns="http://www.itcast.cn/xml" 7 8 9 --> 10 <students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 11 xmlns="http://www.itcast.cn/xml" 12 xsi:schemaLocation="http://www.itcast.cn/xml student.xsd" 13 > 14 <student number="heima_0001"> 15 <name>tom</name> 16 <age>18</age> 17 <sex>male</sex> 18 </student> 19 20 </students>
转载于:https://www.cnblogs.com/fangtingfei/p/11404031.html
相关资源:xml标准文件