XML文档的规范与约束
Posted fangtingfei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML文档的规范与约束相关的知识,希望对你有一定的参考价值。
## XML:
1. 概念:Extensible Markup Language 可扩展标记语言
* 可扩展:标签都是自定义的。 <user> <student>
1. 概念:Extensible Markup Language 可扩展标记语言
* 可扩展:标签都是自定义的。 <user> <student>
* 功能
* 存储数据
1. 配置文件
2. 在网络中传输
* xml与html的区别
1. xml标签都是自定义的,html标签是预定义。
2. xml的语法严格,html语法松散
3. xml是存储数据的,html是展示数据
* 存储数据
1. 配置文件
2. 在网络中传输
* xml与html的区别
1. xml标签都是自定义的,html标签是预定义。
2. xml的语法严格,html语法松散
3. xml是存储数据的,html是展示数据
* w3c:万维网联盟
2. 语法:
* 基本语法:
1. xml文档的后缀名 .xml
2. xml第一行必须定义为文档声明
3. xml文档中有且仅有一个根标签
4. 属性值必须使用引号(单双都可)引起来
5. 标签必须正确关闭
6. xml标签名称区分大小写
* 基本语法:
1. xml文档的后缀名 .xml
2. xml第一行必须定义为文档声明
3. xml文档中有且仅有一个根标签
4. 属性值必须使用引号(单双都可)引起来
5. 标签必须正确关闭
6. xml标签名称区分大小写
* 组成部分:
1. 文档声明
1. 格式:<?xml 属性列表 ?>
2. 属性列表:
* version:版本号,必须的属性
* encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
* standalone:是否独立
* 取值:
* yes:不依赖其他文件
* no:依赖其他文件
2. 指令(了解):结合css的
* <?xml-stylesheet type="text/css" href="a.css" ?>
3. 标签:标签名称自定义的
* 规则:
* 名称可以包含字母、数字以及其他的字符
* 名称不能以数字或者标点符号开始
* 名称不能以字母 xml(或者 XML、Xml 等等)开始
* 名称不能包含空格
1. 文档声明
1. 格式:<?xml 属性列表 ?>
2. 属性列表:
* version:版本号,必须的属性
* encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
* standalone:是否独立
* 取值:
* yes:不依赖其他文件
* no:依赖其他文件
2. 指令(了解):结合css的
* <?xml-stylesheet type="text/css" href="a.css" ?>
3. 标签:标签名称自定义的
* 规则:
* 名称可以包含字母、数字以及其他的字符
* 名称不能以数字或者标点符号开始
* 名称不能以字母 xml(或者 XML、Xml 等等)开始
* 名称不能包含空格
4. 属性:
id属性值唯一
5. 文本:
* CDATA区:在该区域中的数据会被原样展示
* 格式: <![CDATA[ 数据 ]]>
id属性值唯一
5. 文本:
* CDATA区:在该区域中的数据会被原样展示
* 格式: <![CDATA[ 数据 ]]>
一个XML小例子:
1 <?xml version="1.0" encoding="utf-8" standalone=‘no‘ ?> 2 <!--<?xml-stylesheet type="text/css" href="a.css" ?>--> 3 4 <users> 5 6 <user id=‘1‘> 7 <name>张三</name> 8 <age>23</age> 9 <gender>male</gender> 10 <br/> 11 </user> 12 13 <user id=‘2‘> 14 <name>lisi</name> 15 <age>24</age> 16 <gender>female</gender> 17 18 <code> 19 <!-- if(a < b && a > c)--> 20 <![CDATA[ 21 if(a < b && a > c) 22 ]]]> 23 24 25 </code> 26 27 </user> 28 29 </users>
* 约束:
约束与XML文件的作用与关系:
概念:规定xml文档的书写规则
* 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">
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_\\d4"/> 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>
以上是关于XML文档的规范与约束的主要内容,如果未能解决你的问题,请参考以下文章