第3章文档查询和转换理论优秀PPT.ppt

上传人:石*** 文档编号:78781016 上传时间:2023-03-19 格式:PPT 页数:32 大小:7.07MB
返回 下载 相关 举报
第3章文档查询和转换理论优秀PPT.ppt_第1页
第1页 / 共32页
第3章文档查询和转换理论优秀PPT.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《第3章文档查询和转换理论优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3章文档查询和转换理论优秀PPT.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3章文档查询和转章文档查询和转换理论换理论现在学习的是第1页,共32页课程回顾课程回顾u文档对象模型(DOM)定义了访问诸如 XML 和 XHTML 文档的标准uW3C组织为DOM规范定义了3个级别:nDOM级别1nDOM级别2nDOM级别3uXML文档中每一个单元(元素、属性、实体、备注等)都是节点uXML DOM 把 XML 文档视为一种树结构,即节点树。节点之间的关系包括父节点、子节点、同级节点、前一个节点和后一个节点uXML Document对象的load()方法用于加载XML文档,loadXML()方法用于加载XML字符串uXML DOM对象中常用的操作XML文档节点的方法和属性

2、包括:ngetElementsByTagName()nappendChild()ninsertBefore()ncreateElement()nremoveChild()nnodeTypennodeValuennodeName现在学习的是第2页,共32页本章内容本章内容uXPathuXQueryuXSLT现在学习的是第3页,共32页本章目标本章目标u了解XPath的基本语法u能够使用XPath选择节点u能够使用XQuery FLWOR表达式查询XML文档u能够使用XSLT转换简单的XML文档现在学习的是第4页,共32页1.XPath 1.1 XPath简介 uXPath是在XML文档中查找信息

3、的路径语言uXPath 使用路径表达式在 XML 文档中进行导航uXPath 包含一个标准函数库uXPath 是 XSLT(可扩展的样式表语言转换)中的主要元素uXPath 是W3C 标准xmlDoc.selectNodes(/bookstore/book)XPath路径表达式现在学习的是第5页,共32页1.2 XPath语法语法 uXPath运算符 运算符描述示例表达式示例表达式的返回值|计算两个节点集/student|/teacher返回所有带student元素和teacher元素的节点集+加2+35-减5-23*乘2*36div除6 div 32=等于price=15.5true或fal

4、se!=不等于price!=15.5true或false小于price15.5true或false=小于或等于price大于price15.5true或false=大于或等于price=15.5true或falseor或price=15 or price=10true或falseand与price15 and price20true或falsemod计算除法的余数6 mod 30现在学习的是第6页,共32页XPath语法语法 uXPath选择节点 u路径选择 表达式描述示例返回结果nodename选取此节点的所有子节点bookstore选取 bookstore 元素的所有子节点/从根节点选取,

5、即绝对路径选择/bookstore选取根元素 bookstore/从选择的当前节点匹配选择文档中的节点,即相对路径选择/book选取所有 book 子元素,而不管它们在文档中的位置,不分层次.选取当前节点bookstore/book选取所有属于 bookstore 的子元素的 book 元素.选取当前节点的父节点bookstore/book选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置选取属性/lang选取所有名为 lang 的属性现在学习的是第7页,共32页XPath语法语法 uXPath选择节点 u使用谓词 路径表达式(内

6、属于谓词)返回结果/bookstore/book0bookstore 子元素的第一个 book 元素/bookstore/booklast()bookstore 子元素的最后一个 book 元素/bookstore/booklast()-1bookstore 子元素的倒数第二个 book 元素/bookstore/bookposition()30.00所有 bookstore 元素的 book 元素,且其中的 price 元素的值须大于 30.00/bookstore/bookprice30.00/title所有 bookstore 元素中的 book 元素的 title 元素,且其中的 pr

