xml(1)
----eXtensiable Markup Language (可扩展标记语言)
xml这种文档格式,它与语言无关,与平台无关,与操作无关,在所有的环境下,都可以识别xml格式
xml也称为:元语言(用于描述其他语法格式的一种语言)
xml的作用:
1、描述语法格式
2、在不同的语言、不同的系统、不同的程序中传递数据
3、它可以在程序中存储数据
xml的语法标准是由一个联盟定制的: w3c
xml文档中一些基本概念:
hello |
| -----标记(标签)--也称为“元素”
hello-----------字符数据
字符数据的分类有:
1、PCDATA (默认) PCDATA类型的数据,系统会自动解析,所以不能包含<
2、CDATA :系统不作解析,原样输出
xml文档,分为:
1、格式良好的xml文档
2、有效的xml文档
格式良好的xml的文档,不一定有效,但有效的xml文档,格式一定良好
格式良好的xml文档的要求:
1、xml文件的第一行,必须是版本声明
2、xml文件必须有根元素
3、元素(标记)有开始,就必须要有结束,或者是直接结束
4、如果元素包含有子元素,必须正确嵌套
5、xml文档的标记区分大小写
如果满足以上五点,xml文档就称为:格式良好
如何让一个格式良好的xml文档变成有效的xml文档
格式良好的xml + DTD或者schema的验证 = 有效的xml文件
DTD: Document Type Definition(文档类型定义)
作用:限制xml文档的数据格式
比如:要写些什么元素,先写哪一个,后写哪一个,必须有什么子元素,必须有什么属性,子元素出现的次数以及先后顺序,属性的取值范围........
DTD文档中的三个概念:
1、元素
2、属性
3、实体
表示:根元素是info,在info的开始与结束之间,不能包含任何内容,否则报错
表示:元素info下面,可以包含任何内容,但不能出现 <
表示:info下面,应该包含有子元素stu,而且只能有一个
###################注意:所有的子元素都必须声明以后才可以用
表示:info下面,可以包含子元素,stu出现的次数是0-1次
表示:info下面,必须包含有子元素stu,stu出现的次数是1-多次
表示:info下面,stu元素可以出现的次数为:任意次
info下,必须有一个子元素,可以在stu与teacher中,任选其中一个
info下,必须有两个元素,先要写stu,再写teacher
info下,可以有多个子元素,如果有学生,学生应该先出现,学生出现的次数,没有限制,老师出现的次数为1-次,一旦写了老师,学生就不能再出现
info下面可以包含子元素,个数不限,每一次可以在学生与老师之间选择一个
--------必须
表示:stu元素,有一个属性,name必须指定,否则就出错
---------------可选
表示:stu元素有一个属性age,可以写,也可以不写
--------------固定值
表示:stu元素一个属性address,值为一个固定值: 只能是湖北
--提供枚举列表
age CDATA #IMPLIED
address CDATA #FIXED "湖北"
class (一年级|二年级|三年级) "一年级"
>
NMTOKEN:内容只能是:数字,字母,下划线,小数点
声明实体 名称为 dt
引用实体: &dt;