
可扩展置标语言(eXtensible Markup Language,简称XML),又称可扩展标记语言,是一种置标语言。置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用置标语言(SGML)中简化修改出来的。它主要用到的有可扩展置标语言、可扩展样式语言(XSL)、XBRL和XPath等。
目录 |
XML是从1995年开始有其雏形,并向W3C(万维网联盟)提案,而在1998二月发布为W3C的标准(XML1.0)。 XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从1960年代就开始发展的 GML(Generalized Markup Language)标准化后的名称。
GML的重要概念:
1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为ISO所采用(ISO 8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂(标准手册就有500多页),难以理解和学习,进而影响其推广与应用。
同时W3C也发现到HTML的问题:
为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述资料语言:XML。 XML是在一个这样的背景下诞生的——是不是能有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的资讯?
XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表达(生成对应的HTML,PDF或者其他的文件格式)。
XML设计目的用来传送及携带数据信息,XML不用来表现或展示数据,HTML语言恰恰用来表现数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。
XML不做任何事情,但XML又可以做任何事情,也许这不好理解,XML它定义结构、存储信息、传送信息。 如下的小例子显示高宏飞发送给盖茨的小纸条,存储为XML
<小纸条>
<发送给>比尔.盖茨</发送给>
<发送人>高宏飞</发送人>
<主题>祝福</主题>
<具体内容>感谢您建立慈善基金,祝您健康!</具体内容>
</小纸条>
但是这个XML文档不做任何事情,它仅是纯粹的信息标签,这些标签意义的展开依赖于应用它的程序。
每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码,<books>,则是文档元素(document element),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。
范例文件中的第三行代码是注释,你会发现它与HTML中使用的注释风格是一样的。这是XML从SGML中继承的语法元素之一。
页面再往下的一些地方,可以发现<desc>标签里有一些特殊的语法。<![CDATA[ ]]>代码用于表示无需进行解析的文本,允许诸如大于号和小于号之类的特殊字符包含在文本中,而无需担心破坏XML的语法。文本必须出现在<![CDATA[和]]>之间才能合适地避免被解析。这样的文本称为Character Data Section,简称CData Section。
下面的一行就是在第二本书的定义之前的:
<?page render multiple authors ?>
虽然它看上去很像XML序言,但实际上是一种称为处理指令(processing instruction)的不同类型的语法。处理指令(以下简称PI)的目的是为了给处理页面的程序(例如XML解析器)提供额外的信息。PI通常情况下是没有固定格式的,唯一的要求是紧随第一个问号必须至少有一个字母。在此之后,PI可以包含除了小于号和大于号之外的任何字符串序列。
最常见的PI是用来指定XML文件的样式表:
这个PI一般会直接放在XML序言之后,通常由Web浏览器使用,来将XML数据以特殊的样式显示出来。
|
查 • 论 • 编 • 历
|
|
|---|---|
| 文档呈现语言 | HTML* - XHTML* - XML* - XForms* - DHTML* |
| 样式格式描述语言 | CSS* - XSL* |
| 动态网页技术 | CGI - ASP - ASP.NET - ColdFusion - JSP - PHP - Ruby on Rails |
| 客户端交互技术 | ActiveX - Java Applet - Flash - Flex - AJAX - XMLHTTP* AIR- Silverlight - JavaFX |
| 客户端脚本语言 | JavaScript - JScript - VBScript - ECMAScript - ActionScript |
| 标识定位语言 | URL - URI - XPath - URL重写 |
| 文档纲要语言 | DTD* - XML Schema* |
| *由W3C制定和维护的标准与规范 | |
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History