• 【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样式层叠表。

  • 相关阅读:
    方法重写
    百度地图(5)-添加标注
    百度地图(3)-添加地图控件
    百度地图(2)-初始化地图
    GIS系统开发流程
    百度地图(1)- JavaScript API V3.0 对比 JavaScript GL API 1.0
    通过QGIS下载OSM数据
    深入理解 Spring 之源码剖析IOC
    FastDFS安装教程
    FastDFS简介
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010373.html
Copyright © 2020-2023  润新知