XML
(Extensible Markup Language,可扩展标记语言)
一、XML是什么
1、它与HTML一样,都是SGML (Standard Generalized Markup Language,标准通用标记语言)。
2、XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
3、扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多
的空间,但XML极其简单易于掌握和使用。
简单的说,就是类似于html中的标签功能,只不过,html中的标签都是规定好的,而xml中是自定义的。
例:
<XX大学> <部门> <信息学院> <教师s> <教师 id="3319"> <姓名>Jack</姓名> <性别>男</性别> <年龄>28</年龄> </教师> <教师s> <学生s> <班级 id="1206402" <学生> <学号>1</学号> <姓名>张三</姓名> <性别>男</性别> <年龄>18</年龄> </学生> </班级> </学生s> </信息学院> </部门> </XX大学>
二、XML的用途
XML是被设计为存储、传输以及交换数据的。XML不是被设计为用来显示数据的。
1、XML可以将HTML与数据分离
1)通过使用XML,数据可存储于HTML之外。
2)通过使用XML,可以在互不兼容的系统间交换数据。
例:
<?xml version="1.0" encoding="gb2312" ?> <?xml-stylesheet type="text/css" href="code6_3.css"?> <poem> <name>望庐山瀑布</name> <writer>唐.李白</writer> <contentA>日照香炉升紫烟</contentA> <contentB>遥看瀑布挂前川</contentB> <contentC>飞流直下三千尺</contentC> <contentD>疑是银河落九天</contentD> </poem>
code6_3.css
@charset "gb2312"; poem{background-image: url(zf.jpg); } name{display:block; font-family: 隶书; font-size: 30pt; letter-spacing:10pt; text-align:center; } writer{display:block; font-family: 魏碑; font-size:10pt; font-weight:bold; letter-spacing:10pt; line-height:40pt; text-align:center; color: Black; } contentA{display:block; font-family: 隶书; font-size: 20pt; font-weight:bold; line-height:100%; letter-spacing:10pt; text-align:center; color: Black; font-weight: LIGHTER; } contentB{display:block; font-family: 隶书; font-size: 20pt; font-weight:bold; line-height:100%; letter-spacing:10pt; text-align:center; color: Black; font-size:200%; font-weight: BOLDER; } contentC{display:block; font-family: 隶书; font-size: 20pt; font-weight:bold; line-height:100%; letter-spacing:10pt; text-align:center; color: Black; font-size:300%; font-weight: 700; } contentD{display:block; font-family: 隶书; font-size: 20pt; font-weight:bold; line-height:100%; letter-spacing:10pt; text-align:center; color: Black; font-size:400%; font-weight: 900;; }结果:
注:要是没有这句:<?xml-stylesheet type="text/css" href="code6_3.css"?>
结果为:
2、XML和B2B
通过使用XML,可以在因特网上交换金融信息。
3、XML可被用来共享数据
通过使用XML,纯文本文件可用于共享数据。通过使用XML,纯文本文件可用于存储数据。
4、XML使数据更有用
通过使用XML,数据可供更多的用户使用。
5、XML可被用来创建新的语言
XML是WAP和WML之母。 WAP(无线应用协议),是一项全球性的网络通信协议。WML(无线标记语言),被用来标记针对手持设备的因特网应用程序。
三、XML的特点
1、与HTML的不同点比较
2、良好的格式
<name>张三</name>
3、具有验证机制
1)DTD(Document Type Definition)
2)XML Schema
4、灵活的WEB应用
XML中数据和显示格式是分离设计
5、丰富的显示样式
6、XML是电子数据交换(EDI)的格式
XML是为互联网的数据交换而设计的
7、便捷的数据处理
XML是以文本形式来描述的一种文件格式
8、面向对象的特性
XML的文件是树状结构,同时也有属性,这非常符合面向对象方面的编程
9、开放的标准
XML基于的标准是为Web进行过优化的
10、选择性更新
通过XML,数据可以在选择的局部小范围内更新
11、XML是一个技术大家族
XML是一套完整的方案,有一系列相关技术
四、XML标记语法
1、XML语法基本点
1)XML要遵循规则W3C推荐规则规定的XML语法
2)XML文档只能包含一个根元素
3)所有XML元素必须包含结束标记
5)XML元素不能重叠
6)所有属性值都必须使用引号
2、标记的命名规则
1)名称的开头必须是字母或“_”;
3)名称的字符串只能包含“英文字母”、“数字”、“_”、“-”、“.”等字符。
例如下面的标记就是合法标记:<Name> <name> <_name> <li_name><li.name>
而下面是非法的标记:<.name> <li/name> <li%name> <li*name>
3、标记的使用规则
3)标记不能交错使用
所谓标记的交错使用就是指如下情形的标记使用:<publisher> <ISBN>7-04-0147688</publisher> </ISBN>
在XML中这种标记的交错使用是非法的。应改成:<publisher> <ISBN>7-04-014768-8</ISBN> </publisher>
4、空标记的使用
所谓空标记指的是标记只有开始没有结束,又叫孤立标记。这种标记有的表示一种格式信息,例如<hr>在HTML中代表了一条直线,有的则保存一些数据信息。空标
记可写成“<标记名/>”的形式。
5、标记对大小写敏感
在XML中相配对的标记大小写需相同。如程序中出现</bookinfo>标记和</BOOKINFO>标记,则被认为是两个不同的标记,所以</bookinfo></BOOKINFO>被认为是
两个不配对的标记。
五、XML文档语法和数据结构
XML是一种语法要求十分严格的标记语言,因此语法有严格的限制。有关XML的基本语法一共有4条:
1)文件的第一条语句必须是有关版本的声明;
2)标记的使用必须遵循上面的各规则
3)属性的值必须用双引号括起来;
4)特殊字符必须使用XML中特定的编码来表示。
1、处理指令
1)处理指令是包含XML文档中的一些命令性语句,目的是告诉XML处理一些信息或执行一定的动作。
2)处理指令的格式为:<?……?> 注:这里的?和<、>之间不能有空格。
例如有关版本信息的声明指令:<?xml version=”1.0”?>
解析:其中两个“<?”和“?>”是开始和结束的界定符号,“xml”是处理指令的命令名字。“version”命令中的属性,通常描述处理指令一个特定的细节,“1.0”是属性的值,代表
了对属性进行的某一方面的设定。
2、XML的属性
XML允许为元素设置属性,用来为元素附加一些额外信息,这些信息与元素本身的信息内容有所不同。一个XML可以包含多个属性,从而存储一个或多个关于该元素
的数据。
1)对于非空元素,属性的基本使用格式为:
<开始标记 属性名称1=”属性值” 属性名称2=”属性值”…></结束标记>
2)对于空元素,属性的基本使用格式为:
<空标记 属性名称1=”属性值” 属性名称2=”属性值”…>
注:属性值也可以用单引号。
3、特殊字符的使用
4、XML文档中的注释
注释语句是其文档中其它形式语句进行提示或说明。XML文档中的注释和HTML文档中的注释是一样的,都是以下列开始符号和结束符号界定的一行或多行代码。
<! --……-->
注释以灰色显示,表示是一些帮助信息,而不是程序的正式语句。语法解析器将完全忽略注释中的内容。另一点,注释不能出现在文档的第一行,文档的第一行必须是有
关版本信息的处理指令。
5、程序中的文字CDATA标记
CDATA标记的作用是通知XML语法解析器,该标记中代码包括文字和标记都要当作纯文本来解析,并原封不动的将这段代码传给下一个XML应用程序。界定该段代码的
开始和结束标记为:
<![CDATA[ …… ]]>
6、XML文档的数据结构
XML的文档由文档头和文档体构成。
文档体是指文档中内容信息所在的部分,例如根标记及其以内的所有元素、脚本等。其他的部分构成文档的头部。
文档的头部通常是一些声明信息或控制信息,如:处理指令和文档类型定义,其中文档类型定义不是必须的,但合法的XML文档必须具有该部分。
文档的“体”部是真正的数据信息,“头”部的信息都是为体部的信息服务的。
六、XML的相关技术
1、CSS
2、XSL
可扩展样式语言(eXtensible Style Language,XSL),是为了格式化XML页面而发展起来的一种标记语言,较CSS技术有许多优点。XSL包括变换语言
(Transformation Language)和格式语言(Formatting Language)。变换语言的主要功能是把数据从一种XML表示转换成另一种符合某一规范的表示,以满足某一特定
需要,这种功能使它成为了基于XML的电子商务、电子数据交换和无数据交换的有利工具;而格式化语言的功能是描述如何显示文档中的内容。
3、DTD
文档类型定义(Document Type Definitions,DTD),就是定义一种标记语言。主要包括一门标记语言由几部分构成,该语言都是由哪些标记构成,这些标记的嵌
套关系如何,该语言中存在实体吗,(所谓实体,就是一些特殊字符或字符串的别名,例如HTML的“ ”),标记中可用属性吗,属性的取值该如何指定?说白了就
是合法的XML文档的“法”之所在,这在XML文档中不是必须的部分。但这里建议尽量写出合法的XML文档,一则结构严谨,二则便于以后使用程序处理该文档。
4、XMLSchema
虽然DTD在校验XML文档的有效性方面非常有用,但它仍然存在许多缺陷,例如,采用了非XML的语法规则、不支持多种多样的数据类型、扩展性较差等,这些缺
陷使DTD的应用受到了很大的限制。为了解决上述问题,以微软为首的众多公司提出了XMLSchema(大纲)。XMLSchema建立在XML之上,它的样子和一般的XML文
档完全相同,使得XML文档达到从内到外的完美统一。
5、XML的链接语言
XML的链接语言目前主要有三部分构成,分别为Xlink 、Xpath和Xpointer。
1)XLink支持一般的连接,就像在HTML链接一样,也支持更为复杂的链接。XLink不仅可以在XML文件之间建立链接,而且可以建立其他类型数据之间的链接。不仅如
此,还可描述与非XML文件之间的连接关系。
2.)XPath主要是描述一个路径位置,而位置可以分成相对位置路径和绝对位置路径。一个相对位置路径事实上包含一连串的寻址步骤,每个寻址步骤是以斜线(/)进行分
隔的。整个相对位置路径就是这些寻址步骤从左到右结合在一起的。至于绝对路径本身就包含斜线(/),此处所使用的斜线代表的是根节点,它包括目前的节点。
3)XML是结构化的文件,这使得借助文件结构进行内部定位成为可能,此时无须对文件本身进行修改,这就是XPointer。XPointer用于在资源内定位,它支持在XML文件
中定位元素、属性、字符串等内部结构。
七、XML名称空间
<book xmlns="http://..." xmlns:bo=" …">
XML是一种元标记语言,允许用户定义自己的标记,因此,很可能产生名字重复的情况。为了解决这个问题,W3C在1999年1月颁布了名称空间(NameSpace)
标准。该标准对名称空间的定义是:XML名称空间提供了一套简单的方法,将XML文档和URI引用标识的名称相结合,来限定其中的元素和属性名。由此可知它
通过使用URI,解决了XML文档中标记重名的问题,从而确保任何一篇XML文档中使用的名字都是全球范围内独一无二的。
1、名称空间的声明
在使用名称空间之前,必须首先进行声明,名称空间的声明类似于前面元素的声明,将一个唯一的标识符号指定到一个URI或其他合法字符串上,使用前面定义的标
名称空间具有继承性,也就是说,如果不明确声明子元素的名称空间,子元素将继承父元素的名称空间声明。但要注意的是,在默认声明的名称空间范围内,所有的
元素及其子元素不加前缀,而在显示声明的名称空间范围内,所有的元素及其子元素必须加前缀。
2、名称空间的范畴
名称空间的范畴就是名称空间起作用的范围。而范围就是声明该名称空间的元素及该元素中所有的子元素,除非是在该元素的某一个子元素上又声明了相同的名称空间。