Presentation is loading. Please wait.

Presentation is loading. Please wait.

第十一章 可扩展标记语言 —— XML.

Similar presentations


Presentation on theme: "第十一章 可扩展标记语言 —— XML."— Presentation transcript:

1 第十一章 可扩展标记语言 —— XML

2 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

3 11.1 XML简介 XML:eXtensible Markup Language 可扩展标记语言 标记语言的特点:
由一些格式标记或控制标记组成,这些标记决定了信息的显示格式或数据的意义,但这些标记不能单独存在,它们只是用来修饰它所包括的文本信息。

4 11.1 XML简介(续) 一、XML的历史 1969年,IBM公司设计出GML语言(Generalized Markup Language) 1980年,SGML语言,1986获ISO批准 1991年,HTML语言问世 1998年2月,W3C(World Wide Web Consortium 全球信息网协会)正式制定出统一的标准来规范XML的使用,即XML1.0规范。

5 11.1 XML简介(续) 二、XML的特点 SGML功能强大,但是过于复杂; HTML功能简单,无法处理大量的结构化信息。
XML是对SGML简化后创建得到的一种语言,专门使用于Internet之上,它具有如下优点: 实现不同数据源之间的交换,提供了一种不同数据源进行数据交换的公共标准; 一种数据多种显示,将数据存储部分和显示部分分开,数据的显示通常是由CSS或XSL完成的;

6 11.1 XML简介(续) 实现数据的分布式处理,当保存数据的XML文档被客户机下载后,客户可以通过应用软件对数据进行处理再显示,将由服务器处理的工作转移到了客户端。 简单易学,功能强大 与HTML的关系:不能取代HTML,HTML关注的是显示的效果,XML关注的则是信息的保存方式,从某种意义上讲,XML数据往往还需要被转换成HTML文档才能为浏览器所显示。

7 11.1 XML简介(续) 三、XML的样式语言 XSL XML HTML
1、使用CSS(CastCading Style Sheet,层叠样式表)格式化XML文档 CSS的功能在于描述标记的显示样式,其产生的初衷是弥补各大厂商“浏览器大战”的恶果。 2、使用XSL格式化XML文档 XSL XML HTML 输入 输出

8 11.1 XML简介(续) 四、XML的链接语言 超链接不是XML的一部分,而是发展成为一种独立的链接语言,XML的链接语言目前主要由三部分组成: (Xpath、 Xlink、 Xpointer) 1、Xpath(XML路径语言): 它是一种关于如何在XML文档中进行定位,从而能很快找出XML中具有某种特征标记的语言。例如,在XML文档中找到第五次出现的<author>标记所在的节点。说明:这里的节点是标记和它的内容的总称)

9 11.1 XML简介(续) 2、Xlink(XML链接语言)
一种描述Internet上任一个页面上的任一部分和Internet上的其它页面的某些部分之间的连系。 3、Xpointer(XML指针语言) 建立在Xpath基础之上,是一种更方便帮助计算机寻址的语言。借助这种语言,可以直接在URL中对XML文档的不同部分寻址,从而为XML的超链接提供基础。

10 11.1 XML简介(续) 五、XML的DOM和DTD 1、文档对象模型DOM(Document Object Model)
DOM提供了一种从别的应用程序中调用管理XML文档中数据的方法。 它的处理方法是将一个XML文档看作是一个对象,通过固定的方法和属性对XML文档中不同的标记或节点进行读写。例如通过脚本语言对XML中的数据进行读写。

11 11.1 XML简介(续) 2、文档类型定义DTD (Document Type Definition)

12 一个简单的例子 <?xml version="1.0" encoding="GB2312"?>
<通知> <发给> 学生 </发给> <来自> 教师 </来自> <日期> <年>2004</年> <月>06</月> </日期> <主题> XML简介 </主题> <正文>Welcome to XML!</正文> </通知>

13 XML文档的说明 文档的第一行: 一个应该经常包含的XML申明,它定义了XML文档的版本 号在这个例子中表示文档将使用XML1.0的规范. <?xml version="1.0"?> 文档的第二行: 注释 第三行:定义了文档里面的第一个元素(element)也叫第一个元素为根元素: <通知> 再下面定义了根元素的五个子元素 : <发给>、 <来自> 、<日期>、<主题>、 <正文>

