XML语言及其应用_第1页
XML语言及其应用_第2页
XML语言及其应用_第3页
XML语言及其应用_第4页
XML语言及其应用_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、XML语言及其应用马自卫北京邮电大学图书馆信息处理和数字图书馆研究所2002年11月8日主要内容XML概述什么是XMLXML应用实例XML和HTML比较XML语法XML文档的逻辑结构XML整体逻辑结构总结XML文档的物理结构DTD的建立和使用 1) DTD概述 2) 元素定义 3) 定义元素属性4. Scheme的建立与应用 XML概述什么是XML什么是Html(例11)什么是Xml(例12)需要DTD作为置标的语法需要样式单来显示DTD的描述(例13)2)XML应用实例例11返回ULLI张三LIULLI用户ID:001LILI公司:A公司LILIEMAIL:zhangaaacomLILI电话

2、:(010)62345678LIII地址:五街1234号LIU城市:北京市LILI省份:北京LIUlLI李四LIULU用户ID:002LILI公司:B公司LILIEMAIL:libbborgLILI电话:(021)87654321LILI地址:南京路9876号LILI城市:上海市LILI省份:上海LIULUL例12返回 联系人 姓名李四姓名 ID002ID 公司B公司公司 EMAII1ibbborgEMAII 电话(021)87654321电话 地址 街道南京路9876号街道 城市上海市城市 省份上海省份 地址 联系人联系人列表联系人列表 联系人 姓名张三姓名 ID001ID 公司A公司公司

