background image

 <desc>matchless beauty</desc>
 </character>

 <character>
 <name>Loyal Dog</name>

 <desc>sleepy</desc>
 </character>

 </characters>
 <plot>

 Cliff meets Lovely Woman. Loyal Dog sleeps, but wakes up to bark
 at mailman.

 </plot>
 <success type="bestseller">4</success>

 <success type="bookclubs">9</success>
 </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 非常罗嗦,带来的后果是存储体积大,消耗带宽多。尽管人们应该能够读取它,但是很难想象一个人会去阅

 

读包含

 

百万个节点的

XML 文件。最基本的解析器功能支持的数据类型不多,因此处理不规则或少见的数据

(经常会遇到这种情况)成为最主要的困难。

 

结构良好的

XML

 

符合全部

XML 

 

语法规则的

XML 

 

文档是结构良好的。结构不良好的文档从技术上讲就不是

XML。<br> 之类的 

HTML 

 

标记在

XML 

 

中是不允许的,要想成为结构良好的

XML

 

,必须写成

<br />。解析器不能正确解析结构不良

 

好的

XML。此外,XML 文档有且只能有一个根元素。可以将根元素看成是有无穷层的文件柜。虽然只有一个文件

柜,但是在其中放什么和放多少没有什么限制。有数不清的抽屉和夹子可以存放信息。