14 XML文档的说明(续) 元素<日期>又包含两个子元素: 最后一行定义了根元素的结束标志 :
<年>、<月> 最后一行定义了根元素的结束标志 : </通知> 所有的XML元素都必须要有一个结束标志 。 XML文档可以直接浏览,如前面的例子

15 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

16 11.2 XML元素 一、什么是XML元素 二、XML元素的命名规则 三、XML元素的属性

17 11.2.1 什么是XML元素 1、XML元素是由一对标签界定的一个数据单位。例如: <学生> 张三 </学生>
3、XML中的元素允许进行嵌套,即元素间存在父子关系。P420 例22.3 4、标签区分大小写。

18 11.2.2 XML元素的命名规则 1、名称可以包含字母、数字和其它字符; 2、名称不能以数字或标点符号开始;
3、名称不能用xml、XML或Xml开始; 4、名称不能有空格; 5、名称允许使用非英文字符(如汉字字符),但要求系统支持; 6、冒号“:”是保留字符,不允许使用。

19 11.2.3 XML元素的属性 属性是XML标签的一个修饰词,用来提供元素的附加信息。 属性用属性名、赋值号和属性值表示。
<book ISBN=“ ”> 1、属性只能指定一次值,具有多个属性的元素,其属性值的指定没有一定的顺序。 2、属性值应该使用引号 引号可以是单引号或是双引号,一般使用双引号。

20 11.2.3 XML元素的属性(续) 3、属性不是元素数据,但属性也可以存放数据 属性是元素的一部分,是用来说明数据的。
对于一个内容,选择用属性来表述,还是选择用数据来表述? <price discount=“0.33”>700.00</price> <price> <discount>0.33</discount> 700.00 </price>

21 11.2.3 XML元素的属性(续) 一般说来,属性较为简洁、直接,而且有较好的可读性,使用标记则会降低文档的可读性。
下面两种情况适宜用子元素代替属性: 一个属性不能包含子属性,一个元素则可以有自己的子元素,对于复杂信息,可以使用元素。 若元素的开始标记中包含了太多的属性,导致标记过长而降低了可读性,可以考虑使用子元素。

22 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

23 11.3 XML文档和语法 一、XML文档的基本结构 二、XML基本语法规则 三、XML文档类型

24 11.3.1 XML文档的基本结构 目前,XML仍然处于飞速上升期,有些技术和标准还在研究和探索之中,但是其核心概念和语法已经基本确立。
标记则说明了数据的组织结构; 数据内容是文档的数据部分.

25 11.3.1 XML文档的基本结构 一个基本的XML文档就是一个XML元素。
1:<?xml version="1.0" encoding="ISO "?> 2:<!--This is a XML Document--> 2:<note> 3: <to>Lucy</to> 4: <from>Lin</from> 5: <heading>Reminder</heading> 6: <body>Don't forget me this weekend!</body> 7:</note>

26 XML文档的基本结构 说明: (1)声明: 一个XML声明。所有的XML文档都必须以XML声明作为文档的第一条语句。它只出现一次。声明中XML的字母大小写可以任意。 <?xml?> 版本声明 <?xml version=“1.0”>

27 11.3.1 XML文档的基本结构 字符编码声明 (2)注释
<?xml version=“1.0” encoding=“UTF-8”?> <?xml version=“1.1” encoding=“ gb2312”?> 字符编码声明说明当前XML文档中的字符采用何种字符编码方式,字符编码声明是非强制性声明。 (2)注释 第二行是注释,以左尖括号紧接一个惊叹号加两个减号开始,以两个减号加右尖括号结束。

28 11.3.1 XML文档的基本结构 (3)根元素(root element) (4)子元素(child element)
第三行中的<note>是根元素 (4)子元素(child element) 4~7行描述了4个子元素:to、from、heading 、 body。

29 XML基本语法规则 1、XML中的所有元素使用的标签都是成对出现的,有一个开始标签,就有一个结束标签。声明不是元素,它没有开闭标签。 <note>…</note>,<from>…</from> 空元素: <标签名/> 而HTML中,不一定有结束标签。 <br>

