资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,XML,XML,基础,XML,概览,XML,应用简介,第一个,XML,文档,数据的结构化,特性、空标记和,XSL,结构完整的,XML,文档,为什么要学习,XML,数据交换的需要,电子商务的基础,可扩展的开放的标记语言,XML,知识体系,XML,语法规则,XML,核心技术,文档描述、验证、约束技术 ,DTD/Schema,文档转换技术,XSL,数据查询技术,XPath,链接技术,XLink/XPointer,编程接口,DOM/SAX,主要内容,XML,基本格式,XML,描述、验证、约束技术,XML,数据转换,DOM,XML,应用,什么是,XML,XML-,e,X,tensible,M,arkup,L,anguage,传统的系统已经远远不足以来表达复杂的信息,简单的语言根本无法表达出一些细微的差别, 需要更为完整的语言来表达网络世界里日益丰富繁杂的信息内涵。,XML-,可扩展标记语言便由此应运而生了,它的出现一改,HTML,只追求美观的效果,而不重视实际交流应用的现象,,把语言的核心从装饰应用转变为商务应用,它的出现把网络表达的语言集合推进了一大步,,XML,传递信息,表达知识,,具有跨平台的特性,,它作为数据交换和网络计算的基础,将无可非议的成为网络的通用语言,尤其是在电子商务的应用上的出色表现,现在已经没有人怀疑它给信息社会带来的革命性影响了。,XML,是元标记语言,关于,XML,要理解的第一件事是,它不只是像超文本标记语言(,Hypertext Markup Language,,,HTML,),或是格式化的程序。,这些语言定义了一套,固定,的标记,用来描述一定数目的元素。如果标记语言中没有所需的标记,用户也就没有办法了。这时只好等待标记语言的下一个版本,希望在新版本中能够包括所需的标记,但是这样一来就得依赖于软件开发商的选择了,XML,是元标记语言,但是,XML,是一种元标记语言。用户可以定义自己需要的标记。这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。例如,假如用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、结婚、离婚等,这就必须创建用于每项的标记。新创建的标记可在,文档类型定义,(,Document Type Definition,,,在以后的篇幅中常简称为,DTD,),中加以描述。在后面将会学到有关,DTD,的更多的知识。现在,只需把,DTD,看作是一本词汇表和某类文档的句法。,XML,是元标记语言,有了,XML,就意味着不必等待浏览器的开发商来满足用户的需要了。用户可以创建自己需要的标记,当需要时,告诉浏览器如何显示这些标记就可以了,XML,描述的是结构和语义,而不是格式化,关于,XML,要了解的第二件事是,,XML,标记描述的是文档的,结构和意义,。,它不描述页面元素的格式化,。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么标记,而不是说明文档看起来是什么样的,XML,描述的是结构和语义,而不是格式化,作为对照,,HTML,文档包括了格式化、结构和语义的标记。,就是一种格式化标记,它使其中的内容变为粗体。,是一种语义标记,意味着其中的内容特别重要。,是结构标记,指明内容是表中的一个单元。事实上,某些标记可能具有所有这三种意义。,标记可同时表示,20,磅的,Helvetica,字体的粗体、第一级标题和页面标题。,什么是标记语言,当我们需要通过标记将有用的信息告知一组用户时:,(1),我们必须有一个标准,用它来描述什么是有效的标记。,HTML,中,标记就是所谓的“标签”(,tag),。,(2),我们还要有一个标准描述每个标记的具体含义。,XML,的制定目标,XML,应该可以在互联网上直接使用,XML,应该支持各种不同的应用方式,处理,XML,文件的应用程序应该容易编写,XML,中的可选特性的数量应该减到最小,最好减至没有,XML,文件应该具有良好的可读性,并且比较清晰,用,XML,设计新的标记语言应该方便快捷,XML,设计的标记语言应该正式、简洁,XML,文件应该容易编制,XML,标记的简洁性并不重要,Extensible Markup Language (XML) 1.0 Specs, The Annotated Version,XML,的制定目标,可扩充性,语义与表现形式的分离,在,Internet,上的可用性,简单性,国际化,HTML,缺陷, TOM CRUISE,客户编号,: 100,公司名称,:,文华学院,电子邮件,:,cs,电话,: 021-77339771,地址,:,上海市陕西南路,邮编,: 200433,HTML,缺陷,基于,HTML,的操作就象一个奇特的传真机,-,传送文档到想要的人,,HTML,有以下缺陷:,没有表达内容的含义,并且只能用,预定义的标记,HTML,是“肤浅的”,,HTML,关心的是,外观,结构层次过于单调,无法真正实现数据交互,链接机制不完善,不可重用,在网上,有很多类型的信息,但是很难找到你想要的信息片段,XML,的优越性,XML,是使信息,自描述,的新语言。,信息共享,自定义数据格式,而且很容易使用工具读写,数据传递,支持各种通道的数据传输,数据重用,分离数据和显示,可扩展,文档包含语义,其他,容易阅读,/,工具,/,树形结构,面向对象编程,张三,001,A,公司,zhang,aaa,.com,(010)62345678,五街1234号,北京市,北京,100001,李四,002,B,公司,li,bbb,.org,(021)87654321,南京路9876号,上海,上海,200002,张三,用户,ID: 001,公司:,A,公司,EMAIL:,zhang,aaa,.com,电话: (010)62345678,地址: 五街1234号,城市: 北京市,省份: 北京,ZIP: 100001,李四,ID: 002,公司:,B,公司,EMAIL:,li,bbb,.org,电话: (021)87654321,地址: 南京路9876号,城市: 上海市,省份: 上海,ZIP: 200002,HTML,XML,XML,vs,HTML,XML,的优点,1.,更为有意义的搜索,-,由于数据可以被,XML,唯一标识,所以搜索起来更为准确简便,XML,可以不管你数据库的数据结构如何,直接按照你的需要分类,这样便于统一搜索的高速准确。,2.,开发灵活的,web,应用软件,-,XML,数据能够被结构化地发送到其它软件,对象或服务器上作进一步处理。这对于开发灵活应用的,web,软件有很大帮助。,3.,不同来源的数据的集成,,XML,提供了将不同来源的结构化数据集成的强大功能,也能实现不兼容数据库的搜索。,4.,多种应用得到数据,-,XML,的扩展性使得它可以使数据不需要内部描述就能被交换和处理,因为它的数据都是自我描述的。,XML,的优点,5.,本地计算和处理,-,XML,格式的数据发送给客户后,允许客户使用,XML,文档对象,DOM,用脚本语言或其他编程语言来处理,数据不需返回服务器在本地就能进行计算。解放了一些只能在服务器上运行的高端软件。,6.,数据的多功能显示,-,XML,支持的显示模式可以使数据与内容分开,显示可以根据客户的配置而有所不同,即个性化显示。,7.,颗粒状更新,-,当每一部分数据变化后,不需重新改变整个结构,只要将变化的部分从服务器发给客户就可以了,有很强的可维护性。,8. 在,web,上发送数据,-,XML,不需对现在的网络作任何变化就能和,HTML,一样发送数据。,9.,可适性,-,使用,XML,可以自己定义一套适合自己的标准,在适合的范围里使用,XML,的发展史,XML,有两个先驱,SGML,和,HTML,,,这两个语言都是非常成功的标记语言,但是他们都在某些方面存在着与生俱来的缺陷。,XML,正是为了解决它们的不足而诞生的。,SGML,的全称是标准通用化标记语言,它从,80,年代初开始使用。正如,XML,一样,,SGML,也可用于创建成千上万的标记语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前,,SGML,多用于科技文献和政府办公文件中。,HTML,免费、简单,而且它获得了广泛的支持。它是一个非常简单的,SGML,语言,可以方便普通人的使用。而正如设计之初所构想的那样,,HTML,现在在世界范围内得到了广泛的应用。不幸的是,,HTML,有许多致命的弱点,XML,定义的标记语言家族,自从,XML,诞生以来,又有一大批用,XML,定义的新的标记语言随之诞生,它们有的仍处在草案阶段,还有一些已经由,W3C,推荐成为正式标准,开始在各个领域发挥着它们、同时也是,XML,的巨大优势。,GML(1969),SGML(1985),XML(1998),HTML(1993),WML,SVG,CML,MathML,XHTML,.,基本的,XML,语法(格式正规的,XML),XML,文档结构,XML,文档专用标记,元素和属性,字符和实体引用,XML1.0,语法,XML,是自描述数据,使用现有的国际标准,格式正规的,XML,(,本章主要介绍格式正规的,XML,的语法规则),有效的,XML,XML,解析器,什么是,XML,解析器,读取,XML,文档并提供对文档内容的访问的软件模块。,类型:,无验证的解释器和验证的解释器,解析器,MSXML IE,IBM XML4J,Apache,Xerces,Oracel,XML Parser,创建一个简单的,XML,文档,采用记事本编写一个简单的,xml,文档:,hello.xml,考察简单的,XML,文档,第一行是,XML,声明,这是,XML,处理指令的例子。处理指令以,结束。在,?,后的第一个单词是处理指令名,在本例中是,xml,考察简单的,XML,文档,XML,声明有,version,和,standalone,两个特性。特性是由等号分开的名称,-,数值对。位于等号左边的是特性名,而其值位于等号的右边,并用,双引号或单引号,括起来,每一个,XML,文档都以一个,XML,声明开始,用以指明所用的,XML,的版本。在上例中,,version,特性表明这个文档符合,XML 1.0,规范。,XML,声明还可以有,standalone,特性,这告诉我们文档是否在这一个文件里还是需要从外部导入文件。在本例中,所有的文档都在一个文件里完成,因而,standalone,特性的值要设置为,yes,考察简单的,XML,文档,Hello World!,总体上说,这三行组成了,GREETING,元素。分开说,,是开始标记,而,是结束标记,,Hello,World,!,是,GREETING,元素的内容,考察简单的,XML,文档,大家可能要问,,标记的意义是什么?回答是,“,你要让它是什么就是什么,”,。除了预定义的标记之外,,XML,还允许用户,创建,所需的标记。因而,标记可以具有用户赋于的任何意义。同一个,XML,文档可以用不同的标记名编写,为,XML,文档编写样式单,XML,允许用户来创建任何所需要的标记。当然,由于用户在创建标记上有完全的自由,因而通用的浏览器无法预期用户的标记的意义,也无法为显示这些标记而提供规则。因而,用户必须为文档编写样式单,告诉浏览器如何显示特定的标记。与标记集类似,用户创建的样式单可由不同的文档不同的人所共享,还可将自己创建的样式单与其他人编写的样式单集成在一起,为,XML,文档编写样式单,采用记事本编写一个简单的,css,文档:,hello.css,为,XML,文档编写样式单,现在有不止一种样式单语言可以使用。这里所用的是级联样式单(,Cascading Style Sheets,,,简写为,CSS,)。,CSS,的优势在于它是,W3C,制定的标准,为编写,HTML,的许多人所熟悉,且被具有,XML,能力的浏览器所支持。,另一种可能的选择是可扩展的样式语言(,Extensible Style Language)。XSL,是当前最强大和灵活的样式语言,是特别为应用,XML,而设计的。但是,,XSL,比,CSS,更为复杂,将样式单附加到,XML,文档上,在编写好,XML,文档和用于该文档的,CSS,样式单之后,还需要告诉浏览器将样式单作用到该文档上。方法是在,XML,文档中包括另一个,处理指令,,以便指定所要使用的样式单,XML,文档实例分析,catalog,xmlns,= Abercrombie, Kim XML Developers Guide Computer 44.95 2000-10-01 ,Kress, Peter, Paradox Lost Science Fiction 6.95 2000-11-02 ,序言,文档元素,根元素,属性,元素,注释,文档,类型,定义,XML,声明,文本,XML,文档,XML,声明,XML,声明一般是,XML,文档的第一行,XML,声明由以下几个部分组成:,version - -,文档符合,XML1.0,规范,现在只有,1.0,encoding - -,文档字符编码,默认为,UTF-8,standalone - -,文档定义是否在一个文件内,standalone=yes,standalone=no,XML,文档根元素,每个,XML,文档,必须有且只有一个根元素,。,根元素是一个完全包括文档中其他所有元素的元素。,根元素的起始标记要放在所有其他元素的起始标记之前。,根元素的结束标记要放在所有其他元素的结束标记之后。,XML,文档元素,APTech,Ltd.,元素,TITLE,开始标记,结束标记,内容,空元素,TITLE,空元素,TITLE,元素之间的关系:子元素,/,父元素、祖先,/,后代,元素内容的类型:,嵌套元素,/,字符数据,/,实体引用,/,CDATA,节/,处理指令,/,注释,XML,文档属性,TOM,属性值用双引号(,)或单引号(,)分隔(如果属性值中有,,用,分隔;有,,用,分隔),一个元素可以有多个属性,它的基本格式为:,特定的属性名称在同一个元素标记中只能出现一次,属性值不能包括, &,实体,作用:避免重复输入 ,(,宏、变量),XML,中预定义实体,自定义实体语法:,!,DOCTYPE,根元素,引用已定义的实体:,&,实体名,;,实体,符号,&,lt,;,&,&,quot,;,&,apos,;,XML,专用标记(,1,)注释,注释内容中不要出现,-,;,不要把注释放在标记中间;,TOM,注释不能嵌套;,可以在除标记以外的任何地方放注释。,XML,专用标记(,2,)处理指令,PI,处理指令用于,XML,解析器传递信息到应用程序。,XML,解析器是读取并保存,XML,文档内容的软件模块,应用程序是从解析器获取文档内容并处理和显示这些内容的独立软件模块,IE,同时提供,XML,解析器和应用部分,语法:,PI,必须以一个叫做目标的标识符开头,,这个标识符遵从如同元素和属性一样的规则,目标是指令所指向的应用的名称。,指令是传递给应用程序的信息。,结束,样式表处理指令,样式表处理指令,xml-,stylesheet,。,这个处理指令必须出现在序言部分,在根元素之前。,type=text/,css,或者,type=text/,xsl,XML,专用标记(,3,),CDATA,节,用于把整段文本解释为纯字符数据而不是标记的情况,。包含大量,、&,或者,字符。,CDATA,节中的所有字符都会被当作元素字符数据的常量部分,而不是,XML,标记。,语法:,可以输入任意字符(除,外),不能嵌套,参见程序,CDATA.xml,文档类型定义,DOCTYPE,文档类型声明,紧跟,XML,声明之后,,包含所有实体声明,语法:,!DOCTYPE,根元素标记名,示例(,ENTITY.xml),格式正规的,XML,文档,遵循如下规则的,XML,文档称为格式正规的,XML,文档:,语法规范,必须有,XML,声明语句,必须有且仅有一个根元素,标记大小写敏感,属性值用引号,标记成对,空标记关闭,元素正确嵌套,格式正规的,XML,文档,(续),元素语法,名称中可以包含字母、数字或者其它字符,名称不能以数字开头,不能以,XML/xml/Xml/,开头,名称中不能含空格,名称中不能含冒号,(,注:冒号留给命名空间使用,),格式正规的,XML,文档,语法总结,XML,文档结构,文档、,XML,声明、根元素、,2.,XML,文档专用标记,注释、处理指令,PI、CDATA,节,3.,元素和属性,元素、属性的表示,4.,字符和实体引用,XML,的应用范围,数据交换,Web,服务,内容管理,Web,集成,系统配置,.,XML,
展开阅读全文