本文涉及到三项技术:XML、XML名称空间和XSLT
XML与DTD
XML全称是Extensible Markup Language (可扩展性标记语言),它是标准通用标记语言(SGML)的一个子集。
SGML、HTML和XML之间的关系:
SGML是一种定义标记语言的元语言。HTML和XML都是从SGML发展而来的标记语言,因此他们长得很像。不过HTML是在SGML定义下的一个描述性语言,只是SGML的一个应用,其DTD作为标准被固定下来;而XML是SGML的一个简化版本,DTD没有固定,在编写XML文档时,我们可以任意的创建新的标记,包括中文标记:
<?xml version="1.0" encoding="gbk">
<欢迎词>
<标题></标题>
<内容></内容>
</欢迎词>
XML在逻辑上主要由以下5个部分组成:
XML声明、文档类型声明、元素、注释、处理指令
XML声明:必须在第一行
文档类型声明:XML从SGML继承了用于定义语法规则的DTD机制。HTML就有一个标准的DTD文件,所以其组织结构和所有标签都是固定的:
<html>
<head>
<title>
</title>
</head>
<body>
</body>
</html>
DTD文件也是一个文本文件,通常用.DTD作为其扩展名。
通过文档类型说明,指出XML所用的DTD。文档类型说明有两种形式,一种是声明DTD在外部文件中:
<?xml version="1.0" encoding="utf-8" standalone="yes">
<!DOCTYPE greeting SYSTEM "hello.dtd">
另一种是直接在XML文档中给出DTD:
<?xml version="1.0" encoding="utf-8" standalone="yes">
<!DOCTYPE greeting [
<! ELEMENT greeting (#PCDATA)>
]>