3、EMAILzhangaaacomEMAIL 电话(010)62345678电话 地址 街道五街1234号街道 城市北京市城市 省份北京省份 地址 联系人例13返回!ELEMENT 联系人列表(联系人)*!ELEMENT 联系人(姓名,ID,公司,EMAIL,电话,地址)!ELEMENT 地址(街道,城市,省份)!ELEMENT 姓名(#PCDATA)!ELEMENT ID(#PCDATA)!ELEMENT 公司(#PCDATA)!ELEMENT EMAIL(#PCDATA)!ELEMENT 电话(#PCDATA)!ELEMENT 街道(#PCDATA)!ELEMENT 城市(#PCDATA)!

4、ELEMENT 省份(#PCDATA)XML应用实例3)XML和Html比较为置标语言FCLML公司的客户列表置表语言制定的,文档类型定义DTD,其程序为fclml.dtd(例1-4)客户联系信息的XML文档Client.xml (例1-5)为client.xml制定一个样式Mystyle.xsl (例1-6)Html格式及显示(例1-7,例1-8)例14返回Fclml.dtd? xml version=“1.0” encoding=“GB2312”? !ELEMENT 联系人列表(联系人)*!ELEMENT 联系人(姓名,ID,公司,EMAIL,电话,地址)!ELEMENT 地址(街道,城市

5、,省份)!ELEMENT 姓名(#PCDATA)!ELEMENT ID(#PCDATA)!ELEMENT 公司(#PCDATA)!ELEMENT EMAIL(#PCDATA)!ELEMENT 电话(#PCDATA)!ELEMENT 街道(#PCDATA)!ELEMENT 城市(#PCDATA)!ELEMENT 省份(#PCDATA)例15返回 联系人 姓名李四姓名 ID002ID 公司B公司公司 EMAII1ibbborgEMAII 电话(021)87654321电话 地址 街道南京路9876号街道 城市上海市城市 省份上海省份 地址 联系人联系人列表Clentxml ? xml versio

6、n“10”encoding”GB2312” standalone”no”?!DOCTYPE 联系人列表 SYSTEM”fclmldtd”?xmlstylesheet type”textxsl” href“mystylexsl”?联系人列表 联系人 姓名张三姓名 ID001ID 公司A公司公司 EMAILzhangaaacomEMAIL 电话(010)62345678电话 地址 街道五街1234号街道 城市北京市城市 省份北京省份 地址 联系人例16返回MyStylexsl?xml version10encOdingGB2312?xsl:stylesheet xmlns:xsl”http:www

7、w3orgTRWD-xsl xmlHshttp:wwww3orgTRREChtml40 resultns:xst:templatexsI:applytemplatesxsl:templatexsl:template match HTML HEAD TITLEF公司的客户联系信息TITlE HEAD BODY xsl:applytemplates select联系人列表 BODY HTMIxsl:templatexsl:stemplat match联系人列表 xsl:foreach select联系人 UL LIxsl:valueof select姓名LI UL LI用户ID:xsl:value

8、of selectIDLI LI公司:xsl:valueof select“公司LI LIEMAIL:xsl:valueof select“EMAILLI LI电话:xsl:valueof select“电话LI LI街道:xsl:valueof select“地址/街道LI LI城市:xsl:valueof select“地址/城市LI LI省份:xsl:valueof select“地址/省份LI /UL /UL /xsl:for-each/xsl:template/xsl:stylesheet例16例17返回LI李四LIULLIID:002LILI公司:B公司LILIEMAIL:1ibb

9、bor8LILI电话:(021)87654321LILI地址:南京路9876号LILI城市:上海市LILI省份:上海LIULULBODYHTMLHTMLHEADTITLEF公司的客户联系信息TITLEHEADBODYULLI张三LIUILI用户ID:001LILI公司:A公司LILIEMAIL:zhangaaacomLILI电话:(010)62345678LILI地址:五街1234号LILI城市:北京市LILI省份:北京LIUL例18返回李四ID:002公司:B公司EMAIL:1ibbbor8电话:(021)87654321地址:南京路9876号城市:上海市省份:上海张三用户ID:001公司:

10、A公司EMAIL:zhangaaacom电话:(010)62345678地址:五街1234号城市:北京市省份:北京XML和Html比较比较内容HTMLXML可扩展性不具有扩展性是元置标语言,可用于定义新的置标语言侧重点侧重于如何表现信息侧重于如何结构化地描述信息语法要求不要求标记的嵌套、配对等,不要求标记之间具有一定的顺序严格要求嵌套、配对,并遵循DTD的树形结构可读性及可维护性难于阅读、维护结构清晰,便于阅读、维护数据和显示的关系内容描述与显示方式整合为一体内容描述与显示方式相分离保值性不具有保值性具有保值性编辑及浏览工具已有大量的编辑、浏览工具编辑、浏览工具尚不成熟置标语言家谱表XML和H

11、tml比较GML(1969)SGML(1985)XML(1998)HTML(1993)XHTMLSVGSMILHDMLOEB通用置标语言标准通用置标语言可扩展置标语言超文本置标语言可扩展超文本置标语言可缩放矢量图形语言同步多媒体综合语言手持设备置标语言开放电子结构规范XML语法XML文档的逻辑结构例21一个XML文档最基本构成上例出现的逻辑要素元素、根元素数据块CDATA节作用注释处理指令PI2)XML整体逻辑结构总结例2-11?xmlversion“10”encoding”GB2312“standalone”no“?2?xmlstylesheet type“textxsl”href”myst

12、ylexsl”?3专有名词列表41 专有名词5 名词XML名词6 解释XMI。是一种可扩展的元置标语言,它可用以规定新的置标规则,并根据 这个规则组织数据解释7 示例8 !一个XML的例子9 !CDATA10 联系人11 姓名张三姓名12 EMAILzhangaaacomEMAIL13 联系人t14 15 示例16 专有名词17专有名词列表例2-1返回一个XMl文档最基本的构成是:XMl声明处理指令(可选)XML元素例21中出现的逻辑要素有:1是XML声明2是处理指令3一17是文档中的各个元素8是注释914是CDATA节在5行的“名词XML名词”中,“名词”“名词”是标记,“XML” 是字符数

13、据。XML整体逻辑结构总结XML文档通常以一个XML声明开始通过XML元素来组织XML数据XML元素包括标记和字符数据为组织数据更方便、清晰,在字符数据中引入CDATA数据块在文档中引入注释需要给XML处理程序提供一些指示信息,XML文档中可以包含处理指令XML文档的物理结构参数实体引用与通用实体引用的差异(例22,例23)3 DTD的建立和使用例2-2返回?xml version“10”encoding”GB2312”standalone“no”? !DOCTYPE信件 !ENTITY lettersign ”张三 某网络公司销售部门 北京市海淀区中关村88号,100000”正文 信件 收件

14、人李四收件人 主题hello主题 正文hello!&1ettersign; 信件 同样,参数实体的引用与通用实体的引用大同小异,只是要把实体换 为就可以了,形式是: 实体名;例2-3返回?xml version“1.0”encoding”GB2312“standalone“no”?!DOCTYPE联系人列表 !ENTITYA公司地址“北京市五街1234号 !ENTITYB公司地址”上海南京路9876号“联系人列表 联系人 姓名张三姓名 公司A公司公司 地址A公司地址;地址 联系人 联系人 姓名李四姓名 公司B公司公司 地址&B公司地址;地址 联系人 联系人 姓名王五姓名 公司B公司公司 地址&

15、B公司地址;地址 联系人联系人列表DTD的建立和使用DTD概述概述是一套关于标记符的语法规则可以是XML文档的一部分,但通常是一份单独的或一系列的文档想使用XML进行数据交换的行业或组织可定义自己的DTDDTD规定了语法分析器解释所有细节内部DTD文档由前导说明和文档体构成,前导说明中包含XML声明,文档体中是具体的数据信息,前导说明中可包含DTD定义。一个包含DTD的XML文档的结构(例3-1)DTD概述继续例3-1C1ientxml?xml version“10”encoding”GB2312,standalone“yes”!DOCTYPE联系人列表 !ELEMENT 联系人列表(联系人)

16、* !ELEMENT 联系人(姓名,ID,公司,EMAIL,电话,地址) !ELEMENT 夏NT地址(街道,城市,省份) !ELEMENT 姓名(#PCDATA) !ELEMENT ID(#PCDATA) !ELEMENT 公司(#PCDATA) !ELEMENT EMAIL(#PCDATA) !ELEMENT 电话(#PCDATA) !ELEMENT 街道(#PCDATA) !ELEMENT 城市(#PCDATA) !ELEMENT 省份(#PCDATA) ?xmlstylesheet typetext/xsl href=mystyle.xsl?例3-1联系人列表 联系人 姓名张三姓名 I

17、D001ID 公司A公司公司 EMAILzhangaaacomEMAIL 电话(010)62345678电话 地址 街道五街1234号街道 城市北京市城市 省份北京省份 地址 联系人返回联系人 姓名李四姓名 ID002ID 公司B公司公司 EMAlL1ibbborgEMAIL 电话(021)87554321电话 地址 街道南京路9876号街道 城市上海市城市 省份上海省份 地址 联系人联系人列表DTD概述2)元素定义外部DTD(例32,例33)公用DTD每个XML文档单独定义的DTD可推广为一个系统内共享的公用DTD关键字system用于引用一个作者或组织所编写的众多XML文档中通用的DTD另

18、一种外部DTD,一个由权威机构制定的,提供给特定行业或公众使用的DTD。关键字是PUBLIC(例34)例32返回? xml version=“1.0” encoding=“GB2312”? !ELEMENT 联系人列表(联系人)*!ELEMENT 联系人(姓名,ID,公司,EMAIL,电话,地址)!ELEMENT 地址(街道,城市,省份)!ELEMENT 姓名(#PCDATA)!ELEMENT ID(#PCDATA)!ELEMENT 公司(#PCDATA)!ELEMENT EMAIL(#PCDATA)!ELEMENT 电话(#PCDATA)!ELEMENT 街道(#PCDATA)!ELEMEN

19、T 城市(#PCDATA)!ELEMENT 省份(#PCDATA)例33返回 联系人 姓名李四姓名 ID002ID 公司B公司公司 EMAII1ibbborgEMAII 电话(021)87654321电话 地址 街道南京路9876号街道 城市上海市城市 省份上海省份 地址 联系人联系人列表 ? xml version“10”encoding”GB2312” standalone”no”?!DOCTYPE 联系人列表 SYSTEM”fclmldtd”?xmlstylesheet type”textxsl” href“mystylexsl”?联系人列表 联系人 姓名张三姓名 ID001ID 公司A

20、公司公司 EMAILzhangaaacomEMAIL 电话(010)62345678电话 地址 街道五街1234号街道 城市北京市城市 省份北京省份 地址 联系人!DOCTYPE 根元素 PUBLIC”DTD名称“ ”外部DTD的URL”!DOCTYPE 联系人列表 PUBLIC”联系人DTD“ ”http:/ )一组要共同匹配的表达式|或(OR),并(AND),要求严格遵从顺序要求元素A元素B元素C元素列表,无须遵从顺序要求3)定义元素属性例35 ? xml version“10”encoding”GB2312” standalone”yes”?!DOCTYPE 联系人列表 !ELEMENT

21、 联系人列表 ANY !ELEMENT 联系人(姓名) !ELEMENT 姓名(#PCDATA ) 联系人列表 联系人 姓名张三姓名 联系人 联系人列表返回例3-6!ELEMENT 联系人 (姓名,EMAIL)+!ELEMENT 姓名 (#PCDATA)!ELEMENT EMAIL (#PCDATA)返回定义元素属性定义元素名是属性所属的元素的名字属性名是属性的名字缺省值是属性的初值属性类型用来指定其属于哪种有效属性属性值(例37,例38,例39,例310)例37,38,39例37!ATTLIST 元素名 属性名 属性类型 #REQUIRED!ATTLIST 页面作者 姓名 CDATA #RE

22、QUIRED例38!ATTLIST 元素名 属性名 属性类型 #IMPLIED!ATTLIST 页面作者 姓名 CDATA #IMPLIED 年龄 CDATA #IMPLIED 联系信息 CDATA # REQUIRED例39!ATTLIST 元素名 属性名 属性类型 #FIXED”缺省值“!ATTLIST 页面作者 姓名 CDATA #IMPLIED 年龄 CDATA #IMPLIED 联系信息 CDATA #REQUIRED 网站职务 CDATA #FIXED”页面作者“例310例3-10!ATTLIST 元素名 属性名 属性类型 ”缺省值“!ATTLIST 页面作者 姓名 CDATA #

23、IMPLIED 年龄 CDATA #IMPLIED 联系信息 CDATA #REQUIRED 网站职务 CDATA #FIXED”页面作者“ 个人爱好 CDATA “上网”4.Schema的建立与应用1. Schema 的建立与应用1) 在前面,我们介绍了DTD,作为XML 1.0规范的重要组成部分,DTD对于XML文档的结构起到很好的描述作用。2) XML Schema 实际上也是XML的一种应用,就是将XML DTD重新按照XML语言规范来定义,这充分体现了XML自描述性的特点。例411.2.3. 李华 河北 14 62875555 王珊 北京 12 82618888 16. 1. Sch

24、ema 的建立与应用将上述XML文档的结构用DTD来描述如下:!DOCTYPE 学生花名册1. Schema 的建立与应用3)上述第2行可用下面语句替换: 4) 不难分析出这个XML文档的结构:根元素“学生花名册”有两个属性,一个是“年级”,另一个是“班级”;“学生花名册”元素下是“学生”元素,该元素不包含文本,但却包含“姓名”、“籍贯”、“年龄”、“电话”四个子元素,这些子元素均只包含文本,而不包涵子元素和属性。 1. Schema 的建立与应用5)用XML Schema 来描述,可写成下面的程序,取名rosterschema.xml。1.2.(续上例)8. 9. 10. 14. 15. 20.1. Schema 的建立与应用6)为了给roster.xml指定文档定义规则,roster.xml第2行可用下面语句替换: 7)本XML Schema 的实现语法受到微软Internet Explorer 5.0的支持。该语法主要综合了W3C的两个Note规范XML-Data(/TR/1998/NOTE-XML-data-0105/)和文档内容描述(DCD)(/TR/NOTE-dcd),并加入一些扩展。因为微软的地位以及Internet Explorer

温馨提示

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

评论

0/150

提交评论