7、ice 元素的值须大于 30.00var nodes=xmlDoc.selectNodes(/bookstore/book1)现在学习的是第8页,共32页XPath语法语法 uXPath选择节点 u使用通配符和“|”运算符n*:匹配任何元素节点 n*:匹配任何属性节点 nnode():匹配任何类型的节点 n|:选择多条路径 var nodes=xmlDoc.selectNodes(/title*)匹配所有带属性的title节点现在学习的是第9页,共32页1.3 XPath轴轴 uXPath Axes用于定义所选节点与当前节点之间的树关系轴名称说明ancestor选取当前节点的所有先辈(父、祖父

8、等)ancestor-or-self选取当前节点的所有先辈(父、祖父等)以及当前节点本身attribute选取当前节点的所有属性child选取当前节点的所有子元素descendant选取当前节点的所有后代元素(子、孙等)descendant-or-self选取当前节点的所有后代元素(子、孙等)以及当前节点本身following选取文档中当前节点的结束标签之后的所有节点namespace选取当前节点的所有命名空间节点parent选取当前节点的父节点preceding选取文档中当前节点的开始标签之前的所有节点preceding-sibling选取当前节点之前的所有同级节点self选取当前节点att

9、ribute选择当前元素的属性现在学习的是第10页,共32页XPath轴轴 u步表达式轴名称:节点测试谓词 nchild:book:选取所有属于当前节点的子元素的 book 节点nattribute:lang:选取当前节点的 lang 属性nchild:*:选取当前节点的所有子元素nattribute:*:选取当前节点的所有属性nchild:text():选取当前节点的所有文本子节点nchild:node():选取当前节点的所有子节点ndescendant:book:选取当前节点的所有 book 后代节点nancestor:book:选择当前节点的所有 book 先辈节点nancestor-o

10、r-self:book:选取当前节点的所有book先辈节点以及当前节点(假如此节点是book节点的话)nchild:*/child:price:选取当前节点的所有 price 孙节点现在学习的是第11页,共32页XPath轴轴 xmlDoc.SelectNodes(/item-info/descendant:item-name);查询所有以item-info为祖先节点的item-name节点 xmlDoc.SelectNodes(/order/item/quantity/preceding-sibling:*);xmlDoc.SelectNodes(/order/item/ancestor-o

11、r-self:*);按绝对路径查询quantity之前的同级节点 按绝对路径查询所有“/order/item”的先辈节点和它自身 现在学习的是第12页,共32页小结小结1uXPath表达式中“/”和“/”的区别在哪里?u如何使用XPath表达式选择属性?u如何在步表达式中使用XPath轴?现在学习的是第13页,共32页2.XQuery 2.1 XQuery简介 uXQuery是XML的查询语言uXQuery的语法规则nXQuery 对大小写敏感 nXQuery 的元素、属性以及变量必须是合法的 XML 名称。nXQuery 字符串值可使用单引号或双引号。nXQuery 变量由“$”并跟随一个名

12、称来进行定义,nXQuery 注释被(:和:)分割,举例,(:XQuery 注释:)doc(books.xml)/bookstore/book/title现在学习的是第14页,共32页2.2 FLWOR表达式表达式 ufor子句 for$i in(1,2,3,4)return$iufor子句向每个由 in 表达式返回的项目捆绑一个变量u使用forin或者for in to 语句能够查询节点存入到XQuery变量中现在学习的是第15页,共32页FLWOR表达式表达式 ufor子句 WidgetGadgetKnifeSpoonfor$i in(1,2,doc(Products.xml)/Produ

13、cts/Product/text(),3,4)return$i现在学习的是第16页,共32页FLWOR表达式表达式 ulet子句 let$x:=(1 to 5)return$x 结果1 2 3 4 5现在学习的是第17页,共32页FLWOR表达式表达式 uwhere过滤子句 for$x in doc(books.xml)/bookstore/bookwhere$x/price30return$x/title查询books.xml中bookstore节点下子节点book的子节点price大于30的节点,返回满足条件的book的子节点title节点 现在学习的是第18页,共32页FLWOR表达式表

