XML 指可扩展标记语言
W3C 指万维网联盟(World Wide Web Consortium)
XSL 指扩展样式表语言(Extensible Stylesheet Language)。XSLT 指 XSL 转换
XML 可扩展标记语言(Extensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
XML 被设计用来传输和存储数据。其焦点是数据的内容。
HTML 被设计用来格式化和显示数据。其焦点是数据的外观。
XML 不是 HTML 的替代。目的不同。
HTML 旨在显示信息,而 XML 旨在传输信息。
XML 被设计用来结构化、存储以及传输信息。XML 不会做任何事情。
下面是 John 写给 George 的便签,存储为 XML:
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the
meeting!</body>
</note>
上面的这条便签具有自我描述性。拥有标题以及留言,同时包含了发送者和接受者的信息。
但是,这个 XML 文档仍然没有做任何事情。
它仅仅是包装在 XML 标签中的纯粹的信息。
需要编写软件或者程序,才能传送、接收和显示出这个文档。
有能力处理纯文本的软件都可以处理 XML。
不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。
标签的功能性意义依赖于应用程序的特性。
上例中的标签没有在任何 XML 标准中定义过(比如 <to> 和 <from>)。这些标签是由文档的创作者发明的。
这是因为 XML 没有预定义的标签。
在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p> 、<h1> 等等)。
XML 允许创作者定义自己的标签和自己的文档结构。
可扩展标记语言 (XML) 于 1998 年 2 月 10 日成为 W3C 的推荐标准。
对 XML 最好的描述是:XML 是独立于软件和硬件的信息传输工具。
XML 应用于 web 开发的许多方面,常用于简化数据的存储和共享。
问题:在HTML 文档中显示动态数据,但是每当数据改变时,将花费大量的时间来编辑 HTML。
解决:通过 XML,将数据存储在独立的 XML 文件中。
这样就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。
通过使用JavaScript,就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。
XML 数据以纯文本格式进行存储,提供了一种独立于软件和硬件的数据存储方法。
使创建不同应用程序可以共享的数据变得更加容易。
通过 XML,可以在不兼容的系统之间轻松地交换数据。
问题:升级到新的系统(硬件或软件平台),很费时,而且转换大量的数据,不兼容的数据经常会丢失。
解决:XML 数据以文本格式存储。使 XML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。
不同的应用程序不仅仅在 HTML 页中,也可以从 XML 数据源中访问数据。
通过 XML,数据可供各种阅读设备使用(手持的计算机、语音设备、新闻阅读器等),还可以供盲人或其他残障人士使用。
包括:
XHTML - 最新的 HTML 版本
WSDL - 用于描述可用的 web service
WAP 和 WML - 用于手持设备的标记语言
RSS - 用于 RSS feed 的语言
RDF 和 OWL - 用于描述资源和本体
SMIL - 用于描述针针对 web 的多媒体
XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
XML 使用简单的具有自我描述性的语法:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
下一行描述文档的根元素(像在说:“本文档是一个便签”):
接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body):
最后一行定义根元素的结尾:
从本例可以设想,该 XML 文档包含了 John 给 George 的一张便签。
XML 文档必须包含根元素。该元素是所有其他元素的父元素.
<root>
</root>
所有元素均可拥有文本内容和属性(类似 HTML 中)。
表示XML 中的一本书:
例子中的根元素是 <bookstore>。文档中的所有 <book> 元素都被包含在 <bookstore> 中。
<book> 元素有 4 个子元素:<title>、< author>、<year>、<price>。
在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
注释: XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。
XML 中,标签 <Letter> 与标签 <letter> 是不同的。
XML 中,必须使用相同的大小写来编写打开标签和关闭标签:
<Message>这是错误的。</message>
<message>这是正确的。</message>
注释:打开标签和关闭标签通常被称为开始标签和结束标签。
与 HTML 类似,XML 也可拥有属性(名称/值的对)。
错误的: <note date=08/08/2008></note>
正确的:<note date="08/08/2008"></note>
XML 中,一些字符拥有特殊的意义。
问题:把字符 "<" 放在 XML 元素中,会发生错误,解析器会把它当作新元素的开始。产生 XML 错误:
<message>if salary < 1000 then</message>
解决:使用实体引用来代替 "<" 字符:
<message>if salary < 1000 then</message>
XML 中, 5 个预定义的实体引用:
< |
< |
小于 |
> |
> |
大于 |
& |
& |
和号 |
' |
' |
单引号 |
" |
" |
引号 |
注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
与 HTML 的语法很相似:
<!-- This is a comment -->
HTML 会把多个连续的空格字符裁减(合并)为一个:
HTML:
输出:
XML 中,文档中的空格不会被删节。
在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。
在 Unix 应用程序中,新行以 LF 字符存储。
而 Macintosh 应用程序使用 CR 来存储新行。
联系客服