《XML及相关技术.ppt》由会员分享,可在线阅读,更多相关《XML及相关技术.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、XML及相关技术简介1XML及相关技术简介XML及相关技术简介2第一部分 XML基本知识XML及相关技术简介31.1 XML简介eXtensible Markup Language(可扩展标记语言)XML是一种元语言,允许通过使用自定义的格式、标识,交换和处理数据库可以理解的数据基于文本格式,以结构化的方式描述各种类型的数据,并在各种应用之间发送和交换这些数据可以在不同的计算机平台和不同的计算机程序间方便、平稳的交换数据,从而提高了处理数据的效率和灵活性XML的设计目的XML及相关技术简介41.1.1 几种置标语言的发展关系 XML继承了SGML的许多特性,它有SGML 20%的复杂性,却有S
2、GML 80%的功能。XML及相关技术简介51.1.2 XML标准1998年2月W3C发布了XML推荐标准XML 1.0。2004年2月4日XML 1.1推荐标准正式发布。但目前推荐遵循的是W3C于2000年10月6日发布的XML 1.0标准。XML及相关技术简介61.2 XML的用途从HTML中分离数据。交换数据 B2B电子商务共享数据 存储数据 充分利用数据 创建新的语言MusicML、MathML、CML、SVG、WML、SMIL 等XML是被设计用来存储数据、携带数据和交换数据的,它不是为了显示数据而设计的。XML的主要用途包括以下几个方面。XML及相关技术简介71.3 XML的技术规
3、范XML基本规范(XML1.0、XML1.1)XML关联技术规范(DTD、XML命名空间、XML Schema、XPath、XSL、XSLT、XLink、XPointer、XQuery、DOM、SAX等)XML应用规范(XHTML、SVG、SMIL、MathML、GML、RDDL、XBL、XBRL、RSS等)XML相关规范可分为以下3部分来理解XML及相关技术简介81.4 一个存储学生信息的XML文档李华男1978.9.1292Java倪冰女1979.1.1289Visual Basic张君宝男1982.9.998XMLXML及相关技术简介91.5 一个完整的XML实例李华男1978.9.12
4、92此学生爱好编程,以下是它编的代码!CDATA function f1(a,b)if(name=cai&a 0)return 1 else return 0 Visual Basic&C#序言文档元素根元素元素注释文档类型声明XML声明属性预处理指令CDATA实体文本XML及相关技术简介10第二部分 XML显示技术:CSS、XSL、XML数据岛XML及相关技术简介112.1 在XML中使用CSS和XSL例如:表明由mystyle.css决定XML文档的显示样 表明该XML文档使用XSL样式单mystyle.xsl。内容与形式相分离使XML文档更偏重于数据本身,而不受显示方式的细枝末节
5、的影响。而且通过定义不同的样式单可以使相同的数据呈现出不同的显示外观,实现XML数据的可重用性。XML及相关技术简介122.1 在XML中使用CSS和XSL(续)李华男1978.9.1292Java例 student2.1.xml,引入了可扩展样式单的XML文档XML及相关技术简介132.1 在XML中使用CSS和XSL(续)电子商务班学生成绩单 学生成绩单 姓名性别生日成绩 例 student2.1.xsl,上例XML文档引入的可扩展样式单文件由两部分组成:HTML标记、XSL标记XML及相关技术简介142.2 XML文档结构树XSL把XML作为一个存储数据的树来看待。一个完整的XML文档可
6、以转换为一个结构完整的结构树。可以作为结构树中节点的是元素、属性、元素的内容文本、处理指令、注释。DTD声明可以是结构树的叶子节点,实体和记号是DTD节点的子节点;结构树从根节点开始,用“/”表示。根节点不是根元素。XML及相关技术简介152.2 XML文档结构树(续)use default namespace 根节点注释Html元素缺省名空间Head元素Title元素文本处理指令Body元素deitel名空间Title元素Book元素XML声明文本 xml how to 根元素不是根节点CDATA节相当于文本节点XML及相关技术简介162.2 XML文档结构树(续)李华男1978.9.12倪
7、冰女1979.1.12例 student2.2.xml,一个存储学生数据的XML文档XML及相关技术简介172.2 XML文档结构树(续)图2-1 student2.2.xml的XML文档结构示意图DocumentCommentnoteroot ElementElementElementElementElementElementElementText李华Text男Text1978.9.12Text倪冰Text女Text1979.1.12AttributeID=“101”ElementElementAttributeID=“102”ParentChildSibingXML及相关技术简介182.3
8、 数据岛基本概念XML数据显示技术:CSSXSL数据岛XSL技术不是面向数据显示的,它是一种格式转换技术,在显示手段和方式上都不及HTML那样丰富。而且XSL的显示样式方式最终还是利用了HTML模板进行显示,只是中间多了一个转换。因此理想的方案是直接利用HTML的方式来显示XML数据。XML及相关技术简介192.3.1 数据岛定义XML数据岛是指存在于HMTL页面中的XML数据,就是使用标记嵌入XML数据,在HTML文档中形成的一个XML数据岛(Data Island)。数据岛是一种数据显示技术。数据岛也是一种数据传递技术。Web服务器与客户机之间的数据传递方式有3种:HTML页面XML文档X
9、ML数据岛。XML数据岛可以减少数据库的压力,主要是使查询数据库的用户不再需要频繁地访问服务器端的数据库,而是访问客户端的XML文档,即提高了查询速度,也减轻了服务器端的负担。XML数据岛可利用客户端脚本实现动态信息交换。数据岛技术不是W3C 的推荐标准;它是微软的技术,在Internet Explorer5.0版本以上的浏览器中才可使用。XML及相关技术简介202.3.2 数据岛的引入方式HTML文档有两种方式引入XML数据岛:一种是在一个HTML文件中直接嵌入XML文档数据,称为嵌入式。另外一种形式是把XML文件做成一个独立的文件,在HTML文档中链入该文件中的数据。称为链入式。XML及相
10、关技术简介212.3.2 数据岛的引入方式(续)图书列表red hatTom图书列表书名:作者:可用ID号来引用XML1.嵌入式没有实现数据和显示分离,不推荐使用XML及相关技术简介222.3.2 数据岛的引入方式(续)red hatTom图书列表图书列表书名:作者:2.链入式XML文档和HTML文档都是独立存在的XML及相关技术简介232.3.3 数据岛的数据绑定数据岛对使用者来讲是不可见的。设计人员需要通过把数据岛的数据绑定到HTML元素中,来格式化数据以及显示数据。使用数据绑定显示XML的两个步骤:在HTML文档中引入XML数据岛绑定XML元素到HTML置标,被绑定的HTML置标可以自动
11、显示XML元素的内容。XML及相关技术简介242.3.3 数据岛的数据绑定(续)计算机网络教程谢希仁人民邮电出版社浏览XML数据浏览XML数据书名:作者:出版社:XML及相关技术简介252.3.3 数据岛的数据绑定(续)HTML置标作用被绑定的属性A创建超级链接hrefAPPLET在页面中插主JAVA小应用程序paramBUTTON创建按钮innerHTML,innerTextDIV创建可格式化的部分文档innerHTML,innerTextFRAME创建框架srcIFRAME创建可浮动框架srcIMG插入图片srcINPUT TYPE=CHECKBOX创建复选框checkedINPUT TY
12、PE=RADIO创建单选框checked表2-1 能与XML数据岛绑定的HTML标记(1/2)XML及相关技术简介262.3.3 数据岛的数据绑定(续)HTML置标作用被绑定的属性INPUT TYPE=HIDDEN创建隐藏控件valueINPUT TYPE=PASSWORD创建口令输入框valueINPUT TYPE=TEXT创建文本输入框valueTEXTAREA创建多行文本输入区valueLABEL创建标签innerHTML,innerTextMARQUEE创建滚动文字innerHTML,innerTextSELECT创建下拉列表列表项目SPAN创建格式化的内联文本innerHTML,in
13、nerText表2-1 能与XML数据岛绑定的HTML标记(2/2)XML及相关技术简介272.3.3 数据岛的数据绑定(续)image1.jpgimage2.jpgimage3.jpg利用XML文档显示图片图片1: 图片2: 图片3:相当于XML及相关技术简介282.3.4 数据绑定与DSO对象XML DSO是一个Microsoft ActiveX控件,嵌入在IE中;DSO对象可从XML中提取数据,并提供访问数据的方法。注意:要使用DSO,则XML根元素不能具有任何属性;例:DSO对象保存了XML文档的数据,并提供访问数据的方法 XML及相关技术简
14、介292.3.4 数据绑定与DSO对象(续)DSO对象保存了XML文档的数据,它将XML文档看作是数据库文件。被绑定的XML一般具有三层结构第一层是根元素,相当于数据表第二层为根元素的子元素,第二层中每个元素具有结构完全相同的子元素,相当于数据表中的记录第三层元素相当于字段DSO 将XML 数据储存成记录集,因此较适用于显示那些具有对称性数据记录集结构的XML 文件。绑定的方式按照HTML元素的性质可分为两种:单值对象:只能显示一条记录的数据表格对象:可显示所有记录的数据XML及相关技术简介302.3.4.1 数据绑定方式学而时习之,不亦乐乎孔子天将降大任与斯人也,必先苦其心志孟子数据岛单值绑
15、定下面的数据是从XML中提取出来的 单值对象绑定始终显示的是第一条格言的内容XML及相关技术简介312.3.4.1 数据绑定方式(续)表格对象绑定 格言作者格言内容 表格对象绑定能显示所有格言的数据XML及相关技术简介322.3.4.1 数据绑定方式(续)DSO数据源的方法 作用调用方法firstPage显示第一页表格id.firstPage()lastPage显示最后一页表格id.lastPage()nextPage显示下一页表格id.nextPage()previousPage显示前一页表格id.previousPage()数据绑定:分页显示表2-2 TABLE标记提供的用于翻页的方法表格
16、IDTABLE置标的datapagesize属性用于指定一页可以显示的记录条数XML及相关技术简介332.3.4.1 数据绑定方式(续)例 2-7.html,带表格分页功能的HTML文档格言作者格言内容第一页前一页后一页最后一页XML及相关技术简介342.3.4.2 绑定多层XML文档操作系统Red Hat Linux系统管理大全Thomas Schenk机械工业出版社中文版Windows NT技术支持培训教程Microsoft press人民邮电出版社例 2-8.xml,一个四层结构的XML文档XML及相关技术简介352.3.4.2 绑定多层XML文档(续)使用嵌套表格显示的XML文档内容类
17、书籍书名 作者 出版社例 2-8.html,一个二层嵌套表格的HTML文档在嵌套表格中,必须指定表格绑定到第三层的“书籍”元素XML及相关技术简介362.3.5 DSO对象对XML文档的操作(续)DOM结构树的一些方法、属性在DSO对象中大都可以使用,例如,dso.documentElement.nodeNamedso.documentElement.childNodesdso.documentElement.appendChilddso.documentElement.createElementDSO对象其他重要的方法:dso.xmldso.urlXML及相关技术简介372.3.5 DSO对
18、象对XML文档的操作(续)李华男1978.9.1292Java倪冰女1979.1.1289Visual Basic例 3-29.xml,存储了学生数据的XML文档XML及相关技术简介382.3.5 DSO对象对XML文档的操作(续)访问数据岛对象function a()alert(dos.xml);function b()alert(dos.url);例 2-9.html,使用DSO对学生数据进行操作(1/3)XML及相关技术简介392.3.5 DSO对象对XML文档的操作(续)function add()/alert(dos.documentElement);var root=dos.doc
19、umentElementroot.appendChild(dos.createElement(student);var newChild=dos.documentElement.lastChild;newChild.setAttribute(id,new);var name=dos.createElement(name);name.appendChild(dos.createTextNode(输入的姓名);newChild.appendChild(name);alert(dos.xml);function dele()var obj=dos.documentElement.childNodes
20、;var number=obj.length;for(var i=0;inumber;i+)dos.documentElement.removeChild(obj.item(0);alert(dos.xml);例 2-9.html,使用DSO对学生数据进行操作(2/3)XML及相关技术简介402.3.5 DSO对象对XML文档的操作(续)例 2-9.html,使用DSO对学生数据进行操作(3/3)XML及相关技术简介412.3.6 DSO的ADO记录集DSO把XML数据岛作为ADO记录集(recordset)进行处理,这样做的好处是可以利用ADO提供的各种方法对数据源进行访问 ADO的Reco
21、rdSet的大部分属性、方法都可用于DSO对象,常用的属性有:absolutePage,absolutePosition,BOF,EOF,cacheSize,maxRecords,pageCount,pageSize,recordCount等;常用的方法有:addNew,Delete,getRows,move,moveFirst,moveLast,movePrevious,moveNext,nextPage,previousPage,firstPage,lastPage等。但要注意,并不是所有有关ADO的都可以搬来使用,如不能直接执行SQL语句。XML及相关技术简介422.3.6 DSO的AD
22、O记录集(续)Red Hat Linux系统管理大全Thomas Schenk机械工业出版社中文版Windows NT技术支持培训教程Microsoft Press人民邮电出版社例 2-10.xml,存储了书籍数据的XML文档XML及相关技术简介432.3.6 DSO的ADO记录集(续)使用脚本查询XML文档/HEAD 在线图书查询 查询书名包含的文字:查询 查询结果:function seekbook()var str=seekstr.value;/接收用户输入的查询关键字 if(str=“)result.innerHTML=你没有输入查询字符串;return;例 2-10.html,可查询
23、书籍信息的HTML文档(1/2)XML及相关技术简介442.3.6 DSO的ADO记录集(续)xmldata.recordset.moveFirst();/返回到第一条记录,从第一条记录开始查询 var resultStr=;while(!xmldata.recordset.EOF)bookname=xmldata.recordset(书名).value;if(bookname.indexOf(str)=0)/当前书籍名是否包含查询关键字 resultStr+=”+xmldata.recordset(书名).value +”+xmldata.recordset(作者).value +”+xml
24、data.recordset(出版社).value+;xmldata.recordset.moveNext();if(resultStr=)result.innerHTML=未找到满足条件的书籍;else result.innerHTML=+resultStr+;例 3-30.html,可查询书籍信息的HTML文档(2/2)XML及相关技术简介452.3.7 动态选择XML文档的显示样式XSL样式单可以控制XML数据的显示样式,设计人员可以为同一个XML文档制定多个XSL显示样式,用户可以根据自己的爱好来选择显示样式。在XML文档中通过处理指令来指定样式单,是一种静态方法,样式单一旦指定就不方
25、便修改。通过DSO对象可以动态为XML文档指定显示样式。XML及相关技术简介462.3.7 动态选择XML文档的显示样式(续)list.xsl为xml文档设计的列表样式文档 table.xsl为xml文档设计的表格样式文档 DSO_XSL.html为XML文档动态指定样式单的HTML文档 2-10.xml 动态指定样式单例题中几个文档的关系图XML及相关技术简介472.3.7 动态选择XML文档的显示样式(续)网上书屋阿当网上书屋作者:出版社:例 list.xsl,为2-10.xml文档设计的列表样式文档XML及相关技术简介482.3.7 动态选择XML文档的显示样式(续)网上书屋阿当网上书屋
26、书名作者出版社例 table.xsl,为2-10.xml文档设计的表格样式文档XML及相关技术简介492.3.7 动态选择XML文档的显示样式(续)DSO与XSL转换function load1()var xmlDso=sdb.XMLDocument;var xslDso=Stylesheet1.XMLDocument;divResults.innerHTML=xmlDso.transformNode(xslDso);function load2()var xmlDso=sdb.XMLDocument;var xslDso=Stylesheet2.XMLDocument;divResults.innerHTML=xmlDso.transformNode(xslDso);例 DSO_XSL.html,为XML文档动态指定样式单的HTML文档(1/2)XML及相关技术简介502.3.7 动态选择XML文档的显示样式(续)例 DSO_XSL.html,为XML文档动态指定样式单的HTML文档(2/2)