</book>
</books>
XML
元素和属性名可以包含大写字母 A-Z
、小写字母 a-z
、数字 0-9、一些特殊字符和非英
文字符以及三种标点符号:连字符、下划线和句点。名字中不能出现其他标点符号。
XML 是大小写敏感的。这个例子中,<Book>
和 <book> 描述了两种不同的元素。两种
形式都允许。使用 <Book>
和 <book> 描述两种不同的元素可能不是一种好办法,因
为很容易出现笔误。
每个 XML
文档都有且只有一个根元素。根元素是 XML 文档中惟一没有父元素的元素。上
例中的根元素是 <books>
。多数 XML 文档包含父元素和孩子元素。<books> 元素只有
一 个 子 元 素 , 即
<book> 。 <book> 元 素 有 四 个 子 元 素 ,
<title>、<characters>、<plot>
和 <success>。<characters> 元素有三个子元素,
都是 <character>
元素。每个 <character>
元素都有两个子元素,即 <name> 和
<desc>。
除了形成父子关系的元素嵌套之外,XML 元素还可以具有属性。属性是附加到元素起始
“
标记上的名值对。名称和值之间用等号 =” 分开。值用单引号或双引号括起来。上面的清
单 1 中,<success> 元素有两个属性,"bestseller"
和 "bookclubs"。关于属性的用
法在 XML 开发者之间有不同的考虑。多数包含在属性的信息也可以放在子元素中。一些
开发者坚持认为属性信息应该是元数据,即关于数据的信息,而不是数据本身。数据本身
应该包含在元素中。是否使用属性实际上取决于数据的性质以及如何从 XML 中提取数据。
XML 的力量
XML 的优点之一是比较简单,可以使用简单的文本编辑器或者字处理程序来编写
XML,不需要专门的工具或软件。XML 的基本语法由嵌套元素组成,部分元素具有属性
和内容。元素通常包括两个标记,一个起始标记和一个结束标记,分别用 <tag > 和
< /tag > 表示。XML
大小写敏感,而且空白是有意义的。看起来和众所周知的 HTML 很
相似,但和 HTML
不同的是 XML 允许用更具描述性的名称命名标记。XML 的其他优点
包括自描述、同时供人类和机器读取、支持 Unicode(这使它支持不同语言的国际化)、
严格的语法和解析要求。不幸的是,UTF-8
在 PHP5 中有问题,这一不足也是推动
PHP6 开发的动力之一。
XML 的弱点
XML 非常罗嗦,带来的后果是存储体积大,消耗带宽多。尽管人们应该能够读取它,但
是很难想象一个人会去阅读包含 7
百万个节点的 XML 文件。最基本的解析器功能支持的
数据类型不多,因此处理不规则或少见的数据(经常会遇到这种情况)成为最主要的困
难。
结构良好的 XML
符合全部 XML
语法规则的 XML 文档是结构良好的。结构不良好的文档从技术上讲就不
是 XML。<br>
之类的 HTML
标记在 XML
中是不允许的,要想成为结构良好的 XML,
必须写成 <br />
。解析器不能正确解析结构不良好的 XML。此外,XML 文档有且只能有
一个根元素。可以将根元素看成是有无穷层的文件柜。虽然只有一个文件柜,但是在其中
放什么和放多少没有什么限制。有数不清的抽屉和夹子可以存放信息。
PHP 基础
本文的多数读者曾经用过 PHP,但不一定清楚它的历史和发展。