30 11.3.2 XML基本语法规则 2、标签区分大小写,<note>和<Note> 将是两个不同的标签;
3、开始、结束标签名必需相同: <Message>错误的标签对</message> <Message>正确的标签对</Message> 4、所有元素必需正确嵌套: <p><b>……</b></p> HTML则无此要求。

31 11.3.2 XML基本语法规则 5、XML文档中存在一对根标签(root tag),其它所有标签嵌套在这一对标签之内。
6、元素的属性值用引号括起。 7、空格保留(不能随便加空格),HTML则忽略空格。

32 11.3.3 XML文档类型 XML1.0规范规定了两种文档类型,一种称为合格文档,一种称为有效文档。
1、合格文档 (well-formed XML document) 严格按照XML语法规范书写的XML文档。 2、有效文档(valid XML document) 按照语法规范和DTD(文档类型定义)规则构造的一种文档,有效文档是一种合格文档。

33 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

34 11.4 XML与Web浏览器 一、浏览器中XML文档的显示 二、XML数据岛 1. 内部数据岛 2. 外部数据岛

35 11.4.1 XML与Web浏览器 IE5.0以上版本、Netscape6.0以上版本可以支持XML1.0和XML DOM标准。
IE5.0以上版本中可以显示原始XML文档,其中XML文档的标签会用颜色作出标记。 在IE浏览器中正确显示的XML代码? 能看到树状结构 ,才是合格的XML代码。

36 11.4.2 XML数据岛 XML的数据源对象又称DSO(Data Source Object)和数据岛(Data Island)。
数据岛的实现机制是将一个XML文档或一段XML代码当作一个类似于数据库的对象,使用传统的操作数据库的方法来操作XML文档中的数据,例如数据的添加、删除、更新和查询。 另一方面,数据岛提供了一种将XML格式和HTML的一些对象如表格、文本框等进行绑定的技术,这种技术可以用来显示XML数据。

37 XML数据岛(续) 1、内嵌的数据岛 内嵌的数据岛是通过一对<xml >...</xml>标签,将一段XML代码块嵌入到HTML文档中。这是一种在同一个文件范围内将数据和显示样式分离的方法。 示例:内嵌数据岛.html 数据岛通过表格显示数据的技术核心是建立XML数据和表格之间的对应关系,整个XML数据块对应一个表格,二级标签对应一行,三级标签对应一个单元格。

38 XML数据岛(续) 2、外部调用数据岛 内部数据岛简单好用,但数据的共享性差,同一段XML代码,无法由多个HTML文件对其进行调用;如果每个HTML文件都内建一个数据岛,又会导致XML数据维护性的降低。 这样的问题可以通过外部数据源的技术得到解决。 示例:外部XML文件 “水泊梁山.xml” 调用HTML文件 “外部数据岛.html”

39 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

40 11.5 XML与XSL 一、XSL简介 二、XSL的语句 三、XSL作用 求值语句<xsl:value-of/>
XSL中的循环语句for-each 三、XSL作用

41 11.5.1 XSL简介 XSL(eXtensible Stylesheet Language): 可扩展样式语言。
W3C于2001年10月推荐的一个标准。它可以对XML的数据进行过滤和分析,可以根据数据值编排XML数据的格式。 目前,XSL的应用主要集中在将XML文档代码转换成HTML代码。

42 XSL 工作原理

43 11.5.1 XSL简介 1、XSL的组成部分 XSLT(XSL Transformation):转换XML文本内容
Xpath:定义XML文档部件 XSL Formatting Objects: 格式XML文档词汇 XSL实际上包括两部分: 一个用来转换XML文档的方法 一个用来格式化XML文档的方法

44 11.5.1 XSL简介 2、XSLT:可扩展的样式语言转换语言
它可以将XML文档转换成浏览器可以识别的文档,例如HTML文档或是XHTML文档。 它还可以实现数据格式的转变与交换,例如将XML数据转换成WAP系统支持的格式,从而使数据可以在用户手机中得到显示。

45 11.5.1 XSL简介 3、使用XSLT显示XML文档 第一步:创建XSL样式 XSL文件模板 示例:水泊梁山.xsl
<?xml version="1.0" encoding="gb2312"?> <xsl:stylesheet xmlns:xsl=" <xsl:template match="/"> …... </xsl:template> </xsl:stylesheet>

