提纲:



导言

一.XML文档的有关术语

二.DTD的有关术语



导言



初学XML最令人头疼的就是有一大堆新的术语概念要理解。由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了。而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习。




你下面将要看到的关于XML术语的解释,也是作者本身的理解和翻译。阿捷是以W3C组织发布的XML1.0标准规范和相关的正式说明文档为根据来讲述。可以确保这些理解是基本正确的,至少不是错误的。你如果想进一步阅读和了解,我在本文的最后部分列明了相关资源的出处和链接,你可以直接访问。好,我们转入正题:


一.XML文档的有关术语

什么是XML文档?知道HTML原代码文件吧,XML文档就是用XML标识写的XML原代码文件。XML文档也是ASCII的纯文本文件,你可以用Notepad创建和修改。XML文档的后缀名为.XML,例如myfile.xml。用IE5.0以上浏览器也可以直接打开.xml文件,但你看到的就是"XML原代码",而不会显示页面内容。你可以将下面代码存为myfile.xml试试:


<?xml version="1.0" encoding="GB2312"?>

<myfile>

<title>XML轻松学习手册</title>

<author>ajie</author>

<email>ajie@aolhoo.com</email>

<date>20010115</date>

</myfile>


XML文档包含三个部分:

1. 一个XML文档声明;

2. 一个关于文档类型的定义;

3. 用XML标识创建的内容。


举例说明:

<?xml version="1.0"?>

<!DOCTYPE filelist SYSTEM "filelist.dtd">


<filelist>

<myfile>

<title>QUICK START OF XML</title>

<author>ajie</author>

</myfile>

......

</filelist>

其中第一行<?xml version="1.0"?>就是一个XML文档的声明,第二行说明这个文档是用filelist.dtd来定义文档类型的,第三行以下就是内容主体部分。
我们来了解XML文档中有关的术语:


1.Element(元素):

元素在HTML我们已经有所了解,它是组成HTML文档的最小单位,在XML中也一样。一个元素由一个标识来定义,包括开始和结束标识以及其中的内容,就象这样:<author>ajie</author>


唯一不同的就是:在HTML中,标识是固定的,而在XML中,标识需要你自己创建。


2.Tag(标识)

标识是用来定义元素的。在XML中,标识必须成对出现,将数据包围在中间。标识的名称和元素的名称是一样的。例如这样一个元素:

<author>ajie</author>

其中<author>就是标识。


3.Attribute(属性):

什么是属性?看这段HTML代码:<font color="red">word</font>。其中color就是font的属性之一。

属性是对标识进一步的描述和说明,一个标识可以有多个属性,例如font的属性还有size。XML中的属性与HTML中的属性是一样的,每个属性都有它自己的名字和数值,属性是标识的一部分。举例:

<author sex="female">ajie</author>

XML中属性也是自己定义的,我们建议你尽量不使用属性,而将属性改成子元素,例如上面的代码可以改成这样:

<author>ajie

<sex>female</sex>

</author>

原因是属性不易扩充和被程序操作。


4.Declaration(声明)

在所有XML文档的第一行都有一个XML声明。这个声明表示这个文档是一个XML文档,它遵循的是哪个XML版本的规范。一个XML的声明语句就象这样:

<?xml version="1.0"?>


5.DTD(文件类型定义)

DTD是用来定义XML文档中元素,属性以及元素之间关系的。

通过DTD文件可以检测XML文档的结构是否正确。但建立XML文档并不一定需要DTD文件。关于DTD文件的详细说明我们将在下面单独列项。


6.Well-formed XML(良好格式的XML)

一个遵守XML语法规则,并遵守XML规范的文档称之为"良好格式"。如果你所有的标识都严格遵守XML规范,那么你的XML文档就不一定需要DTD文件来定义它。

良好格式的文档必须以一个XML声明开始,例如:

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

其中你必须说明文档遵守的XML版本,目前是1.0;其次说明文档是"独立的",它不需要DTD文件来验证其中的标识是否有效;第三,要说明文档所使用的语言编码。默认的是UTF-8,如果使用中文,你需要设置为GB2312。

良好格式的XML文档必须有一个根元素,就是紧接着声明后面建立的第一个元素,其它元素都是这个根元素的子元素,属于根元素一组。

良好格式的XML文档的内容书写时必须遵守XML语法。(有关XML语法我们将在下一章仔细讲解)


7.Valid XML(有效的XML)

一个遵守XML语法规则,并遵守相应DTD文件规范的XML文档称为有效的XML文档。注意我们比较"Well-formed XML"和"Valid
XML",它们最大的差别在于一个完全遵守XML规范,一个则有自己的"文件类型定义(DTD)"。

将XML文档和它的DTD文件进行比较分析,看是否符合DTD规则的过程叫validation(确认)。这样的过程通常我们是通过一个名为parser的软件来处理的。

有效的XML文档也必须以一个XML声明开始,例如:

<?xml version="1.0" standalone="no" encode="UTF-8"?>

和上面例子不同的,在standalone(独立)属性中,这里设置的是"no",因为它必须和相应的DTD一起使用,DTD文件的定义方法如下:

<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">

其中:

"!DOCTYPE"是指你要定义一个DOCTYPE;

"type-of-doc"是文档类型的名称,由你自己定义,通常于DTD文件名相同;

"SYSTEM/PUBLIC"这两个参数只用其一。SYSTEM是指文档使用的私有DTD文件的网址,而PUBLIC则指文档调用一个公用的DTD文件的网址。

"dtd-name" 就是DTD文件的网址和名称。所有DTD文件的后缀名为".dtd"。

我们还是用上面的例子,应该写成这样:

<?xml version="1.0" standalone="no" encode="UTF-8"?>

<!DOCTYPE filelist SYSTEM "filelist.dtd">

以上就是XML的术语的内容,更多相关内容请关注PHP中文网(www.php.cn)!

更多相关文章

  1. 解析php DOMElement 操作xml 文档的实现代码
  2. 给XML文档添加新 ”records”
  3. XML解析之sax解析案例(二)使用sax解析把 xml文档封装成对象
  4. XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
  5. Dom4j修改xml文档引入
  6. 根据Schema写出XML文档四部曲
  7. xml学习(2)xml文档树结构图
  8. 灵活调用xsl来解析xml文档(js异步)
  9. 如何得到XML文档大小的详细介绍

随机推荐

  1. 如何在android 5.0(L)中运行应用程序活动
  2. 为什么我的Android应用程序偶尔可以非常
  3. Android开发学习之ImageView手势拖拽、缩
  4. 尝试使用Async任务获取json时的java.lang
  5. 彻底了解RxJava(一)基础知识
  6. Android - 从@drawable String打开资源
  7. 同时兼容高低版本的setBackground跟setTe
  8. Android逆向实例笔记—那些搜不到的中文
  9. Android学习笔记(一):基本概念
  10. Android基础 - 对话框和浮动Activity