XML(Extensible Markup Language)可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
在电子计算机中,标记指
计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合
万维网传输,提供统一的方法来描述和交换独立于
应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
实际上,XML并不是一门真正的“语言”,而是创建符合XML准则的语言的标准。
XML去掉了之前令许多开发人员头疼的标准通用标记语言的随意语法。在XML中,采用了如下的语法:
一、任何的起始标签都必须有一个结束
标签。
二、可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如<百度百科词条/>。XML解析器会将其翻译成<
百度百科词条></百度百科词条>。
三、标签必须按合适的顺序进行
嵌套,所以结束标签必须按
镜像顺序匹配起始标签,例如
这是一串百度百科中的样例字符串。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。
四、所有的特性都必须有值。
五、所有的特性都必须在值的周围加上双引号。
这些规则使得开发一个XML解析器要简便得多,而且也除去了解析
标准通用标记语言中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括
MathML、
SVG、
RDF、
RSS、
SOAP、
XSLT、
XSL-FO,而同时也将
HTML改进为
XHTML。
1.XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言;可扩展的样式语言(Extensible Style Language,XSL),即XML的样式表语言;以及可扩展链接语言(Extensible Link Language,XLL)。
1.1DTD规定了文档的逻辑结构。它可定义文档的语法,而文档的语法反过来也能够让XML语法分析程序确认页面标记使用的合法性。DTD定义了页面的元素、元素的属性及元素和属性间的关系。元素与元素间用起始标记和结束标记来定界,对于空元素,用一个空元素标记来分隔。每一个元素都有一个用名字标识的类型,也称为它的通用标识符,并且它还可以有一个属性说明集。每个属性说明都有一个名字和一个值。理想定义应该面向描述与应用程序相关的数据结构,而不是如何显示数据。就是说,应该把一个元素定义为一个标题行,之后让样式表和脚本定义显示标题行。
DTD不具强制性。对于简单的应用程序来说,开发商不需建立自己的DTD,可以使用预先定义的公共DTD或不使用。即使某个文档已经有DTD,只要文档组织是良好的,语法分析程序也不必对照DTD来检验文档的合法性。服务器可能己执行了检查,所以检验的时间和带宽将得以大幅度节省。
1.2 XSL是用来规定XML文档样式的语言。XSL能使Web浏览器改变原有文档的表示法,例如改变数据的显示顺序,不必再与服务器进行交互通信。通过样式表的变换,同一文档可以显示得更大,或经过折叠只显示外面的一层,或者变为打印格式。
XSL凭借其本身的可扩展性,能够控制无穷无尽的标记,而且控制每个标记的方式也是无穷尽的,这也给Web提供了高级的布局特性。如文本的旋转、多列和独立区域。同时支持国际书写格式,可在一页上混合使用从左至右、从右至左及从上至下的书写格式。就如同XML介于HTML和SGML之间一样,XSL标准是介于CSS和SGMI的文档样式语义和规范语言之间的。
1.3 XLL支持Web上已有的简单链接,而且将进一步扩展链接,包括终结
死链接的间接链接及可从服务器中只查询某个元素的相关部分链接等。
超文本标记语言(HTML)仅仅执行历来与超文本系统概念相关的极少功能,仅支持最简单的链接形式,即指向硬编码位置的单向链接,这与XML相比有着很大的差别。在为XML所设想的真正超文本系统中,所有典型的超文本链接机制全部将得到支持,包括:与位置无关命名,双向链接,可在文档外规定和管理的链接,元超链接(如环路、多个窗口),集合链接(多来源),Transc1usion(链接目标文档是链接源文档的一部分),链接属性(链接类型)。
所有这些可通过XLL来实现。由于XML以SGML作为基础,因此,XLL基本上属于Hytime(超媒体/基于时间的结构语言,ISO10744)的一个子集,另外它还遵循文本编码所倡议规定的链接概念。
2.文本文件与二进制文件的区别是,文本文件是根据一定的标准组织起来的比特流,故同一个文本文件可以用不同的应用程序执行。
3.文档类型。当我们用XML创建一个文档类型时,我们根本不必想到或在乎我们正在创建的文档类型,我们只是按照某个方式设计一个XML文档,它在我们的应用程序中有意义,然后使用这个文档类型,仅此而已。
4.PCDATA(PARSED CHARACTER DATA),可解析的字符数据,即XML文档的元素的内容。
5.XML中允许自封闭标签,即<Address2/> 等价于<Address2>与</Address2>的组合。
6.XML元素的命名规则:
6.1.<标签>和</标签>都是成对出现的,这是XML严格定义的,不允许只有开始标签而没有结束标签,对于空元素,即两个标签之间没有数据,这时可以使用简短形式:<标签/>
6.2.英文标签名称只能由下划线"_"或英文字母开头,中文标签名称只能使用下划线"_"或汉字开头,名称中只能在下划线"_",连接符"-",点"."和冒号":"几个特殊字符,也可以使用指定字符集下的合法字符.
6.3.<标签>中不能有空格,<标签>或</标签>都是错误的.
6.4.<标签>对英文大小写很第三,如<name>和<Name>是两个不同的标签.
6.2.英文标签名称只能由下划线"_"或英文字母开头,中文标签名称只能使用下划线"_"或汉字开头,名称中只能在下划线"_",连接符"-",点"."和冒号":"几个特殊字符,也可以使用指定字符集下的合法字符.
6.3.<标签>中不能有空格,<标签>或</标签>都是错误的.
6.4.<标签>对英文大小写很第三,如<name>和<Name>是两个不同的标签.
6.5 除了XML以外,没有其他所谓的保留字,任何的名字都可以使用,但是应该尽量使元素名字具有可读性,名字使用下划线是个不错的选择
6.6在XML元素命名中不要使用”:”,因为XML命名空间需要用到这个十分特殊的字符。
6.7 大小写敏感。
7.XML的属性采用NAME/VALUE的方式,且VALUE必须用引号(单双皆可)标记。
8.XML的注释符号为<!--开头, -->结尾。
9.XML的声明语句以<?xml开始,以?>结束。
10.XML处理指令模式为:<?处理指令 ?>
11.XML的转义字符:<,&. 另外,&It表示<,而&表示&,而>表示>。
12.CDATA字符段,<![CDATA[ ]]>即字符数据,XML解析器不对它进行解析,让它里面的内容保持不变,直到文本结束。
13. xmlns属性用于设置文档的命名空间,设置为空时,则是取消命名空间。
14.DTD的文档声明:!DOCTYPE ;元素声明:!ELEMENT;属性声明:!ATTLIST;实体声明:!ENTITY;
15.XML Schema或XML Schema Definition
可扩展标记语言架构是以可扩展标记语言(
标准通用标记语言的子集)为基础的,它用于可替代文档类型定义(外语缩写:
DTD);一份XML schema文件描述了可扩展标记语言文档的结构。后缀名为xsd.
16.在XML Schema中,定义复杂类型时,即有元素内容的元素,用标签<complexType>定义控制。其定义元素的内容模型的方法:<sequence><choice><group><all>.
17.XML Schema中的元素声明:element;属性声明:attrbute;
18.RELAX NG(REgular LAnguage for XML Next Generation),
“
可扩展标记语言的下一代正规语言
”
[1]
是一种基于语法的
可扩展标记语言模式语言,可用于描述、定义和限制
可扩展标记语言(
标准通用标记语言的子集)词汇表。通过本文了解某些人不喜欢使用文档类型定义(
外语缩写:
DTD)的原因,以及“
可扩展标记语言的下一代正规语言”如何针对它进行改善。其后缀名为.rnc.
19.XPath即为XML路径语言,它是一种用来确定
XML(
标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。
20.XSLT是
扩展样式表转换语言 的外语缩写,这是一种对
XML(
标准通用标记语言的子集)
文档进行转化的语言,XSLT中的T代表英语中的“转换”(
T
ransformation)。它是
XSL(
e
X
tensible
S
tylesheet
L
anguage)规范的一部分。
21.RSS(Really Simple Syndication)
简易信息聚合(也叫聚合内容)是一种RSS基于
XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步
网站内容的格式,是使用最广泛的XML应用。RSS搭建了
信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的
终端和服务中使用,是一种描述和同步网站内容的格式。
[1]
RSS可以是以下三个解释的其中一个:
Really Simple Syndication;RDF (Resource Description Framework) Site Summary; Rich Site Summary。但其实这三个解释都是指同一种Syndication的技术。
22.聚合,即在网络发布资源的过程。
23.atom 是一种基于
XML(
标准通用标记语言的子集)的文档格式以及基于HTTP的协议,它被站点和客户工具等用来聚合网络内容,包括weblog和新闻标题等,它借鉴了各种版本RSS的使用经验 Atom正走在通往
IETF标准的路上,在这之前,Atom的最后一个版本是"Atom 0.3",并且已经被相当广泛的聚合
工具使用在发布和使用(consuming)上。
24.
SOAP(Simple Object Access Protocol)简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于
XML(
标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
-
必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
-
可选的 Header 元素,包含头部信息
-
必需的 Body 元素,包含所有的调用和响应信息
-
可选的 Fault 元素,提供有关在处理此消息所发生错误的信息。
25.WSDL(Web Services Description Language)网络服务描述语言是
Web Service的描述语言,它包含一系列描述某个web service的定义。
26.SVG (Scalable Vector Graphics)可缩放矢量图形是基于
可扩展标记语言(
标准通用标记语言的子集),用于描述
二维矢量图形的一种图形
格式。它由
万维网联盟制定,是一个开放标准。