《XML与电子商务-第1、2章XML简介及基础语法.ppt》由会员分享,可在线阅读,更多相关《XML与电子商务-第1、2章XML简介及基础语法.ppt(40页珍藏版)》请在三一办公上搜索。
1、1,XML与电子商务XML and Electronic Commerce,王庆国 博士、副教授管理学院Email:,2,参考教材,熊前兴.XML与电子商务.武汉:武汉理工大学出版社,2005方美琪.XML及其在电子商务中的应用.北京:清华大学出版社,2003Heather Williamson著,智慧东方工作室译.XML技术大全.北京:机械工业出版社,2002Simon St.Laurent著,康晓林等译.XML基础教程.北京:电子工业出版社,2000Gary P.Schneider著,成栋等译.电子商务.北京:机械工业出版社,2004王虎,李赤林编.电子商务.武汉:武汉理工大学出版社,20
2、03,3,学习目的,了解XML的发展过程、功能、技术标准以及应用领域掌握XML的基础语法掌握DTD和XML Schema描述信息结构的方法熟悉XML命名空间的由来、定义方法以及用法掌握CSS和XSL格式化XML文档的方法掌握标准接口程序DOM与SAX熟悉XML链接规范语言Xlink、XML Base和Xpointer熟悉电子商务的概念以及基于XML的电子商务标准与平台了解基于XML和Internet的EDI的系统模型熟悉电子商务系统的开发过程,4,讲授内容,第1章:XML简介第2章:XML基础语法第3章:DTD和XML Schema第4章:XML命名空间Namespaces第5章:CSS和XS
3、L第6章:DOM和SAX第7章:XML链接与查询第8章:XML与电子商务平台第9章:基于XML与互联网的EDI第10章:一个电子商务系统原型的开发,5,第1章 XML简介,学习目标 了解XML的产生与发展过程 熟悉XML的主要功能、技术标准以及应用领域本章内容 1.1 XML的产生与发展 1.2 XML的主要功能 1.3 XML的技术标准 1.4 XML的应用领域,6,1.1 XML的产生与发展,XML(eXtensible Markup Language,可扩展标记语言)是由W3C制订的一种标记语言,用于对Web上有格式的数据进行描述、传输和操作。,GML(通用标记语言)SGML(标准通用标
4、记语言)HTML(超文本标记语言)XML(可扩展标记语言),7,一个SGML语言程序由三部分组成:语法定义、文件类型定义(DTDDocument Type Definition)以及文件实例。语法定义定义了文件类型定义和文件实例的语法结构;文件类型定义定义了文件实例的结构和组成结构的元素类型;文件实例是SGML语言程序的主体部分。HTML是一种描述性语言,是一种按SGML定义的语言,采用标记定义文本的特殊格式。HTML文档包含两种信息:页面本身的文本和表示页面元素、结构、格式及其他超文本链接的HTML标记。HTML标记规定了HTML文本的逻辑结构,并且控制其显示格式。,8,HTML文件实际上由
5、标记和被标记的内容组成,标记可以根据需要加上属性。格式为:受标记影响的内容 或 受标记影响的内容 教材第5页的例1.1涵盖上述两种格式,大家可以参照该实例进行操作,比较显示效果。,图1.1 显示一本图书信息,9,HTML在网络应用中表现出三个方面的缺点:扩展困难 HTML只采用了部分SGML思想,即文档表示标准化,只用了一个固定的元素类型集,使得用户不能在其中增加有意义的并且能供他们使用的标记。语义性差 侧重于网页表现形式的描述,疏于对信息语义及其内部结构的描述,不能对由各种标记所定义的数据含义进行说明。缺乏对双字节或多国文字的支持,10,XML是一个精简的SGML,它将SGML的丰富功能与H
6、TML的易用性结合到Web的应用中。通过在数据中假如附加信息的方式来描述结构化数据,并只通过结构而不是表现形式约束数据,从而使数据的内容和显示分开,有利于信息的表达和结构化组织,使数据搜索更有效,也使得数据的表现可以多样化;允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。一般来说,HTML只是Web显示数据的通用方法,着重描述Web页面的显示格式;而XML提供了一个直接处理Web数据的通用方法,着重描述的是Web页面的内容。,11,1.2 XML的主要功能,对于图1.1显示的一本图书信息,我们可以编写XML文件来实现,文件内容如下:21世纪计算机基础教程 熊前兴 华中科技大学出版
7、社 7-900633-10-3 28.00,12,可以看出,XML文件和HTML文件一样,实际上也是一个纯文本文件,保存为以.xml后缀的文件。XML文件包括文件序言和文件主体两部分。文件序言必须放在文件的第一行,它告诉XML解析器如何工作;文件主体存放文件内容信息。与HTML不同的是,XML的标记是我们自定义的,具有明确的含义,用户可以对标记的内容的含义作出说明,具有良好的可扩展性。但是XML文档只包含数据信息,不包括显示信息,要显示图1.1式样的信息,可以使用样式表语言XSL(eXtensible Stylesheet Language,可扩展样式表语言)。我们编写了名为图书信息1.xsl
8、的XSL文件,可以显示图1.1试样的信息,文件内容如下:,13,图书信息书名作者出版社ISBN定价,14,我们可以通过调整XSL文件来改变相关信息的显示方式,我们编写了名为图书信息2.xsl的XSL文件,可以显示图1.2式样的信息,文件内容如下:,图1.2 图书信息的另外一种显示方式,15,图书信息书名作者出版社ISBN定价,16,由于内容和显示分开,使得XML文档具有良好的自描述性,能够描述数据信息本身的含义甚至它们之间的关系,有利于信息的表达和结构化组织,从而提高了信息搜索的效率,一个XML文档可以配上不同的样式表进行显示,也方便了信息表现方式的修改。XML解析器把XML文档中的数据解析成
9、层次型的结构化数据,而且相关数据可以被不同的应用程序根据自己的需要加以应用。,17,1.3 XML的技术标准,XML标准体系可以分为元语言标准、基础标准和应用标准三个层次。元语言标准 用来描述标准的元语言,在XML标准体系中只有XML标准是整个体系的核心,其他标准都是通过其制订的或为其服务的。基础标准 规定了采用XML制订标准时的一些公用特征、方法或规则,包括DTD、XML Schema、XML Namespace、DOM(Document Object Model,文档对象模型)、SAX(Simple APIs for XML,XML简单应用程序接口)、XPath、XLink、XPointe
10、r、XSL以及RDF(Resource Description Format,资源描述框架)等。,18,应用标准 主要包括XHTML(采用XML对HTML的重新定义)、SVG(Scalable Vector Graphics,开伸缩向量)、WAP、MathML(数学标记语言)、ebXML(基于XML的电子商务数据交换标准)、BizTalk(微软发起的电子商务的Schema库)等。,19,1.4 XML的应用领域,XML的应用可以分为四个大类:(1)要求Web客户机在两个或多个不同的数据库之间传递信息的应用;(电子商务属于该类应用)(2)希望将Web服务器的大量处理负荷转移给Web客户机的应用;
11、(3)要求Web客户机把同一数据以不同的表现方式提供给不同用户的应用;(4)适应特定用户要求的智能Web工具应用。,20,第2章 XML基础语法,学习目标 熟练掌握XML的基础语法 明确格式良好的XML文档的要求本章内容 1.1 XML解析器 1.2 XML的标记与元素 1.3 XML的属性 1.4 XML的文档结构 1.5 格式良好的XML文档,21,2.1 XML解析器(XML Parse),XML解析器的主要功能时检查XML文件是否有结构上的错误,是否剥离XML文件中的标记,是否能读出正确的内容,以交给下一步的应用程序处理。XML规范对于如何标记文件的结构性有一个详细的法则,解析器就是根
12、据这些法则写出来的软件(多用Java语言编写)。XML文件有两种类型:Well-Formed(格式良好的)XML文件、Valid(有效的)XML文件。相对应的,有两种XML解析器:Well-Formed解析器、Valid解析器。,22,Well-Formed XML文件 一个满足XML规范中的某些相关法则,且没有使用DTD的XML文件 ValidXML文件 Well-Formed,且正确地使用了DTD,DTD中的语法又是正确的XML文件 IE5.0以上版本内含Valid解析器,该解析器也可以用来解析Well-Formed XML文件。,23,2.2 XML的标记与元素,元素是XML文档的灵魂,
13、构成XML文档的主要内容,XML元素由XML标记来定义。XML标记有非空标记和空标记两种,相应地XML就有非空元素和空元素之分。2.2.1 非空元素标记 非空元素标记由起始标记和结束标记组成。非空元素由非空元素标记来定义,一般形式为:元素内容 其中标记名即为元素名,元素内容也称为数据或信息,可以是文本或子元素。,24,命名XML标记必须遵守下述两条原则:(1)标记名的第一个字必须是英文字母或者下划线“_”,如果在XML声明中把encoding属性的值设置为“GB2312”,那么第一个字母也可以是中文。(2)标记名中除第一个字以外的其他字母必须是英文字母、数字、下划线“_”、端横线“-”、圆点“
14、.”。如果在XML声明中把encoding属性的值设置为“GB2312”,其他字也可以是中文。另外,在XML标记中不能使用空格,而且XML标记是大小写敏感型的标记。,25,2.2.2 空元素标记 XML空元素标记的一般形式为,它定义了一个XML空元素;也可以采用的形式。空元素并不意味着它一无所有,仅表明该元素不含子元素或解析内容,根据需要可以在空元素的标记中加入属性值。多数情况下,使用空元素的目的是对XML文档的显示方式进行排版。例2.2为空元素的使用情况,XML文件如下:,26,静夜思 李白 床前明月光,疑是地上霜。举头望明月,低头思故乡。,图2.1 包含空元素的XML文档显示结果,27,2
15、.2.3 XML元素间的关系 在描述事物时,XML采用了计算机科学中得到广泛应用的树状结构。XML文档在被XML解析器处理时,其包含的所有信息都被转化成一颗节点树,XML文档中的每一个元素都可以用树中相应的节点来代表。可以把元素分为根元素和子元素,根元素包含所有的元素,位于XML文档的最上层(如例2.2中的“唐诗”元素),子元素是根元素直接包含的元素或被其他元素包含的元素(如例2.2中的“诗名”元素、“作者”元素以及“内容”元素)。子元素也可以包含它自己的子元素,包含子元素的子元素可以称为树枝子元素,不包含子元素的子元素称为叶子子元素。,28,2.3 XML的属性,XML允许为元素设置属性,属
16、性用来为元素附加一些额外的信息。2.3.1 属性的使用 属性以“属性名称/属性取值”对出现,属性名不能重复,名称与取值之间用等号“=”分隔,且取值用单引号或双引号引起来。非空元素的属性基本使用格式为:空元素的属性基本使用格式为:,29,在为XML设置属性时,必须注意三点:(1)属性值必须用单引号或双引号引起来;(2)当属性值本身含有引号时,如果属性值本身只包含双引号,则使用单引号界定属性值;如果属性值本身只包含单引号,则使用双引号界定属性值;如果属性值既包含双引号又包含单引号,则属性值中的引号就必须通过实体引用方式表示,用“&apos”表示单引号,用“"”表示双引号;(3)同一元素不能
17、含有拼写完全相同的两个属性。,30,XML中的属性值可以被用来为元素添加额外的说明信息,也就是说可以将同样的一段信息用子元素描述或用属性描述。一般来说,对应XML中的主要数据使用子元素,而对应说明性或辅助性的数据使用属性。使用属性具有以下不足之处:(1)属性很难再进行扩展,而使用子元素则可以较容易地实现扩展;(2)属性不能描述对象的数据结构,而子元素可以很清楚地表达出数据结构;(3)对应用程序来说,保存在属性中的数据比保存在子元素中的数据更难操作;(4)使用属性将增加编写有效性验证文件的难度。,2.3.2 属性和子元素,31,在某些情况下使用属性可以带来相当大的好处,比如可以在XML文档中通过
18、设置ID号来清楚地区分具有相同名字但包含不同内容的多个元素,或者通过设置属性来保存一些URL地址等。例2.5表明使用属性有时可以明显增加XML文档的可读性。,王成 027-86541586 李春波,32,2.4.1 逻辑结构 逻辑结构指的是一份文件应该如何被建立。一个XML文档通常以一个XML声明开始,通过XML元素来组织XML数据。(1)XML声明 是处理指令的一种。格式如下:,2.4 XML文档结构,版本号,数据所采用的编码标准,该XML文档是否和一个外部文档类型定义DTD配套使用,33,(2)元素 是XML文档内容的基本单元。形式为:数据内容 标记用来定义元素,需符合如下语法:标记必不可
19、少 大小写有别 要有正确的结束标记 标记要正确嵌套 标记命名要合法 有效使用属性,34,(3)CDATA段 在CDATA段中,信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。形式为:,(4)注释 为了便于理解和阅读,在XML文档中添加的附加信息,将不会被程序解释或者浏览器显示。注释的方法是用“”将注释文本引起来。需注意:在注释文本中不能出现字符“-”或字符串“-”不要把注释文件放在标记之中 不要把注释文件放在实体声明之中或之前 注释不能被嵌套,35,(5)处理指令(PI)用来给处理XML文档的应用程序提供信息,XML解析器把这些信息原封不动地传给应用程序,由应用程序来解
20、释这个指令,遵照它所提供的信息进行处理。处理指令应该遵循如下格式:在第1章中,我们使用了一条处理指令:这条指令是W3C为连接样式表所特别规定的,它的作用是让浏览器去寻找一个名为图书信息2.xsl的样式表文件。,36,2.4.2 物理结构 从物理结构上讲,XML文档是由一个或多个存贮单元构成的,这些存贮单元就是所谓的实体。所有XML文档都包含一个“根实体”,又称作“文档实体”,该实体由XML本身给出,无须显式定义就可以使用,实际上是指整个文档的内容,是XML语法分析器处理的起点;其他的实体都用名字来标识,在文件类型定义DTD中给出定义。对于:武汉理工大学管理学院 430070 我们将上述通信地址
21、定义为一个通用实体:则可以进行如下引用:,37,实体分为两类:内部实体和外部实体,完全在文档实体内部定义的实体称为内部实体,文档本身就是内部实体,一个XML文档至少包含一个内部实体文档本身。经由URI(Uniform Resource Identifier,统一资源标识符)定位的资源中获取的数据称为外部实体,主文档中仅包含一个实际引用数据位置的URI。实体定义后,就可以被引用。通用实体引用以“”就是小于符号()的通用实体引用,实体名为lt。,38,实体引用有以下几点规则:(1)除了XML标准规定的预定义实体外,在XML文档引用一个实体之前,必须已经对该实体进行过声明;(2)实体引用中不能出现空
22、格;(3)在一个实体中可以引用其他实体,但是不能出现循环引用;(4)实体引用的文档必须符合XML语法的种种要求;,39,(5)任何一个独立的逻辑要素,比如元素、标记、注释、处理指令和实体引用等等,都不能开始于一个实体,而结束于另一实体;(6)如果属性中出现实体引用,除了必须遵守上述规则外,还要注意以下两点:在标记属性中不能引用一个外部实体 引用的文本中不能出现字符“”,否则替换后就不再是一个“格式良好的”XML文件了,40,格式良好的XML文档需满足下列准则:(1)文档必须以XML声明开始(2)在XML文件中有且只能有一个根元素(3)所有的XML元素都必须要有一个结束标志(4)所有的XNL元素的嵌套必须正确(5)属性值必须加引号(6)XNL标记是大小写敏感的(7)XML处理空白字符和HTML不一样 HTML标准规定,不管有多少个空白,都当作一个空白来处理;而XML中规定,所有标记以外的空白,解析器都要如实地交给应用程序处理。,2.5 格式良好的XML文档,