《商务网站设计与开发》课件第05章 XML技术基础_第1页
《商务网站设计与开发》课件第05章 XML技术基础_第2页
《商务网站设计与开发》课件第05章 XML技术基础_第3页
《商务网站设计与开发》课件第05章 XML技术基础_第4页
《商务网站设计与开发》课件第05章 XML技术基础_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内容5.1XML简介5.2XML语法与结构5.3命名空间5.4文档类型定义与校验5.5XML文档样式转换5.6XML文档的解析5.7思考题5.1XML简介为了使异构系统间的数据交换更加容易实现,W3C于1998年正式推出了可扩展标记语言(ExtensibleMarkupLanguage,简称为XML)。作为标准通用标记语言(SGML)经过优化后的一个子集,XML具有简明的结构、良好的可扩展性、通用性和开放性,因而逐步成为信息交换和共享的重要手段。目前,XML已被广泛地应用于网站开发中的许多环节,包括服务器配置、业务流程描述、程序代码编写和数据库接口设计等方面。5.1XML简介XML的产生与HTML在应用过程中产生的瓶颈问题直接相关。虽然,HTML是Web的“数据类型”,但同时还具有如下不足:HTML是专门为描述主页的表现形式而设计的,它疏于对信息语义及其内部结构的描述,不能适应日益增多的信息检索要求和存储要求。HTML对形式的描述能力实际也还是非常不够的,它无法描述矢量图形、科技符号和一些其他的特殊显示效果。HTML的元素日益臃肿,文件结构混乱而缺乏条理,导致浏览器的设计越来越复杂。HTML源自于SGML,但SGML并非为Internet应用而设计,它的体系也太过复杂和庞大,很难被Internet应用所广泛使用。XML去除了SGML中繁杂而保持其优点,使其可以方便地应用于各种基于Internet的系统中。5.1XML简介XML文档的层次结构容易被软件所解析,同时,它还非常易于人的阅读。5.1XML简介XML继承了SGML具有的可扩展性、结构性及可校验性,这也是HTML的主要区别:(1)可扩展性方面:HTML不允许用户自定义标识或属性,而在XML中,用户能够根据需要,自行定义新的标识和属性名,以便更好地从语义上修饰数据。(2)结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度。(3)可校验性方面:传统的HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验;而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构确认。5.1XML简介XML技术标准体系5.2XML语法与结构XML的处理指令是用来给处理XML文档的应用程序提供信息的。处理指令遵循下面的格式:<?指令名指令信息?>例如:<?xmlversion="1.0"encoding="GB2312“standalone="yes"?><?xml-stylesheettype="text/xsl"href="mystyle.xsl"?>例子中的第一个处理指令是由<?xml>标签描述的XML声明,其中的信息为:该文档遵守的XML版本1.0;文档所使用的编码方式为GB2312(默认为UTF-8);Standalone属性说明文档不需要从外部导入文件;例子中的第二个处理指令指定了与XML文件配套使用XSL文件mystyle.xsl。5.2XML语法与结构XML文档的基本单位是元素。元素是一个信息块,它由一个元素名和一个元素内容构成。元素的名称还应遵守如下规则:(1)元素名称中可以包含字母、数字以及其它字符;(2)元素名称不能以数字或“_”(下划线)开头;(3)元素名称不能以“xml”(包括其各种大小写形式)开头;(4)元素名称中不能包含空格;(5)元素名称中间不能包含“:”(冒号)。5.2XML语法与结构<?xmlversion=“1.0”?><Sections><ado><code>SourceCodeSectionofC-SharpCorner</code><articles>SourceCodeSectionofC-SharpCorner</articles></ado><Graphics><code>GDI+sourceCodeSectionofC-SharpCorner</code><articles>SourceCodeSectionofC-SharpCorner</articles></Graphics></Sections>5.2XML语法与结构按照XML元素所包含的内容,可以将将XML元素分为以下四种形式:(1)包含数据内容的元素:这些元素中只包含数据。例如<x>abc</x>。(2)包含子元素内容的元素:元素包含一个或多个子元素。例如<x><y></y></x>。(3)空元素:元素中既不包含数据内容又不包含子元素。例如<x></x>,可以简写为<x/>。(4)包含混合内容的元素:元素既包含数据内容又包含子元素。例如<x>abc<y></y></x>。5.2XML语法与结构XML与HTML有很多相似性,但在语法上XML比HTML更为严格。所以在编写XML文档时需要注意下列细节:(1)XML是大小写敏感的,例如<table>和<TABLE>是不同的元素;(2)XML的每一个元素都必须有对应的结束标签,即使是空元素也必须要写一对标签;(3)XML中的元素之间可以嵌套而形成子元素,但不能交叉。例如<b><i>Thistextisboldanditalic</b></i>在XML的语法中是错误的;(4)空格也可以是XML文档的数据内容。5.2XML语法与结构XML属性提供一种定义复杂元素的解决方案。属性由属性名和属性值组成。元素的属性说明只能在元素起始标签或空元素标签中出现,属性值必须放置在一对双引号中,例如:<codelanguage="C#">SourceCodeSectionofC-SharpCorner</code>与元素名一样,属性名也是大小写敏感的。如果属性名为“ID”,则说明该属性可以作为元素的索引。对于XML元素来说,属性并不是必须的。有时我们也可以将相同的信息放到一个子元素中,但对于比较简单的上下文信息,使用属性比使用子元素更方便,而且表达的意思也更清晰。5.3命名空间命名空间(Namespaces)是XML规范的重要组成部分,它可以对XML元素或属性的命名进行扩展:采用命名空间方式后,XML的元素名称将由一个前缀名称和一个本地名称组成,它们用冒号分隔。前缀名称采用统一资源标识符(URI)的格式,相当于整个名称中的“姓”;本地名称则是一个普通的字符串,相对于整个名称中的“名”,但要求在同一个前缀名称中不能重复。在互联网中,由于不同公司或组织的统一资源标识符(URI)不同,加上在同一公司或组织内部的本地名称保持唯一,则前缀名称和本地名称的命名组合可以生成互联网中的唯一名称。有两种类型的URI——统一资源定位器(URL)和统一资源名称(URN)都可以用作命名空间标识符,其中URL的方式更为常用。命名空间标识符仅仅是字符串,并不代表在互联网中可以访问到相应的资源。5.3命名空间命名空间的语法如下:xmlns:[prefix]="[urlofname]"其中“xmlns:”是必须的属性。“prefix”是命名空间的别名。例如:<samplexmlns:ins=".ac"><ins:batch-list><ins:batch>EveningBatch</ins:batch></ins:batch-list></sample>上述代码中,batch-list,batch等元素都是在.ac命名空间中定义的,而该命名空间的别名为ins。5.4文档类型定义与校验对文档的格式和数据有效性验证可以对应用程序之间的数据交换提供保障。XML标准先后推荐了两种XML文档验证方式,包括:文档类型定义(DTD)和XML架构(XMLSchema)。文档类型定义(DocumentTypeDefinition,简称为DTD)是一套语法规则,它可以作为XML文档的模板,同时也是XML文档的有效性(valid)校验标准。在DTD中可以定义一系列文档规则,包括文档中的元素及其顺序、属性等。XML架构(XMLSchema)是一种文档类型定义方式,与DTD的最大区别在于:XML架构本身也是XML文档。XML架构文档之于XML实例文档如同面向对象系统中对象类之于实例对象。因此,一个XML架构文档往往对应了多个XML实例文档。5.4文档类型定义与校验DTD文档描述了XML文档的结构:<!--employee.dtd--><!ELEMENTemployee(name,hiredate,salary)><!ATTLISTemployeeidCDATA#REQUIRED><!ELEMENTname(#PCDATA)><!ELEMENThiredate(#PCDATA)><!ELEMENTsalary(#PCDATA)>假定要使用以下XML词汇描述员工信息:<employeeid="555-12-3434"><name>Mike</name><hiredate>2007-12-02</hiredate><salary>42000.00</salary></employee>5.5XML文档样式转换在XML中使用CSSHTML将数据内容与表现融为一体,而XML主要用于数据内容的描述。但当用户希望以一定方式(比如网页方式)观看数据时,就需要将XML的表现方式与其内容进行结合。使用CSS可以为XML文档提供样式描述。<?xmlversion="1.0"encoding="iso-8859-1"?><CATALOG><CD><TITLE>EmpireBurlesque</TITLE><ARTIST>BobDylan</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Columbia</COMPANY><PRICE>10.90</PRICE><YEAR>1985</YEAR></CD><CD><TITLE>Hideyourheart</TITLE><ARTIST>BonnieTyler</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>CBSRecords</COMPANY><PRICE>9.90</PRICE><YEAR>1988</YEAR></CD></CATALOG>5.5XML文档样式转换CATALOG{background-color:#ffffff;width:100%;}CD{display:block;margin-bottom:30pt;margin-left:0;}TITLE{color:#FF0000;font-size:20pt;}ARTIST{color:#0000FF;font-size:20pt;}COUNTRY,PRICE,YEAR,COMPANY{display:block;color:#000000;

