xml总结
标签以外的所有空格和换行,都要交给下游程序处理
2.6 CDATA区
“<![CDATA[” 开始,“ ]]>”结束
2.7 特殊字符
特殊字符 替代符号
& &
< <
" "
’ ’
2.8 处理指令
简称PI,用来为处理XML文档的应用程序提供指示信息
处理指令以“<?”开头,以"?>"结尾,XMl声明语句就是常见的处理指令
XML分析器会把处理指令原封不动的传给应用程序,由应用程序来解释这个指令
例如:book.xml
<?xml version="1.0" encoding="GB2312" ?> <?xml-stylesheet type="text/css" href="book.css" ?> <bookstore>
<book>
<bookname>Java教程</bookname>
<author>李华</author>
<price>99元</price>
</book>
</bookstore>
book.css
bookname{display:block; color:red}
author{display:block; font-style:italic}
price{display:block; color:olive}
三、XML约束模式
3.1 格式良好的XML
解析器Parser
3.2 XML的约束模式
虽然解析不会出错,但不符合真实的逻辑,所以要有约束模式
定义文档中允许出现的元素名、属性、内容以及嵌套关系和出现顺序
定义Xml文档的词汇表,尊徐的结构
xml文档看做数据库中的表,则约束模式相当于表结构的定义
3.3 XML的约束语言
定义另一种语言的语言为元语言,单独的文件,模式文档,xml文档实例文档
约束模式语言,XML DTD、XML Schema、XDR、SOX等,前两种最广泛
3.4 有效的XML
遵守XML基本的语法规则,而且符合指定的约束模式,称为Valid XML
解析器程序检查是否符合约束模式称为校验,因此非校验类解析器和校验类解析器,IE是非校验类解析器
3.5 DTD
Document Type Definition,早期的约束模式语言
DTD初步认识
包含元素,元素之间关系,属性、实体以及符号的定义
book.dtd,可以使用正则表达式,使用UTF-8,unicod编码
PCDATA代表普通的字符串,(书名,作者,售价)按这个顺序, (书+)出现多次
在xml文档中引入外部的DTD
DOCTYPE文档类型定义语句,紧跟xml文档声明语句后面,两种格式
自定义:SYSTEM组织内部,或自定义
公共的:PUBLIC权威机构公开的文件
例如:
“-”表示未被改进的非ISO标准的DTD,“+”表示被改进的非ISO标准的DTD
例如book.xml:
<书架>
…
</书架>
standalone即使为no,只要DOCTYPE声明,也会去校验
xml文档中直接嵌入DTD
四、相关定义
4.1 元素定义
语法格式:
举例:
<!ELEMENT 书架 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)>使用规则:
(#PCDATA) 是parsed character data简写,表示可以是普通字符串
(书名,作者,售价)
(书名,#PCDATA)
EMPTY 内容为空,如
ANY 元素内容任何形式
PS:
a、DTD注释和XML文档一样
b、每条元素定义语句顺序随意
c、具有不同用途的元素不能使用相同的元素名
d、一个元素的各个组成成分之间可以有各种关系 <!ELEMENT MYFILE (TITLE AUTHOR EMAIL)> 三个子元素顺序任意 <!ELEMENT MYFILE (TITLE, AUTHOR ,EMAIL)> 三个有序的子元素 <!ELEMENT MYFILE (TITLE |AUTHOR| EMAIL)> 三个中的任意一个
e、在元素的使用规则中可以定义子元素出现的次数
(书+)一次或者多次,(书?)一次或者不出现,(书)不出现或者一次多次,(书)只能一次
f、一对圆括号可用于将括在其中的内容组合成一个可统一操作的分组,分组中可以嵌套更小的分组
4.2 属性定义
语法格式
引用实体:DTD中定义,xml中引用
<!ENTITY 实体名称 “实体内容”> <!ENTITY 实体名称 SYSTEM "外部XML文档的URL">引用方式:&实体名称;
参数实体:DTD中定义,DTD中引用
<!ENTITY % 实体名称 “实体内容”>引用方式:&实体名称;
五、XML Schema
5.1 XML Schema与DTD的比较
和DTD一样,定义xml文档结构,比DTD更有发展前途。
自身符合xml语法结构
DOM 、SAX等XML API更容易解析
采用和xml文档同样的合法性验证机制
对名称空间更好的支持
5.比DTD支持更多的数据类型,并支持用户自定义数据类型
定义约束的能力更强大
基本上满足了关系模式在数据描述上的需要
缺点:不能像DTD定义实体,很多细节比DTD更复杂
5.2 通过一个例子初步认识XML Schema
5.3 名称空间的概念
5.4 名称空间的声明
5.5 默认名称空间
5.6 属性的名称空间问题
5.7 引入XML Schema文档
本文详细介绍了XML的基础知识,包括CDATA区、特殊字符、处理指令和XML约束模式。强调了XML约束模式的重要性,如DTD和XML Schema,它们用于定义XML文档的结构和内容规则。此外,还讨论了元素和属性的定义,以及名称空间的概念及其应用。
977

被折叠的 条评论
为什么被折叠?



