XML(Extensible Markup Language)是一种类似于 HTML,但是没有使用预定义标记的语言。因此,可以根据自己的设计需求定义专属的标记。这是一种强大将数据存储在一个可以存储、搜索和共享的格式中的方法。最重要的是,因为 XML 的基本格式是标准化的,如果你在本地或互联网上跨系统或平台共享或传输 XML,由于标准化的 XML 语法,接收者仍然可以解析数据。
有许多基于 XML 的语言,包括 XHTML、MathML、SVG、RSS 和 RDF (en-US)。你也可以创建自己的。
构建 XML 文档
XML 和基于 XML 的语言的整个结构是建立在标签之上的。
XML 声明
XML——声明并非是一种标签,其用于传输文档的元数据。
<?xml version="1.0" encoding="UTF-8"?>
属性
当前文档使用的版本。
当前文档使用的编码。
注释
<!-- Comment -->
“标准的”XML(有效且格式良好)
设计规则的标准
判定一个 XML 文档正确的标准是:
- 文档必须是一个格式良好的文档。
- 文档遵循 XML 所有的语法规则并且有效。
- 文档遵循特定语义的规则,这些规则通常规定在 XML 或 DTD 规范中(文档类型定义)
示例
<?xml version="1.0" encoding="UTF-8"?> <message> <warning> Hello World <!--missing </warning> --> </message>
一个包含未定义标签的文档是无效的。例如,如果我们没有定义 <warning>
标签,这个文件将是无效的。
大多数浏览器都提供了可以识别格式不正确的 XML 文档的调试器。
实体
像 HTML 一样,XML 为一些特别预留的符号定义了一些方法,称为实体(entities),例如用于标记的大于号。下面是五个你必须知道的符号:
实体 | 符号 | 描述 |
< | < | 小于符号 |
> | > | 大于符号 |
& | & | 和 |
" | " | 一个双引号 |
' | ' | 一个单引号 |
这里只有五个声明的实体,更多的方法可以借助文档类型定义 (en-US)引入。例如,为了创建一个 &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>
你可以用数字和一些符号去表示一些特殊字符;例如,© 代表符号“©”。
展示 XML
XML 通常被用作描述,但是还有很多方法去展示 XML 数据。如果你没有定义让 XML 展示的特别方式,那么原始的 XML 会被展现在浏览器上。
一个展示 XML 输出的方法是将 CSS 应用于文档,用 xml-stylesheet
去处理指令。
<?xml-stylesheet type="text/css" href="stylesheet.css"?>
当然,也有其他更有效的方法去展示 XML,Extensible Stylesheet Language Transformations(XSLT)可以将 XML 转换为其他语言(例如 HTML)。这使得 XML 非常地有力。
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>