什么是 XML?
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
- XML 仅仅是纯文本,有能力处理纯文本的软件都可以处理 XML。
不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。
XML 与 HTML 的主要差异
- XML 不是 HTML 的替代。
- XML 和 HTML 为不同的目的而设计:
- XML 被设计为传输和存储数据,其焦点是数据的内容。
- HTML 被设计用来显示数据,其焦点是数据的外观。
- HTML 旨在显示信息,而 XML 旨在传输信息。
XML 的用途
- XML 把数据从 HTML 分离
XML 应用于 web 开发的许多方面,常用于简化数据的存储和共享。 通过 XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。通过使用几行 JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。
- XML 简化数据共享.
XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。
- XML 简化数据传输。
- XML 简化平台的变更。
XML 数据以文本格式存储。这使得 XML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。
- XML 使数据更有用。
由于 XML 独立于硬件、软件以及应用程序,XML 使您的数据更可用,也更有用。不同的应用程序都能够访问您的数据,不仅仅在 HTML 页中,也可以从 XML 数据源中进行访问。通过 XML,您的数据可供各种阅读设备使用(手持的计算机、语音设备、新闻阅读器等),还可以供盲人或其他残障人士使用。
- XML 用于创建新的 Internet 语言。很多新的 Internet 语言是通过 XML 创建的。其中的例子包括:
- XHTML - 最新的 HTML 版本
- WSDL - 用于描述可用的 web service
- WAP 和 WML - 用于手持设备的标记语言
- RSS - 用于 RSS feed 的语言
- RDF 和 OWL - 用于描述资源和本体
- SMIL - 用于描述针针对 web 的多媒体
XML 树结构
- XML 文档形成一种树结构
- XML 文档必须包含根元素。该元素是所有其他元素的父元素。
+ XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
- 所有的元素都可以有子元素:
上图表示下面的XML中的一本书:《XML文档实例》
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
实例中的根元素是 < bookstore>。文档中的所有 < book> 元素都被包含在 < bookstore> 中。 < book> 元素有 4 个子元素:< title >、< author>、< year>、< price>。
XML 语法规则
- 所有 XML 元素都须有关闭标签。
- 注释: XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。
<p>This is a paragraph</p>
<p>This is another paragraph</p>
- XML 标签对大小写敏感
XML 元素使用 XML 标签进行定义。 XML 标签对大小写敏感。在 XML 中,标签 与标签 是不同的。 必须使用相同的大小写来编写打开标签(开始标签)和关闭标签(结束标签):
<Message>这是错误的。</message>
<message>这是正确的。</message>
- XML 必须正确地嵌套。
- XML 文档必须有根元素
- XML 的属性值须加引号
- 实体引用。
在 XML 中,一些字符拥有特殊的意义。如果你把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。 这样会产生 XML 错误:
<message>if salary < 1000 then</message>
为了避免这个错误,请用实体引用来代替 “<” 字符:
<message>if salary < 1000 then</message>
- 在 XML 中,有 5 个预定义的实体引用:
- XML 中的注释:< !- - This is a comment - ->
- 在 XML 中,空格会被保留。
- XML 以 LF 存储换行。
在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。
XML 命名规则。
- XML 元素必须遵循以下命名规则:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
可使用任何名称,没有保留的字词。
- 最佳命名习惯
- 使名称具有描述性。使用下划线的名称也很不错。
名称应当比较简短,比如:,而不是:。
- 避免 “-” 字符。如果您按照这样的方式进行命名:”first-name”,一些软件会认为你需要提取第一个单词。
- 避免 “.” 字符。如果您按照这样的方式进行命名:”first.name”,一些软件会认为 “name” 是对象 “first” 的属性。
- 避免 “:” 字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。
- XML 元素是可扩展的
小结:目前学到这么多,改天继续总结。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|