margin-left:20pt;}在cd_catalog.xml文件中添加CSS说明指令,形成以下文件:<?xmlversion="1.0"encoding="ISO-8859-1"?><?xml-stylesheettype="text/css"href="cd_catalog.css"?><CATALOG>……</CATALOG>5.5XML文档样式转换可扩展样式语言(XMLStyleLanguage,简称为XSL)可以将XML文件作为原料,使用选择、测试和匹配等方式,将XML转换为目标文档,比如HTML。要从XML里提取相关的数据进行样式转换,就要用到XSL提供的模式查询语言。所谓模式查询语言,就是通过相关的模式匹配规则表达式从XML里提取数据的特定语句。模式查询语言可分为三种:选择模式:<xsl:for-each>、<xsl:value-of>和<xsl:apply-templates>测试模式:<xsl:if>和<xsl:when>匹配模式:<xsl:template>选择模式语句将数据从XML中提取出来,是一种简单获得数据的方法。选择模式语句的元素中都有select属性,它设定了选择的条件。应用XSL选择模式语句找出文档中满足设定条件的元素或元素的集合进行样式转换。5.6XML文档的解析文档对象模型(DocumentObjectModel,简称为DOM)为编程语言提供了一个读写XML文档的接口,通过这一接口可以访问到XML文档内容、结构以及样式数据。DOM是以树形结构的视角看待XML文档,XML文档中的每个成分都是树中的一个节点,也是对应的一个DOM对象。应用程序通过存取这些对象就能够存取XML文档的内容。以下是XML文档中各成分与树形结构节点之间的对应关系:(1)整个XML文档是一个文档节点;(2)每个XML元素是一个节点;(3)包含在XML元素中的数据内容是文本节点;(4)每一个XML属性是一个属性节点;(5)注释属于注释节点。5.6XML文档的解析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论