14、达式 uwhere过滤子句 for$book in doc(books.xml)/bookstore/bookwhere$book/year2003 returnelement book attribute category$book/categoryelement titleattribute lang$book/title/langtext$book/title/text(),element year$book/year/text(),element price$book/price/text()使用构造器构造book元素现在学习的是第19页,共32页FLWOR表达式表达式 u用order

15、 by子句排序 for$book in doc(books.xml)/bookstore/booklet$p:=$book/price/text()order by$p return$p按price的文本值进行排序 现在学习的是第20页,共32页FLWOR表达式表达式 ureturn子句和条件表达式 for$book in doc(books.xml)/bookstore/bookreturn if(count($book/author)gt 2)then$book/title/text()count($book/author)else()只有书的作者多于2个时才被查询出来。return子句返

16、回中构造一个book节点,该节点内包含满足条件的book的title节点的文本和作者数 现在学习的是第21页,共32页FLWOR表达式表达式 u使用FLWOR为HTML文件添加元素和属性Bookstorefor$x in doc(books.xml)/bookstore/bookorder by$x/titlereturn data($x/title).Category:data($x/category)添加了HTML元素,并将查询的结果存放到标记内 现在学习的是第22页,共32页FLWOR表达式表达式 u使用FLWOR为HTML文件添加元素和属性自行车赛for$x in doc(cyclin

17、gs.xml)/cyclings/cyclingreturn data($x)为HTML元素添加了属性style,属性值来自于查询结果现在学习的是第23页,共32页小结小结2uXQuery是什么?其作用是什么?ufor子句和let子句的异同点在哪里?现在学习的是第24页,共32页3.XSLT基础基础 3.1 XSLT简介 uXSL:可扩展样式表语言。XSL语言包含3部分:nXSLT:用于转换XML文档的语言规范nXPath:用于在文档中进行导航的路径语言(本章前面已介绍)nXSL-FO:用于格式化XML文档的语言 uXSLT:通过Xpath在XML文档中导航,将XML文档转换成另外的、可被浏览

18、器识别的格式的文档 现在学习的是第25页,共32页XSLT简介简介 Made in India Alisa India Bollywood 10 2006 我的CD收藏 现在学习的是第26页,共32页3.2 XSLT常用元素常用元素 u n为样式定义模板nmatch 属性用于关联 XML 元素和模板 订单产品定义的模板规则匹配元素item-info现在学习的是第27页,共32页XSLT常用元素常用元素 un元素用于提取某个选定节点的值。属性select通过XPath表达式定位要取值的元素或属性 un元素用于对节点进行循环。属性select通过XPath表达式,用于定位要循环的节点。un 元素用

19、于对结果进行排序 un元素用于放置针对 XML 文件内容的条件测试 un 元素用于结合 和 来表达多重条件测试 现在学习的是第28页,共32页3.2 XSLT常用元素常用元素 un元素可以把一个模板应用于当前的节点或者当前节点的子节点 我的CD收藏 处理根节点下的所有节点 处理cd节点下的title节点和artist节点Title:定义处理title节点的规则(模板)现在学习的是第29页,共32页小结小结3uXSL是什么?XSLT是什么?uXSLT常用元素有哪些?现在学习的是第30页,共32页本章总结本章总结uXPath 使用路径表达式在 XML 文档中进行导航uXPath常用的表达式如下:n

20、“/”从根节点选取,即绝对路径选择n“/”从选择的当前节点匹配选择文档中的节点,即相对路径选择n“”依据属性选择节点n使用谓词进行过滤n使用通配符选择未知节点n使用“|”选择多条路径uXQuery是XML文档的查询语言,主要使用“FLWOR”表达式对XML格式的数据进行查询uXSL是XML的样式表语言,决定XML的输出和显示uXSLT是XSL转换,是XSL最重要的组成部分。使用它,可以将XML文档转换为其他格式的文档uXSLT常用的元素包括:n:定义模板n:用于提取某个选定节点的值n:对节点进行循环n:把一个模板应用于当前的节点或者当前节点的子节点n:用于条件测试n:对结果进行排序n:表达多重条件测试现在学习的是第31页,共32页现在学习的是第32页,共32页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