XML_介绍

Summary: This article introduces the 'eXtensible Markup Language' (XML) and tells of it's uses.XML 是一种类似于 HTML 的标记语言。它代表可扩展标记语言并且是一个 W3C 推荐的规范作为一种通用标记语言。这意味着,与其他标记语言不同,XML 未预定义,因此你必须定义自己的标记。该语言的主要目的是跨不同系统共享数据,如互联网。

有许多基于XML的语言;一些示例是  XHTMLMathMLSVGXULXBLRSS, 和 RDF。你也可以创建自己的。

结构XML文档

本篇子文章正在创作当中……

XML整体结构和XML是基于tag语言的。

XML 声明

XML - 声明并非是一种标签,其用来传播文档元数据。

<?xml version="1.0" encoding="UTF-8"?>

属性:

版本:
当前文档使用的版本。
编码:
当前文档使用的编码。

注释

<!-- Comment -->

什么是 XML?

XML,就是 Extensible Markup Language(可扩展标记语言),是 W3C 推荐参考 通用标记语言。XML 同样也是 SGML 的子类。

许多语言都是基于 XML, 如 XHTML, MathML, SVG, XUL, RSS, 还有 RDF.

为什么HTML会没有用

HTML标记是一种相对固定的语言,同时它也是以呈现数据为唯一目的,与之相反,XML是可以由用户自定义的,同时它是以存储数据为目的的。

HTML 可以归结为以下三个方面:intelligence(智能),maintenance(可维护性),adaptation(适应性)。XML 也有类似的特性:intelligence, adaptation, maintenance, 和simplicity(简洁)。

XML 不同于HTML,HTML 是显示标记,而XML 是通用标记。这两点可以在XSLT中融合在一起。

"正确的" XML (有效且格式良好)

判定一个XML文档正确的标准是:

  • 它必须是一个格式良好的文档。
  • 遵循XML所有的语法规则并且有效。
  • 遵循特定语言的规则,这些规则通常规定在XML或DTD规范中。举个格式不好的文档的例子, 比如一个文档中有一个元素其中的开口标签没有对应的闭合标签而去也不是自我闭合的。

XML 示例

<?xml version="1.0" encoding="UTF-8"?>
<message>
    <warning>
        Hello World      
    <!--missing </warning> -->
</message>

然后我们来看一看这个文档的正确版本:

<?xml version="1.0" encoding="UTF-8"?>
<message>
    <warning>
         Hello World
    </warning>
</message>

一个包含没有定义标签的文档是无效的。例如,如果我们没有定义<warning>标签,这个文件将是无效的。

方法

像HTML一样,XML为一些特别预留的符号定义了一些方法(比如 ‘<’ 被用作标明标签)。下面是五个你必须知道的符号:

方法 符号 描述
&lt; < 小于符号
&gt; > 大于符号
&amp; &
&quot; " 一个双引号
&apos; ' 一个单引号

尽管这里只有五个声明的方法,更多的方法可以借助 Document Type Definition (文档的类定义)被引入。例如,为了创建一个&warning方法,你可以这样做:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE body [
  <!ENTITY warning "Warning: Something bad happened... please refresh and try again.">
]>
<body>
  <message> &warning; </message>
</body>

你可以用数字和一些符号去表示一些特殊字符;例如,&#xA9代表符号"©"。 

展示 XML

XML通常被用作描述,但是还有很多方法去展示XML数据。如果你不定义一个让XML展示的特别方式,那么原始的XML会被展现在浏览器上。

一个展示XML输出的方法是将CSS应用于文档,用xml-stylesheet去处理指令。

<?xml-stylesheet type="text/css" href="stylesheet.css"?>

当然,也有其他更有效的方法去展示XML:the Extensible Stylesheet Language Transformations (XSLT) ,这个可以被用作将XML 转换为其他语言例如HTML。这使得XML非常地有力。

<?xml-stylesheet type="text/xsl" href="transform.xsl"?>

推荐

这篇文章明显是一篇非常简略的XML介绍,其中有一些例子和参考来帮助你入门。关于XML的更多细节,你应该在web中查找更深入的文章。

学习超文本标记语言 (HTML) 将帮助你更好的理解XML。

另见

上述这篇Using XML文章对于转换和创造你自己的语言是一个很好的资源。