《XML与电子商务-第1、2章XML简介及基础语法11188.pptx》由会员分享,可在线阅读,更多相关《XML与电子商务-第1、2章XML简介及基础语法11188.pptx(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、XML与电子商务XML and Electronic Commerce王庆国王庆国 博士、副教授博士、副教授管理学院管理学院TelTel:1592641511115926415111EmailEmail: 1参考教材熊前兴熊前兴.XMLXML与电子商务与电子商务.武汉:武汉理工大学出版社,武汉:武汉理工大学出版社,20052005方美琪方美琪.XMLXML及其在电子商务中的应用及其在电子商务中的应用.北京:清华大学北京:清华大学出版社,出版社,20032003Heather WilliamsonHeather Williamson著著,智慧东方工作室译智慧东方工作室译.XMLXML技术大技术大
2、全全.北京:机械工业出版社,北京:机械工业出版社,20022002Simon St.LaurentSimon St.Laurent著著,康晓林等译康晓林等译.XMLXML基础教程基础教程.北京:北京:电子工业出版社,电子工业出版社,20002000Gary P.SchneiderGary P.Schneider著著,成栋等译成栋等译.电子商务电子商务.北京:机械北京:机械工业出版社,工业出版社,20042004王虎,李赤林编王虎,李赤林编.电子商务电子商务.武汉:武汉理工大学出版武汉:武汉理工大学出版社,社,200320032学习目的了解了解XMLXML的发展过程、功能、技术标准以及应用领域的
3、发展过程、功能、技术标准以及应用领域掌握掌握XMLXML的基础语法的基础语法掌握掌握DTDDTD和和XML SchemaXML Schema描述信息结构的方法描述信息结构的方法熟悉熟悉XMLXML命名空间的由来、定义方法以及用法命名空间的由来、定义方法以及用法掌握掌握CSSCSS和和XSLXSL格式化格式化XMLXML文档的方法文档的方法掌握标准接口程序掌握标准接口程序DOMDOM与与SAXSAX熟悉熟悉XMLXML链接规范语言链接规范语言XlinkXlink、XML BaseXML Base和和XpointerXpointer熟悉电子商务的概念以及基于熟悉电子商务的概念以及基于XMLXML的
4、电子商务标准与平台的电子商务标准与平台了解基于了解基于XMLXML和和InternetInternet的的EDIEDI的系统模型的系统模型熟悉电子商务系统的开发过程熟悉电子商务系统的开发过程3讲授内容n第1章:XML简介n第2章:XML基础语法n第3章:DTD和XML Scheman第4章:XML命名空间Namespacesn第5章:CSS和XSLn第6章:DOM和SAXn第7章:XML链接与查询n第8章:XML与电子商务平台n第9章:基于XML与互联网的EDIn第10章:一个电子商务系统原型的开发4 第1章 XML简介学习目标学习目标 了解了解XMLXML的产生与发展过程的产生与发展过程 熟
5、悉熟悉XMLXML的主要功能、技术标准以及应用领域的主要功能、技术标准以及应用领域本章内容本章内容 1.1 1.1 XMLXML的产生与发展的产生与发展 1.2 1.2 XMLXML的主要功能的主要功能 1.3 1.3 XMLXML的技术标准的技术标准 1.4 1.4 XMLXML的应用领域的应用领域 5 1.1 XML的产生与发展 XMLXML(eXtensible Markup Language,eXtensible Markup Language,可扩展标记语言)可扩展标记语言)是由是由W3CW3C制订的一种标记语言,用于对制订的一种标记语言,用于对WebWeb上有格式的数据上有格式的数
6、据进行描述、传输和操作。进行描述、传输和操作。GMLGML(通用标记语言)通用标记语言)SGMLSGML(标准通用标记语言)标准通用标记语言)HTML HTML(超文本标记语言)(超文本标记语言)XML XML(可扩展标记语言)可扩展标记语言)6 一个一个SGMLSGML语言程序由三部分组成:语法定义、文件类语言程序由三部分组成:语法定义、文件类型定义(型定义(DTDDTDDocument Type DefinitionDocument Type Definition)以及文件实以及文件实例。例。语法定义语法定义定义了文件类型定义和文件实例的语法结构;定义了文件类型定义和文件实例的语法结构;文
7、件类型定义文件类型定义定义了文件实例的结构和组成结构的元素类定义了文件实例的结构和组成结构的元素类型;型;文件实例文件实例是是SGMLSGML语言程序的主体部分。语言程序的主体部分。HTML HTML是一种描述性语言,是一种按是一种描述性语言,是一种按SGMLSGML定义的语言,定义的语言,采用标记定义文本的特殊格式。采用标记定义文本的特殊格式。HTMLHTML文档包含两种信息:文档包含两种信息:页面本身的文本和表示页面元素、结构、格式及其他超文页面本身的文本和表示页面元素、结构、格式及其他超文本链接的本链接的HTMLHTML标记。标记。HTMLHTML标记规定了标记规定了HTMLHTML文本
8、的逻辑结构,文本的逻辑结构,并且控制其显示格式。并且控制其显示格式。7 HTML HTML文件实际上由标记和被标记的内容组成,标文件实际上由标记和被标记的内容组成,标记可以根据需要加上属性。格式为:记可以根据需要加上属性。格式为:受标记影响的内容受标记影响的内容/或或 受标记影响的内容受标记影响的内容/教材第教材第5 5页的例页的例1.11.1涵盖上述两种格式,大家可以涵盖上述两种格式,大家可以参照该实例进行操作,比较显示效果。参照该实例进行操作,比较显示效果。图图1.1 1.1 显示一本图书信息显示一本图书信息8 HTML HTML在网络应用中表现出三个方面的缺点:在网络应用中表现出三个方面
9、的缺点:扩展困难扩展困难 HTMLHTML只采用了部分只采用了部分SGMLSGML思想,即文档思想,即文档表示标准化,只用了一个固定的元素类型集,表示标准化,只用了一个固定的元素类型集,使得用户不能在其中增加有意义的并且能供他使得用户不能在其中增加有意义的并且能供他们使用的标记。们使用的标记。语义性差语义性差 侧重于网页表现形式的描述,疏于对侧重于网页表现形式的描述,疏于对信息语义及其内部结构的描述,不能对由各种信息语义及其内部结构的描述,不能对由各种标记所定义的数据含义进行说明。标记所定义的数据含义进行说明。缺乏对双字节或多国文字的支持缺乏对双字节或多国文字的支持 9 XML XML是一个精
10、简的是一个精简的SGMLSGML,它将它将SGMLSGML的丰富功能与的丰富功能与HTMLHTML的易用性结合到的易用性结合到WebWeb的应用中。通过在数据中假如附加信的应用中。通过在数据中假如附加信息的方式来描述结构化数据,并只通过结构而不是表现息的方式来描述结构化数据,并只通过结构而不是表现形式约束数据,从而使数据的内容和显示分开,有利于形式约束数据,从而使数据的内容和显示分开,有利于信息的表达和结构化组织,使数据搜索更有效,也使得信息的表达和结构化组织,使数据搜索更有效,也使得数据的表现可以多样化;允许定义数量不限的标记来描数据的表现可以多样化;允许定义数量不限的标记来描述文档中的资料
11、,允许嵌套的信息结构。述文档中的资料,允许嵌套的信息结构。一般来说,一般来说,HTMLHTML只是只是WebWeb显示数据的通用方法,着重显示数据的通用方法,着重描述描述WebWeb页面的显示格式;而页面的显示格式;而XMLXML提供了一个直接处理提供了一个直接处理WebWeb数据的通用方法,着重描述的是数据的通用方法,着重描述的是WebWeb页面的内容。页面的内容。10 1.2 XML的主要功能 对于图对于图1.11.1显示的一本图书信息,我们可以编写显示的一本图书信息,我们可以编写XMLXML文件来实现,文件来实现,文件内容如下:文件内容如下:?xml version=1.0 encodi
12、ng=GB2312?xml:stylesheet type=text/xsl href=xsl?2121世纪计算机基础教程世纪计算机基础教程/熊前兴熊前兴/华中科技大学出版社华中科技大学出版社/7-900633-10-3ISBN7-900633-10-3 28.0028.00/BOOK11 可以看出,可以看出,XMLXML文件和文件和HTMLHTML文件一样,实际上也是文件一样,实际上也是一个纯文本文件,保存为以一个纯文本文件,保存为以.xmlxml后缀的文件。后缀的文件。XMLXML文件文件包括文件序言和文件主体两部分。文件序言必须放在文包括文件序言和文件主体两部分。文件序言必须放在文件的第
13、一行,它告诉件的第一行,它告诉XMLXML解析器如何工作;文件主体存解析器如何工作;文件主体存放文件内容信息。与放文件内容信息。与HTMLHTML不同的是,不同的是,XMLXML的标记是我们的标记是我们自定义的,具有明确的含义,用户可以对标记的内容的自定义的,具有明确的含义,用户可以对标记的内容的含义作出说明,具有良好的可扩展性。含义作出说明,具有良好的可扩展性。但是但是XMLXML文档只包含数据信息,不包括显示信息,文档只包含数据信息,不包括显示信息,要显示图要显示图1.11.1式样的信息,可以使用样式表语言式样的信息,可以使用样式表语言XSLXSL(eXtensible Styleshee
14、t LanguageeXtensible Stylesheet Language,可扩展样式可扩展样式表语言表语言)。)。我们编写了名为图书信息我们编写了名为图书信息1.1.xslxsl的的XSLXSL文件,文件,可以显示图可以显示图1.11.1试样的信息,文件内容如下:试样的信息,文件内容如下:1213 我们可以通过调我们可以通过调整整XSLXSL文件来改变相文件来改变相关信息的显示方式,关信息的显示方式,我们编写了名为图书我们编写了名为图书信息信息2.2.xslxsl的的XSLXSL文件,文件,可以显示图可以显示图1.21.2式样式样的信息,文件内容如的信息,文件内容如下:下:图图1.2
15、1.2 图书信息的另外一种显示方式图书信息的另外一种显示方式1415 由于内容和显示分开,使得由于内容和显示分开,使得XMLXML文档具有良文档具有良好的自描述性,能够描述数据信息本身的含义甚好的自描述性,能够描述数据信息本身的含义甚至它们之间的关系,有利于信息的表达和结构化至它们之间的关系,有利于信息的表达和结构化组织,从而提高了信息搜索的效率,一个组织,从而提高了信息搜索的效率,一个XMLXML文文档可以配上不同的样式表进行显示,也方便了信档可以配上不同的样式表进行显示,也方便了信息表现方式的修改。息表现方式的修改。XMLXML解析器把解析器把XMLXML文档中的数文档中的数据解析成层次型
16、的结构化数据,而且相关数据可据解析成层次型的结构化数据,而且相关数据可以被不同的应用程序根据自己的需要加以应用。以被不同的应用程序根据自己的需要加以应用。16 1.3 XML的技术标准 XMLXML标准体系可以分为元语言标准、基础标准和应标准体系可以分为元语言标准、基础标准和应用标准三个层次。用标准三个层次。元语言标准元语言标准 用来描述标准的元语言,在用来描述标准的元语言,在XMLXML标准体系标准体系中只有中只有XMLXML标准是整个体系的核心,其他标准都是通过标准是整个体系的核心,其他标准都是通过其制订的或为其服务的。其制订的或为其服务的。基础标准基础标准 规定了采用规定了采用XMLXM
17、L制订标准时的一些公用特制订标准时的一些公用特征、方法或规则,包括征、方法或规则,包括DTDDTD、XML SchemaXML Schema、XML XML NamespaceNamespace、DOMDOM(Document Object ModelDocument Object Model,文档对象文档对象模型)、模型)、SAXSAX(Simple APIs for XMLSimple APIs for XML,XMLXML简单应用程简单应用程序接口)、序接口)、XPathXPath、XLinkXLink、XPointerXPointer、XSLXSL以及以及RDFRDF(Resource
18、 Description FormatResource Description Format,资源描述框架)资源描述框架)等。等。17 应用标准应用标准 主要包括主要包括XHTMLXHTML(采用采用XMLXML对对HTMLHTML的重新定义)、的重新定义)、SVGSVG(Scalable Vector Scalable Vector GraphicsGraphics,开伸缩向量)、开伸缩向量)、WAPWAP、MathMLMathML(数数学标记语言)、学标记语言)、ebXMLebXML(基于基于XMLXML的电子商务的电子商务数据交换标准)、数据交换标准)、BizTalkBizTalk(微软
19、发起的电子微软发起的电子商务的商务的SchemaSchema库)等。库)等。18 1.4 XML的应用领域 XMLXML的应用可以分为四个大类:的应用可以分为四个大类:(1 1)要求)要求WebWeb客户机在两个或多个不同的数据库之间传客户机在两个或多个不同的数据库之间传递信息的应用;(电子商务属于该类应用)递信息的应用;(电子商务属于该类应用)(2 2)希望将)希望将WebWeb服务器的大量处理负荷转移给服务器的大量处理负荷转移给WebWeb客户客户机的应用;机的应用;(3 3)要求)要求WebWeb客户机把同一数据以不同的表现方式提供客户机把同一数据以不同的表现方式提供给不同用户的应用;给
20、不同用户的应用;(4 4)适应特定用户要求的智能)适应特定用户要求的智能WebWeb工具应用。工具应用。19 第2章 XML基础语法学习目标学习目标 熟练掌握熟练掌握XMLXML的基础语法的基础语法 明确格式良好的明确格式良好的XMLXML文档的要求文档的要求本章内容本章内容 1.1 1.1 XMLXML解析器解析器 1.2 1.2 XMLXML的标记与元素的标记与元素 1.3 1.3 XMLXML的属性的属性 1.4 1.4 XMLXML的文档结构的文档结构 1.5 1.5 格式良好的格式良好的XMLXML文档文档 20 2.1 XML解析器(XML Parse)XMLXML解析器的主要功能
21、时检查解析器的主要功能时检查XMLXML文件是否有结文件是否有结构上的错误,是否剥离构上的错误,是否剥离XMLXML文件中的标记,是否能读文件中的标记,是否能读出正确的内容,以交给下一步的应用程序处理。出正确的内容,以交给下一步的应用程序处理。XMLXML规范对于如何标记文件的结构性有一个详细的法则,规范对于如何标记文件的结构性有一个详细的法则,解析器就是根据这些法则写出来的软件(多用解析器就是根据这些法则写出来的软件(多用JavaJava语言编写)。语言编写)。XML XML文件有两种类型:文件有两种类型:Well-FormedWell-Formed(格式良好格式良好的)的)XMLXML文件
22、、文件、ValidValid(有效的)有效的)XMLXML文件。相对应文件。相对应的,有两种的,有两种XMLXML解析器:解析器:Well-FormedWell-Formed解析器、解析器、ValidValid解析器。解析器。21 Well-Formed XMLWell-Formed XML文件文件 一个满足一个满足XMLXML规范中的某规范中的某些相关法则,且没有使用些相关法则,且没有使用DTDDTD的的XMLXML文件文件 ValidXMLValidXML文件文件 Well-FormedWell-Formed,且正确地使用了且正确地使用了DTDDTD,DTDDTD中的语法又是正确的中的语法
23、又是正确的XMLXML文件文件 IE5.0 IE5.0以上版本内含以上版本内含ValidValid解析器,该解析器也可解析器,该解析器也可以用来解析以用来解析Well-Formed XMLWell-Formed XML文件。文件。22 2.2 XML的标记与元素 元素是元素是XMLXML文档的灵魂,构成文档的灵魂,构成XMLXML文档的主要内容,文档的主要内容,XMLXML元素由元素由XMLXML标记来定义。标记来定义。XMLXML标记有非空标记和空标标记有非空标记和空标记两种,相应地记两种,相应地XMLXML就有非空元素和空元素之分。就有非空元素和空元素之分。2.2.1 2.2.1 非空元素
24、标记非空元素标记 非空元素标记由起始标记非空元素标记由起始标记 和结束标记和结束标记/组成。非空元素由非空元素标记来定义,一般组成。非空元素由非空元素标记来定义,一般形式为:形式为:元素内容元素内容/其中标记名即为元素名,元素内容也称为数据或其中标记名即为元素名,元素内容也称为数据或信息,可以是文本或子元素。信息,可以是文本或子元素。23 命名命名XMLXML标记必须遵守下述两条原则:标记必须遵守下述两条原则:(1 1)标记名的第一个字必须是英文字母或者下划线)标记名的第一个字必须是英文字母或者下划线“_”,“_”,如果在如果在XMLXML声明中把声明中把encodingencoding属性的
25、值设置为属性的值设置为“GB2312”GB2312”,那么第一个字母也可以是中文。那么第一个字母也可以是中文。(2 2)标记名中除第一个字以外的其他字母必须是英文)标记名中除第一个字以外的其他字母必须是英文字母、数字、下划线字母、数字、下划线“_”“_”、端横线、端横线“-”“-”、圆点、圆点“.”“.”。如果在如果在XMLXML声明中把声明中把encodingencoding属性的值设置为属性的值设置为“GB2312”GB2312”,其他字也可以是中文。其他字也可以是中文。另外,在另外,在XMLXML标记中不能使用空格,而且标记中不能使用空格,而且XMLXML标记是大标记是大小写敏感型的标记
26、。小写敏感型的标记。242.2.2 2.2.2 空元素标记空元素标记 XML XML空元素标记的一般形式为空元素标记的一般形式为 ,它定义了它定义了一个一个XMLXML空元素;也可以采用空元素;也可以采用 /的形的形式。空元素并不意味着它一无所有,仅表明该元素不含子式。空元素并不意味着它一无所有,仅表明该元素不含子元素或解析内容,根据需要可以在空元素的标记中加入属元素或解析内容,根据需要可以在空元素的标记中加入属性值。多数情况下,使用空元素的目的是对性值。多数情况下,使用空元素的目的是对XMLXML文档的显文档的显示方式进行排版。示方式进行排版。例例2.22.2为空元素的使用情况,为空元素的使
27、用情况,XMLXML文件如下:文件如下:25?xml version=1.0 encoding=GB2312?!-静夜思静夜思/李白李白/床前明月光,床前明月光,/疑是地上霜。疑是地上霜。/举头望明月,举头望明月,/低头低头思故乡。思故乡。/图图2.1 2.1 包含空元素的包含空元素的XMLXML文档显示结果文档显示结果262.2.3 2.2.3 XMLXML元素间的关系元素间的关系 在描述事物时,在描述事物时,XMLXML采用了计算机科学中得到广泛应用采用了计算机科学中得到广泛应用的树状结构。的树状结构。XMLXML文档在被文档在被XMLXML解析器处理时,其包含的所解析器处理时,其包含的所
28、有信息都被转化成一颗节点树,有信息都被转化成一颗节点树,XMLXML文档中的每一个元素都文档中的每一个元素都可以用树中相应的节点来代表。可以把元素分为可以用树中相应的节点来代表。可以把元素分为根元素根元素和和子元素子元素,根元素包含所有的元素,位于,根元素包含所有的元素,位于XMLXML文档的最上层文档的最上层(如例(如例2.22.2中的中的“唐诗唐诗”元素元素),),子元素是根元素直接包含子元素是根元素直接包含的元素或被其他元素包含的元素(如例的元素或被其他元素包含的元素(如例2.22.2中的中的“诗名诗名”元元素、素、“作者作者”元素以及元素以及“内容内容”元素)。子元素也可以包元素)。子
29、元素也可以包含它自己的子元素,包含子元素的子元素可以称为树枝子含它自己的子元素,包含子元素的子元素可以称为树枝子元素,不包含子元素的子元素称为叶子子元素。元素,不包含子元素的子元素称为叶子子元素。27 2.3 XML的属性 XML XML允许为元素设置属性,属性用来为元素附加一允许为元素设置属性,属性用来为元素附加一些额外的信息。些额外的信息。2.3.1 2.3.1 属性的使用属性的使用 属性以属性以“属性名称属性名称/属性取值属性取值”对出现,属性名不对出现,属性名不能重复,名称与取值之间用等号能重复,名称与取值之间用等号“=”“=”分隔,且取值用分隔,且取值用单引号或双引号引起来。非空元素
30、的属性基本使用格单引号或双引号引起来。非空元素的属性基本使用格式为:式为:空元素的属性基本使用格式为:空元素的属性基本使用格式为:”/28 在为在为XMLXML设置属性时,必须注意三点:设置属性时,必须注意三点:(1 1)属性值必须用单引号或双引号引起来;)属性值必须用单引号或双引号引起来;(2 2)当属性值本身含有引号时,如果属性值本身)当属性值本身含有引号时,如果属性值本身只包含双引号,则使用单引号界定属性值;如果属性只包含双引号,则使用单引号界定属性值;如果属性值本身只包含单引号,则使用双引号界定属性值;如值本身只包含单引号,则使用双引号界定属性值;如果属性值既包含双引号又包含单引号,则
31、属性值中的果属性值既包含双引号又包含单引号,则属性值中的引号就必须通过实体引用方式表示,用引号就必须通过实体引用方式表示,用“&“&apos”apos”表示表示单引号,用单引号,用“&“"”quot”表示双引号;表示双引号;(3 3)同一元素不能含有拼写完全相同的两个属性。)同一元素不能含有拼写完全相同的两个属性。29 XML XML中的属性值可以被用来为元素添加额外的说明中的属性值可以被用来为元素添加额外的说明信息,也就是说可以将同样的一段信息用子元素描述信息,也就是说可以将同样的一段信息用子元素描述或用属性描述。一般来说,对应或用属性描述。一般来说,对应XMLXML中的主要数据使用
32、中的主要数据使用子元素,而对应说明性或辅助性的数据使用属性。子元素,而对应说明性或辅助性的数据使用属性。使用属性具有以下不足之处:使用属性具有以下不足之处:(1 1)属性很难再进行扩展,而使用子元素则可以)属性很难再进行扩展,而使用子元素则可以较容易地实现扩展;较容易地实现扩展;(2 2)属性不能描述对象的数据结构,而子元素可)属性不能描述对象的数据结构,而子元素可以很清楚地表达出数据结构;以很清楚地表达出数据结构;(3 3)对应用程序来说,保存在属性中的数据比保)对应用程序来说,保存在属性中的数据比保存在子元素中的数据更难操作;存在子元素中的数据更难操作;(4 4)使用属性将增加编写有效性验
33、证文件的难度)使用属性将增加编写有效性验证文件的难度。2.3.2 属性和子元素30 在某些情况下使在某些情况下使用属性可以带来相当用属性可以带来相当大的好处,比如可以大的好处,比如可以在在XMLXML文档中通过设置文档中通过设置IDID号来清楚地区分具号来清楚地区分具有相同名字但包含不有相同名字但包含不同内容的多个元素,同内容的多个元素,或者通过设置属性来或者通过设置属性来保存一些保存一些URLURL地址等。地址等。例例2.52.5表明使用属性有表明使用属性有时可以明显增加时可以明显增加XMLXML文文档的可读性。档的可读性。?xml version=1.0 encoding=GB2312?I
34、D=001 王成王成/027-86541586027-86541586 /ID=002 李春波李春波/1355433528013554335280 /312.4.1 2.4.1 逻辑结构逻辑结构 逻辑结构指的是一份文件应该如何被建立。一个逻辑结构指的是一份文件应该如何被建立。一个XMLXML文档通常以一个文档通常以一个XMLXML声明开始,通过声明开始,通过XMLXML元素来组织元素来组织XMLXML数据。数据。(1 1)XMLXML声明声明 是处理指令的一种。格式如下:是处理指令的一种。格式如下:?xml version=1.0 encoding=GB2312 standalone=no?2
35、.4 XML文档结构版本号版本号 数据所采数据所采用的编用的编码标准码标准该该XMLXML文档是否和一个文档是否和一个外部文档类型定义外部文档类型定义DTDDTD配套使用配套使用32 (2 2)元素)元素 是是XMLXML文档内容的基本单元。形式为:文档内容的基本单元。形式为:数据内容数据内容/标记用来定义元素,需符合如下语法:标记用来定义元素,需符合如下语法:标记必不可少标记必不可少 大小写有别大小写有别 要有正确的结束标记要有正确的结束标记 标记要正确嵌套标记要正确嵌套 标记命名要合法标记命名要合法 有效使用属性有效使用属性33 (3 3)CDATACDATA段段 在在CDATACDATA
36、段段中,信息被解析器原封不动地传中,信息被解析器原封不动地传给应用程序,并且不解析该段信给应用程序,并且不解析该段信息中的任何控制标记。形式为息中的任何控制标记。形式为:!(4 4)注释)注释 为了便于理解和阅读,在为了便于理解和阅读,在XMLXML文档中添加文档中添加的附加信息,将不会被程序解释或者浏览器显示。注释的的附加信息,将不会被程序解释或者浏览器显示。注释的方法是用方法是用“!-”“”-”将注释文本引起来。需注意:将注释文本引起来。需注意:在注释文本中不能出现字符在注释文本中不能出现字符“-”“-”或字符串或字符串“-”“-”不要把注释文件放在标记之中不要把注释文件放在标记之中 不要
37、把注释文件放在实体声明之中或之前不要把注释文件放在实体声明之中或之前 注释不能被嵌套注释不能被嵌套34 (5 5)处理指令()处理指令(PIPI)用来给处理用来给处理XMLXML文档的应用程文档的应用程序提供信息,序提供信息,XMLXML解析器把这些信息原封不动地传给应用程解析器把这些信息原封不动地传给应用程序,由应用程序来解释这个指令,遵照它所提供的信息进序,由应用程序来解释这个指令,遵照它所提供的信息进行处理。处理指令应该遵循如下格式:行处理。处理指令应该遵循如下格式:?在第在第1 1章中,我们使用了一条处理指令:章中,我们使用了一条处理指令:?xml:stylesheet type=te
38、xt/xsl href=xsl?这条指令是这条指令是W3CW3C为连接样式表所特别规定的,它的作用为连接样式表所特别规定的,它的作用是让浏览器去寻找一个名为图书信息是让浏览器去寻找一个名为图书信息2.2.xslxsl的样式表文件。的样式表文件。352.4.2 2.4.2 物理结构物理结构 从物理结构上讲,从物理结构上讲,XMLXML文档是由一个或多个存贮单元构成文档是由一个或多个存贮单元构成的,这些存贮单元就是所谓的实体。所有的,这些存贮单元就是所谓的实体。所有XMLXML文档都包含一个文档都包含一个“根实体根实体”,又称作,又称作“文档实体文档实体”,该实体由,该实体由XMLXML本身给出,
39、本身给出,无须显式定义就可以使用,实际上是指整个文档的内容,是无须显式定义就可以使用,实际上是指整个文档的内容,是XMLXML语法分析器处理的起点;其他的实体都用名字来标识,在语法分析器处理的起点;其他的实体都用名字来标识,在文件类型定义文件类型定义DTDDTD中给出定义。对于:中给出定义。对于:武汉理工大学管理学院武汉理工大学管理学院 430070/430070 我们将上述通信地址定义为一个通用实体:我们将上述通信地址定义为一个通用实体:!则可以进行如下引用:则可以进行如下引用:&address_WHUT;/address_WHUT;36 实体分为两类:内部实体和外部实体,完全在文实体分为两
40、类:内部实体和外部实体,完全在文档实体内部定义的实体称为内部实体,文档本身就是档实体内部定义的实体称为内部实体,文档本身就是内部实体,一个内部实体,一个XMLXML文档至少包含一个内部实体文文档至少包含一个内部实体文档本身。经由档本身。经由URIURI(Uniform Resource IdentifierUniform Resource Identifier,统一资源标识符)定位的资源中获取的数据称为外部统一资源标识符)定位的资源中获取的数据称为外部实体,主文档中仅包含一个实际引用数据位置的实体,主文档中仅包含一个实际引用数据位置的URIURI。实体定义后,就可以被引用。实体定义后,就可以被
41、引用。通用实体引用以通用实体引用以“&”“&”符号开始,以符号开始,以“;”“;”符号结束。符号结束。例如,例如,“&“<”lt;”就是小于符号(就是小于符号()的通用实体引用,实体名为)的通用实体引用,实体名为ltlt。37 实体引用有以下几点规则:实体引用有以下几点规则:(1 1)除了除了XMLXML标准规定的预定义实体外,在标准规定的预定义实体外,在XMLXML文档文档引用一个实体之前,必须已经对该实体进行过声明;引用一个实体之前,必须已经对该实体进行过声明;(2 2)实体引用中不能出现空格;)实体引用中不能出现空格;(3 3)在一个实体中可以引用其他实体,但是不能出)在一个实体中
42、可以引用其他实体,但是不能出现循环引用;现循环引用;(4 4)实体引用的文档必须符合)实体引用的文档必须符合XMLXML语法的种种要求;语法的种种要求;38 (5 5)任何一个独立的逻辑要素,比如元素、标记、)任何一个独立的逻辑要素,比如元素、标记、注释、处理指令和实体引用等等,都不能开始于一个注释、处理指令和实体引用等等,都不能开始于一个实体,而结束于另一实体;实体,而结束于另一实体;(6 6)如果属性中出现实体引用,除了必须遵守上)如果属性中出现实体引用,除了必须遵守上述规则外,还要注意以下两点:述规则外,还要注意以下两点:在标记属性中不能引用一个外部实体在标记属性中不能引用一个外部实体
43、引用的文本中不能出现字符引用的文本中不能出现字符“”,“”,否则替换否则替换后就不再是一个后就不再是一个“格式良好的格式良好的”XMLXML文件了文件了39 格式良好的格式良好的XMLXML文档需满足下列准则:文档需满足下列准则:(1 1)文档必须以)文档必须以XMLXML声明开始声明开始 (2 2)在)在XMLXML文件中有且只能有一个根元素文件中有且只能有一个根元素 (3 3)所有的)所有的XMLXML元素都必须要有一个结束标志元素都必须要有一个结束标志 (4 4)所有的)所有的XNLXNL元素的嵌套必须正确元素的嵌套必须正确 (5 5)属性值必须加引号)属性值必须加引号 (6 6)XNLXNL标记是大小写敏感的标记是大小写敏感的 (7 7)XMLXML处理空白字符和处理空白字符和HTMLHTML不一样不一样 HTMLHTML标准规定,不管有多少个空白,都当作一个空白标准规定,不管有多少个空白,都当作一个空白来处理;而来处理;而XMLXML中规定,所有标记以外的空白,解析器都要中规定,所有标记以外的空白,解析器都要如实地交给应用程序处理。如实地交给应用程序处理。2.5 格式良好的XML文档40