46 11.5.1 XSL简介 文件模板说明: XSL文件也是一类特殊的XML文件,所以第一行一定是XML的版本号声明
<xsl:stylesheet>…</xsl:stylesheet>定义了这个文档 是一个样式表 <xsl:template match=“/”>…</xsl:template> 为XML文档定义显示模板,即显示的样式,“/”表示文档的根,表示该模板匹配整个XML文档。

47 11.5.1 XSL简介 第二步:在XML文档中引用XSL样式
<?xml-stylesheet type="text/xsl" href="水泊梁山.xsl"?> 第三步:在浏览器上显示XML文档

48 11.5.2 XSL的语句 1、求值语句< xsl: value-of / >
求值语句的作用是输出(显示)特定标签的内容,这里的“特定”是由select属性所使用的匹配模式决定的。如果满足匹配模式的记录有多个,则输出这些记录中的第一条内容。 示例:<xsl:value-of select="坐次"/>

49 11.5.2 XSL的语句 2、XSL中的循环语句for-each
for-each循环依次将程序的当前位置放在一个集合的每一个元素上,即满足select属性后面匹配条件的所有标签构成的集合。 示例: <xsl:for-each select=“头领列表/头领”/>

50 11.5.2 XSL的语句 4. 其他语句 [参考课本P435~438] 3. 排序 order-by
示例: <xsl:for-each select=“头领列表/头领” order-by=“外号”> 4. 其他语句 [参考课本P435~438]

51 11.5.3 XSL作用 三、XSL作用 把XML转变成HTML的语言. 能够筛选和排序XML文档中数据的语言
能够根据XML的数据数值格式化XML数据的语言(例如把负数显示成红色). 一个跨浏览器平台的解决方案: 只要在你的SERVER上把XML转换成HTML并且把这个 HTML文档传递给BROWSER. XSL实现了在服务器上能够把数据格式从一种 格式转换成另外一种格式.并且把可读的数据返回给所有的浏览器

52 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

53 11.6 XML和DTD DTD介绍 内部DTD 外部DTD 使用DTD的好处

54 11.6.1 DTD介绍 DTD文档类型定义,是XML规范中的一部分,不是独立得实体; DTD是选择性的规范,XML可以不用它
构造复杂文档DTD是很困难的,因此提出了更为灵活的模板(Schema)来替代DTD. DTD文件可以嵌入XML文档,也可作为独立的外部文件,通过外部引用嵌入XML文档。

