【HTML/XML 6】XML文档的基本组成

导读:大致上,一个XML文档可以由三个部分组成,即声明区、定义区和文档主体区。在XML文档中,各个组成部分都包含特定的内容,有着不同的作用。本篇博客,通过分析上篇博客中的XML实例,来了解XML文档 的各个基本组成部分。

 

一、代码再现

 

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<?xml:stylesheet type="text/xsl" href="BOOK.XSL"?>
<booklibrary>
	<book>
		<title> 数字图像处理学 </title>
		<author> 陈秋琦 </author>
		<publisher> 电子工业出版社 </publisher>
		<price moneytype="RMB"> 49.00 </price>
	</book>
	
	<book>
		<title> C++Builder开发技术 </title>
		<author> 李东 </author>
		<author> 王宏 </author>
		<publisher> 水利水电出版社 </publisher>
		<price moneytype="RMB">40.00</price>
	</book>
	
	<book>
		<title> VC++编程技术 </title>
		<author> 高强 </author>
		<publisher> 人民邮电出版社 </publisher>
		<price moneytype="RMB"> 35.00 </price>
	</book>
	
</booklibrary></span>

 

 

 

二、文档分析

 

2.1,声明区

 

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<?xml:stylesheet type="text/xsl" href="BOOK.XSL"?></span>

第一行:表示当前的XML文档应当符合XML1.0规范,编码方式是UTF-8;第二行:处理指令,该指令通知浏览器去寻找BOOK.XSL文件,并用它来表现本篇XML文档。
2.2,定义区

 

 

<span style="font-family:KaiTi_GB2312;font-size:18px;"><!DOCTYPE booklibrary[
	<!ELEMENT booklibrary (book*)>
	<!ELEMENT book (title,author,publisher,price)>
	<!ELEMENT title (#PCDATA)>
	<!ELEMENT author (#PCDATA)>
	<!ELEMENT publisher (#PCDATA)>
	<!ELEMENT price (#PCDATA)>
	<!ENTITY ENT1 "中国水利水电出版社">
]></span>

首先指明根元素booklibrary可以包含多个子元素book,然后规定每个子元素book又必须按照指定的顺序:title,author,publisher,price编写。然后是规定了四个子元素中的内容是#PCDATA(解析的字符数据)。如果在XML文档中,没有按照以上的要求编写,那么这个XML文档就是无效的。

 

备注:没有有效性验证的XML文档也是允许的。

2.3,文档主体区

文档主体区包含了一个XML文档所描述对象的全部具体信息。如上篇博客中代码所示。

 

三、XML文档的物理结构

 

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<?xml:stylesheet type="text/xsl" href="BOOK.XSL"?>
<!DOCTYPE booklibrary[
	<!ELEMENT booklibrary (book*)>
	<!ELEMENT book (title,author,publisher,price)>
	<!ELEMENT title (#PCDATA)>
	<!ELEMENT author (#PCDATA)>
	<!ELEMENT publisher (#PCDATA)>
	<!ELEMENT price (#PCDATA)>
	<span style="color:#ff0000;"><!ENTITY ENT1 "中国水利水电出版社"></span>
]>
<booklibrary>
	<book>
		<title> 数字图像处理学 </title>
		<author> 陈秋琦 </author>
		<publisher> 电子工业出版社 </publisher>
		<price moneytype="RMB"> 49.00 </price>
	</book>
	
	<book>
		<title> C++Builder开发技术 </title>
		<author> 李东 </author>
		<author> 王宏 </author>
		<publisher><span style="color:#ff0000;"> &ENT1;</span> </publisher>
		<price moneytype="RMB">40.00</price>
	</book>
	
	<book>
		<title> VC++编程技术 </title>
		<author> 高强 </author>
		<publisher> 人民邮电出版社 </publisher>
		<price moneytype="RMB"> 35.00 </price>
	</book>
	<book>
		<title> ASP.NET课程设计案例精编 </title>
		<author> 郝思嘉 </author>
		<publisher><span style="color:#ff0000;"> &ENT1;</span> </publisher>
		<price moneytype="RMB"> 30.00 </price>
	</book>
</booklibrary>
</span>


XML的物理结构是从如何使用XML文档中各元素的角度来人事和理解一个XML文档的。XML文档由一个个存储单元组成,通常把这些单元成为实体(ENTITY),每个XML文档的物理结构都包含一个根实体,也称为文档实体。这个实体是由XML本身给出的,不用显示定义就可以使用。当需要使用除根实体以外的其他实体时,则需要在文档类型DOCTYPE中进行显示定义。XML文档中的所有实体,构成了XML文档的物理结构。

 

在以上代码中,请注意红色的部分,实体充当着类似别人的角色。当需要输入实体所代表的一段文本时,只需要引用对应的实体名称即可。XML解析器,会自动将这个名称替换为相应的文本,这个过程就是所谓的文本替换。PS:有没有想到C++里面宏的概念。
 

注意:本文档的显示效果,如上篇博客中所示。

 

四、总结

XML文档的基本组成介绍完了,细细分析,其实也挺简单的。但是就是写的少了,里面的一些语法定义不熟悉,老是多个空格,或者缺个符号的。不过相信,多写写就会好了。接下来会介绍,实现XML文档表现形式的另一种方式:CSS样式层叠表。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值