XML基础及相关技术.ppt
《XML基础及相关技术.ppt》由会员分享,可在线阅读,更多相关《XML基础及相关技术.ppt(154页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、XML基础及相关技术杨德婷中科院网络中心2002.8.16提 纲n山山重水复疑无路,柳暗花明又一村重水复疑无路,柳暗花明又一村 XML的诞生的诞生n没有规矩,不成方圆XML语法n海纳百川,有容乃大DTD与Scheman花想衣裳云想容XML文件的显示n江山如画,一时多少豪杰XML标准体系框架n千帆竟发,百舸争流关于XML的编辑与浏览工具n问苍茫大地,谁主沉浮XML的应用和发展前景2002-8-162XML基础及相关技术山重水复疑无路,柳暗花明又一村XML的诞生n何谓XMLn为什么要XMLnXML的来龙去脉nXML实例2002-8-163XML基础及相关技术何谓XML(eXtensibleMark
2、upLanguage)什么是置标语言(MarkupLanguage)n超文本置标语言HTML(HyperTextMarkupLanguage)nXML和HTML同属一个大家族置标语言家族n“置标”的一个精确定义是:就数据本身的信息对数据进行编码的方法。nE.g.n用黄色荧光笔把课本上的某些句子加亮,或者干脆在这这些句子些句子 下面划线nHTMLnBOLDBOLD2002-8-164XML基础及相关技术何谓XML什么是置标语言(cont.)nHTML代码显示了一个客户联系信息列表:张三用户ID:001公司:A公司EMAIL:电话:(010)62345678地址:五街1234号城市:北京市省份:北
3、京李四ID:002公司:B公司EMAIL:libbb.org电话:(021)87654321地址:南京路9876号城市:上海市省份:上海这段HTML置标数据在浏览器中的显示效果如下:n张三nID:001n公司:A公司nEMAIL:n电话:(010)62345678n地址:五街1234号n城市:北京市n省份:北京n李四nID:002n公司:B公司nEMAIL:libbb.orgn电话:(021)87654321n地址:南京路9876号n城市:上海市n省份:上海2002-8-165XML基础及相关技术何谓XML什么是XMLneXtensibleMarkupLanguageneXtensible:X
4、ML是一种可扩展的元置标语言,它可用以规定新的置标规则,并根据这个规则组织数据。n数据置标:一类偏重于语意描述;一类偏重于显示方式的描述n置标的语法:DTD,Scheman置标的含义:CSS,XSL2002-8-166XML基础及相关技术何谓XML什么是XML(cont.)n数据置标:一类偏重于语意描述;一类偏重于显示方式的描述(SVG,SMIL)nFCLML(F_companysClientListMarkupLanguage)F公司的客户列表置标语言(语义描述)张三001A公司(010)62345678五街1234号北京市北京李四002B公司libbb.org(021)87654321南京
5、路9876号上海上海2002-8-167XML基础及相关技术何谓XML什么是XML(cont.)n置标的语法、句法和结构:DTD,Schemanfclml.dtd:n置标的含义,向应用程序,比如浏览器,提供如何处理显示的指示说明。nXSL,CSSn每当看到一个联系人标签,用一个UL标签显示它。同样,/联系人转换为一个/UL标签。n所有的姓名标签被转换为LI标签加以显示。同样,/姓名转换LI标签。n所有的EMAIL标签被转换为LI标签加以显示。同样,/EMAIL转换为/LI标签。2002-8-168XML基础及相关技术为什么要XML仍从HTML说起 “从网络使用之初,我们一直在所有文件中都使用近
6、乎相同的格式,HTML格式.使用具有固定语法的固定标记集具有一定的好处,即简单性。但是,HTML非常有限,网页设计者希望能够对页面的表现能力具有更多的控制,这就需要求助于XML。”n专门为描述网页的表现形式而设计的,疏于对信息语意及其内部结构的描述。n对形式的描述能力实际也还是非常不够的,无法描述矢量图形、科技符号和一些其它的特殊显示效果。nIE和Netscape都给HTML加入了一些特殊的标记,以便为自己的浏览器增加一些特殊的显示效果。HTML的标记日益臃肿,文件结构混乱而缺乏条理,导致浏览器的设计越来越复杂,还降低了不同浏览器之间的兼容性。n搜索时间长.n动态内容需要下载的部件太多。nHT
7、ML可扩展性差.2002-8-169XML基础及相关技术为什么要XMLXML的第一大优势自由民主的网上世界n自由地制定你自己的标记语言。n允许各个组织、个人建立适合他们自己需要的标记库,并且,这个标记库可以迅速地投入使用n允许各个不同的行业根据自己独特的需要制定自己的一套标记,但它并不强迫所有浏览器都能处理这些成千上万个千奇百怪的标记,同样也不要求标记语言的制定者制定出一个非常详尽非常全面的语言从而适合各个行业各个领域的应用。n现在许多行业、机构都利用XML定义了自己的标记语言。比较早而且比较典型的是下面两个实例:n化学标记语言CML(ChemistryMarkupLanguage)n数学标记
8、语言MathML(MathematicalMarkupLanguage)2002-8-1610XML基础及相关技术为什么要XMLXML的第二大优势超越于格式之上n在HTML中,显示方式内嵌于数据之中n在这些数据中寻找信息非常困难n数据自身的逻辑不得不屈服于HTML语言规范的逻辑n张三用户ID:001公司:A公司EMAIL:电话:(010)62345678地址:五街1234号城市:北京市省份:北京ZIP:100001 n在XML中,显示样式从数据信息中抽取出来,放在样式单文件中n在XML中数据搜索可以简单高效地进行nXML是自我描述语言n 张三 001 A公司 (010)62345678 五街1
9、234号 北京市 北京 100001 。2002-8-1611XML基础及相关技术为什么要XMLXML的其它优点nXML遵循严格的语法要求(与HTML相比)n不但要求标记配对、嵌套,而且还要求严格遵守DTD的规定n提供较好的可读性和可维护性n减轻了浏览器开发人员的负担,也提高了浏览器的时间空间效率nXML便于不同系统之间信息的传输n各种不同的系统之间可以采用XML作为交流媒介。XML不但简单易读,而且可以标注各种文字、图像甚至二进制文件nXML具有较好的保值性2002-8-1612XML基础及相关技术为什么要XMLXML的一点缺陷?nXML固然好,但也有它不足的一面,阻碍了它的发展。而其中最大
10、的不足,便是至今都没有什么能够充分支持它的应用处理程序。n随着越来越多的用户看到将他们的数据用XML组织的好处后,相信XML的分析算法和相应的工具也会逐渐完善起来,XML的后端支持将变得越来越简单。从IE和Netscape所提供的内置XML分析工具中,我们还是看到了无限希望嘛!2002-8-1613XML基础及相关技术为什么要XMLXML与HTML的比较2002-8-1614XML基础及相关技术XML的来龙去脉XML之发展史nXML的两个先驱SGML和HTMLnSGML(StandardGeneralizedMarkupLanguage)n它为语法置标提供了异常强大的工具,同时具有极好的扩展性
11、,因此在分类和索引数据中非常有用。目前,SGML多用于科技文献和政府办公文件中。nSGML非常复杂,而且非常昂贵。nHTMLnHTML是一个非常简单的SGML语言,免费;获得了广泛的支持。nHTML有许多致命的弱点,正如前面所分析的那样。nXMLn国际互联网论坛W3C(World Wide Web Consortium):为WorldWideWeb的发展开发通用的协议和标准。n既具有SGML的强大功能和可扩展性,同时又具有HTML的简单性。SGML中所有非核心的、未被使用的和含义模糊的部分都被删除,剩下的就成为短小精干的置标工具XMLnW3C于1998年2月批准了XML的1.0版本2002-8
12、-1615XML基础及相关技术XML的来龙去脉置标语言家族一览2002-8-1616XML基础及相关技术XML实例n为置标语言FCLML制定的DTDfclml.dtd 2002-8-1617XML基础及相关技术XML实例(cont.)n关于客户联系信息的标准XML文件client.xml 张三 001 A公司 (010)62345678 五街1234号 北京市 北京 李四 002 B公司 libbb.org(021)87654321 南京路9876号 上海 上海 2002-8-1618XML基础及相关技术XML实例(cont.)n为client.xml制定一个样式单mystyle.xsl F公
13、司的客户联系信息 用户ID:公司:EMAIL:电话:街道:城市:省份:2002-8-1619XML基础及相关技术XML实例(cont.)nXML文件被样式单转换为下面的HTML文件F公司的客户联系信息 张三用户ID:001公司:A公司EMAIL:电话:(010)62345678地址:五街1234号城市:北京市省份:北京 李四ID:002公司:B公司EMAIL:libbb.org电话:(021)87654321地址:南京路9876号城市:上海市省份:上海2002-8-1620XML基础及相关技术XML实例(cont.)n所看到的显示结果,实际上同上面这个HTML文件的显示结果是相同的n张三 n用
14、户ID:001 n公司:A公司 nEMAIL: n电话:(010)62345678 n地址:五街1234号 n城市:北京市 n省份:北京 n李四 nID:002 n公司:B公司 nEMAIL:libbb.org n电话:(021)87654321 n地址:南京路9876号 n城市:上海市 n省份:上海 2002-8-1621XML基础及相关技术提 纲n山重水复疑无路,柳暗花明又一村XML的诞生n没有规矩,不成方圆没有规矩,不成方圆XML语法语法n海纳百川,有容乃大DTD与Scheman花想衣裳云想容XML文件的显示n江山如画,一时多少豪杰XML标准体系框架n千帆竟发,百舸争流关于XML的编辑与
15、浏览工具n问苍茫大地,谁主沉浮XML的应用和发展前景2002-8-1622XML基础及相关技术没有规矩,不成方圆XML语法n什么是什么是“形式良好的形式良好的”XML文件文件nXML文件的逻辑结构nXML文件的整体结构n用XML声明作为开头nXML文件的精髓XML元素nXML元素n字符数据n标记nCDATAn注释n处理指示nXML文件的物理结构n实体n实体的两种类型n实体的使用方式2002-8-1623XML基础及相关技术什么是“形式良好的”XML文件nXML是一个元置标语言,可以看作是用来产生置标语言的工具。因此,XML并没有预定义一个特定的标记集,而是描述了一个用来定义标记集的方法。当我们
16、用这个方法规定好一个标记集,并根据这些规定填入文本内容后,这些标记就和纯文本一起构成了一个XML文件。nXML文件实际上是广义的文件,更准确的叫法应该是一个“数据对象”,但是为了简便起见,我们仍称它为“文件”。n在XML中,“形式良好”(well-formed)有着明确的标准,即是要遵要遵守守XML1.0规范中的语法规则规范中的语法规则。无论是从物理结构上讲,还是从逻辑结构上讲,XML都必须符合规范,才能被正确解释处理。nXML创建之初的目标就是希望XML文件既容易被人阅读,又容易被机器理解。所以,确保你的文件是“形式良好的”,这是一个最低标准,符合了这个标准,就能保证连最笨的机器也能阅读你的
17、XML文件了。保证了XML严密的条理性、逻辑性和良好的结构性,XML的优点也正是依靠它们体现出来的。2002-8-1624XML基础及相关技术没有规矩,不成方圆XML语法n什么是“形式良好的”XML文件nXML文件的逻辑结构文件的逻辑结构nXML文件的整体结构文件的整体结构n用用XML声明作为开头声明作为开头nXML文件的精髓文件的精髓XML元素元素nXML元素元素n字符数据字符数据n标记标记nCDATAn注释注释n处理指示处理指示nXML文件的物理结构n实体n实体的两种类型n实体的使用方式2002-8-1625XML基础及相关技术XML文件的逻辑结构XML的整体结构n1 2 3 4 5 XM
18、L 6 XML是一种可扩展的源置标语言,它可用以规定新的置标规则,并根据这个规则组织数据7 8 9 !CDATA10 11 张三12 13 14 15 16 17nXML文件最基本的构成nXML声明:1n处理指示(可选):12nXML元素:317n标记:e.g.5n字符数据:e.g.5“XML”nCDATA:914n注释:82002-8-1626XML基础及相关技术XML文件的逻辑结构用XML声明作为开头n当写一个XML文件时,最好以一个XMLXML声明声明作为开始。XML声明在文件中是可选内容,但W3C推荐加入这一行声明。因此,作为一个良好的习惯,我们通常把XML声明作为XML文件的第一行。
19、nXML声明是处理指示的一种。它的作用就是告诉XML处理程序:“下面这个文件是按照XML文件的标准对数据进行置标的”。n一个完整的XML声明是:?encoding=“GB2312”?nXML声明由“”结束。在“?”后面紧跟着处理指示的名称“xml”。2002-8-1627XML基础及相关技术XML文件的逻辑结构用XML声明作为开头(cont.)?version=“1.0”standalone=“no”encoding=“GB2312”?n三个属性nversion属性n在一个XML的处理指示中必须包括version属性指明所采用的XML的版本号,而且,它必须在属性列表中排在第一位。当前的XML最
20、新版本是1.0.nstandalone属性(可选)n这个属性表明该XML文件是否和一个独立的置标声明文件配套使用。因此,如果该属性置为“yes”,说明没有另外一个配套的DTD文件来进行置标声明。相反,如果这个属性置为“no”,则有可能有这样一个文件。nencoding属性(可选)n所有的XML语法分析器都要支持8位和16位的编码标准。n几个常见的编码:简体中文码(GB2312)、繁体中文码(BIG5)、西欧字符(UTF-8)2002-8-1628XML基础及相关技术XML文件的逻辑结构XML元素n元素的形式:数据内容数据内容n元素中还可以再嵌套别的元素n所有的XML文件都至少包含一个形式良好的
21、根元素。根元素,又称为文件标记,紧跟在XML声明之后,如果该XML文件中还内嵌了DTD,则这个根标记紧跟在DTD之后。根标记必须是一个非空的标记,其中包含了整个文件的数据内容。nXML中开始和结束标记之间的文字称作“字符数据”,而把置标内的标示文字称作“标记”。2002-8-1629XML基础及相关技术XML文件的逻辑结构字符数据n一对标记之间出现的字符数据可以是任何合法的UNICODE字符n为了避免把字符数据和标记中需要用到的一些特殊符号相混淆,XML还提供了一些有用的实体引用。当在字符数据中需要使用这些特殊符号时,我们采用它的实体引用来代替。n在“示例”这个标记中出现文本:“张三”n示例&
22、lt;姓名>张三</姓名>/示例n写为:n字符&“实体引用><&"'2002-8-1630XML基础及相关技术XML文件的逻辑结构标记nXML的标记和HTML的标记在模样上大体相同,除了注释和CDATA部分以外,所有符号“”和符号“”之间的内容都称为标记。其基本形式为:标记名标记名 (属性名(属性名=“=“属性取值属性取值”)*nXML对于标记的语法规定比HTML要严格得多n标记必不可少n大小写有所区分n要有正确的结束标记。n结束标记除了要和开始标记在拼写和大小写上完全相同,还必须在前面加上一个斜杠“/”。如果开始标记是HELLO,结束
23、标记应该写作/HELLO。n当一对标记之间没有任何文本内容时,可以不写结束标记,而在开始标记的最后惯以斜杠“/”来确认。这样的标记称为“空标记”。如:n标记要正确嵌套2002-8-1631XML基础及相关技术XML文件的逻辑结构标记(cont.)n标记命名要合法n标记应该以字母、下划线“_”或冒号“:”开头,后面跟字母、数字、句号“.”、冒号、下划线或连字符“-”,但是中间不能有空格,而且任何标记不能以“xml”起始。另外,最好不要在标记的开头使用冒号,尽管它是合法的,但可能会带来混淆。n在XML1.0标准中允许使用任何长度的标记,不过,现实中的XML处理程序可能会要求标记的长度限制在一定范围
24、内。n有效使用属性n标记中可以包含任意多个属性。在标记中,属性以名称/取值对出现,属性名不能重复,名称与取值之间用等号“=”分隔,且取值用引号引起来。如:n属性命名的规范与标记命名规范大体相似,需要注意有效字母、大小写等一系列问题。不过,在必要的时候,属性中也可以包含空白符,标点和实体引用。需要特别注意的是,在XML中属性的取值必须用引号引起来,但在HTML中这一点并不严格要求。n属性的所有赋值都被看作是字符串。如:圆柱体 半径=“10”高=“13”程序应该能够把字符串“10”和“13”转化为它们所代表的数字。2002-8-1632XML基础及相关技术XML文件的逻辑结构CDATAn在一个特殊
25、的标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待。CDATA的形式如下:!CDATA CDATA 文本内容文本内容 nCDATA的文本内容中是不能出现字符串“”当你的文本数据中包含大量特殊符号时,你不得不通篇地使用实体引用,把本来很清晰的一段文字搞得乱七八糟。<联系人><姓名>张三</姓名><EMAIL></EMAIL></联系人>为了避免这种不便,你可以把这些字符数据放在一个CDATA数据块中,这样不管它看上去是一个标记还是一个实体引用,这些数据统统被当作字符照单全收。!CD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 基础 相关 技术
限制150内