55 11.6.2 内部DTD 内部DTD是指文档类型的定义在XML 内部。 例如: <?xml version=“1.0”?>
<!DOCTYPE note[ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> … <!ELEMENT body (#PCDATA)> ]>

56 11.6.2 内部DTD <note> <to> LUCY </to>
<from> xx </from> <heading> Reminding </heading> <body> Don’t forget t meet me </body> </note>

57 11.6.2 内部DTD 说明: 第2行:定义根元素<note>; 第3行:定义根元素<note>的四个子元素;
第4~6行:定义四个子元素为 “#PCDATA”型 第7~12行:定义XML数据。 内部DTD效果前例:

58 11.6.3 外部DTD DTD存在于外部文件中,引用语法如下: <! DOCTYPE 根元素名 SYSTEM “文件名”>
斜体:根元素名 、文件名应该根据实际变化。

59 11.6.3 外部DTD-引用DTD 例子:外部DTD.xml <?xml version=“1.0”?>
<!DOCTYPE note SYSTEM “note.dtd”> <note> <to> LUCY </to> <from> xx </from> <heading> Reminding </heading> <body> Don’t forget t meet me </body> </note>

60 11.6.3 外部DTD-DTD文件 note.dtd文件如下 :
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

61 11.6.4 使用DTD的好处 好处有: 每个XML文档有自己的DTD,不同的团体可以使用统一的DTD来交换数据。

62 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

63 11.7 XML和DOM DOM描述了一系列标准的访问XML和HTML文档的 方法 ,这些方法解析器应该实现。一个支持DOM的解析器应该把XML中的数据变成一系列 对象 ,这样就可以对这些对象二次编程 。 Microsoft 解析 器(Msxml.dll)实现对DOM结构访问和维护XML文档。

64 11.7 XML和DOM(续) DOM基本构成: Document object Node object nodeList object
parseError object

65 11.7 DOM 表示法 <HTML> <HEAD>
<TITLE> HELLO WORLD!</TITLE> </HEAD> <BODY> <P> CONTENT .. </P> <DIV> <SPAN> OTHERS CONTENT</SPAN> </DIV> </BODY> </HTML>

66 <HTML> <HEAD> <BODY> <TITLE> <P>
<DIV> HELLO WORLD <SPAN> CONTENT .. OTHER ..

67 11.7 例子 设计一个访问xml数据的网页 例:cd_navigate.htm访问 cd_catalog.xml

68 主要内容: XML介绍 XML元素 XML文档和语法 XML与Web浏览器(XML数据岛) XML和XSL XML和DTD XML和DOM

69 XML展望 任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不可克服的困难之后。近年来HTML在许多复杂的Web应用中遇到了问题,要彻底解决这些问题,必须用功能强大的XML来替代HTML作为Web页面的书写工具。XML有利于信息的表达和结构化组织,从而使数据搜索更有效;XML可以使用URL别名使 Web的维护更方便,也使Web的应用更稳定;XML可以使用数字签名使Web的应用更广阔拓展到安全保密领域。可以认为未来的Web书写工具必定是XML。而XML的广泛使用必然能推动Web不断发展,从而开创Web应用的新时代。

70 XML展望(续) Web的应用将随着XML的使用而更精彩,以下是可以预见的XML的几种应用。 XML/EDI电子数据交换
EDI(Electronic Data Interchange)是用电子技术代替基于纸张的操作手段,用于公司之间的单据交换。XML的丰富的格式语言可用来描述不同类型的单据,例如信用证、贷款申请表、保险单、索赔单以及各种发票等。结构化的XML文档送至Web的数据可以被加密,并且很容易附加上数字签名。XML的安全保密措施可在EDI的应用中充分显示它的魅力,XML有希望推动EDI的大规模的应用

71 XML展望(续) 化学标记语言CML和数学标记语言Math ML
CML(Chemical Markup Language)和Math ML(Mathematical Markup Language)是XML应用于描述化学和数学公式的标记语言。CML可描述分子与晶体结构、化合物的光谱结构等。而Math ML则是数学家的福音,自Web问世以来,数学家们第一次可以使用Math ML将数学公式精确地显示在浏览器上。

72 XML展望(续) 开放式软件描述格式OSD
和EDI的命运相仿,软件包的上网发行一直处于试行阶段。OSD(Open Software Descriptipon)是XML的一组用来描述各种软件产品的标记集,可以详细说明软件的规格、使用说明以及可运行平台等。

73 XML展望(续) 通道定义格式CDF 通道定义格式CDF(Channel Definition Format)是Microsoft在IE 4.0浏览器中使用的XML数据格式, 用于描述活动通道的内容和桌面部件,指明通道的信息及其更新情况。CDF 使不同平台的互操作成为可能,使Web发布者可以控制推(push)技术。专用的推技术将不再影响不同推技术的互操作性,这样一来,从互不兼容的平台上可以获得相同的Web内容。

74 XML展望(续) 开放式财务交换OFX OFX(Open Financial Exchange)也是XML的一种标记集,用于描述会计事务所与客户之间的业务往来。使用OFX,客户与会计事务所之间可以直接交换财务数据,包括电子银行和支付协议等说明文件。

75 实验五 基于XML的多媒体设计 实验要求: 设计数个Xml网页,要求综合运用本次课内所介绍的知识。

76 实验六 综合实验 实验要求: 设计网页,要求综合运用本课程所介绍的知识。 (综合xml、html等知识)

77 实验安排 实验五: 时间:12月8日 下午6-7节 (礼拜四) 实验六: 时间:12月15日 下午6-7节(礼拜四)
地点:212机房 实验六: 时间:12月15日 下午6-7节(礼拜四) 最后一次上课时间 12月22号,考查测试。

78 致 谢 感谢大家!!! 祝 学习进步 心情愉快


Download ppt "第十一章 可扩展标记语言 —— XML."

Similar presentations


Ads by Google