一、XML是什么
1、它与HTML一样,都是SGML (Standard Generalized Markup Language,标准通用标记语言)。
2、XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
3、扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多
的空间,但XML极其简单易于掌握和使用。
简单的说,就是类似于html中的标签功能,只不过,html中的标签都是规定好的,而xml中是自定义的。
例:(实际上的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、丰富的显示样式
XML数据定义打印、显示排版信息主要有3种方法
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元素必须包含结束标记
4)元素的开始标记和结束标记的名称必须相同
5)XML元素不能重叠
6)所有属性值都必须使用引号
2、标记的命名规则
1)名称的开头必须是字母或“_”;
2)标记名称中不能有空格;
3)名称的字符串只能包含“英文字母”、“数字”、“_”、“-”、“.”等字符。
例如下面的标记就是合法标记:<Name> <name> <_name> <li_name><li.name>
而下面是非法的标记:<.name> <li/name> <li%name> <li*name>
3、标记的使用规则
1)必须具有根标记且根标记必须惟一
2)开始标记和结束标记需配对使用
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、名称空间的范畴
名称空间的范畴就是名称空间起作用的范围。而范围就是声明该名称空间的元素及该元素中所有的子元素,除非是在该元素的某一个子元素上又声明了相同的名称空间。