- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交通大学高级数据库课件陆朝俊ed6ch23讲述
查询与转换 XML应用的越来越多, 需要有效管理XML数据的工具 从大量XML数据中查询信息 在不同XML模式间转换数据 上述两种情况是紧密相关的, 可用同样的工具处理 标准XML查询/转换语言 XPath 由路径表达式组成的简单语言 是下面两种语言的构件 XQuery 标准XML查询语言 XSLT XSL的一部分 用于文档格式化,而非数据管理应用 XML数据的树模型 上述三种查询与转换语言都基于XML数据的树模型 一个XML文档建模成一棵树, 结点对应于元素和属性 元素结点可有子结点: 表示元素的属性或子元素 结点(除了根结点)具有单一父结点, 该父结点是一个元素结点 一个结点的子结点按照他们在XML文档中的次序排列 元素的文本内容建模成该元素的文本子结点 若文本内容被子元素分隔, 则一个元素可有多个文本子结点 如this is a bold wonderful /bold book 表示为三个子结点 XPath XML Path Language (XPath) 2.0 (Second Edition) W3C Recommendation 14 December 2010 (Link errors corrected 3 January 2011) XPath 利用路径表达式来选择文档的部件 路径表达式是用“/”分隔开的一个定位步骤序列 考虑在目录层次中的文件名 路径表达式的结果: 能匹配指定路径的节点集合 例: /bank-2/customer/customer_name 在 bank-2 data 上求值可返回 customer_nameJoe/customer_name customer_nameMary/customer_name 例: /bank-2/customer/customer_name/text( )返回客户名, 但不含外围标签 XPath (续) 起始 “/” 表示文档的根(在文档顶级标签之上的抽象根节点) 路径表达式从左至右求值 路径上任何一点的结果都是一个有序节点集合 每一步都对前一步产生的“当前”元素集合进行操作 最后一步产生的元素集合就是路径表达式的值 利用 “@”访问属性值 例: /bank-2/account/@account_number 返回account元素的account_number属性的值 IDREF属性不能自动 dereferenced (稍后详述) 选择谓词可以跟在路径中的任何一步后面, 放在[ ]中 /bank-2/account[balance 400] 返回balance值大于400的account 元素 测试子元素存在性: /bank-2/account[balance] 返回包含balance子元素的account 元素 XPath中的函数 XPath 提供若干函数 聚合函数count(exp) 计算与exp匹配的结点个数 例: /bank-2/account[count(./customer) 2] 返回多于2 个客户的帐户 测试当前结点在兄弟序中的位置 (1, 2, ..)的函数position() 布尔连接词and 和or 以及函数not()可用于谓词中 函数id(foo)返回具有ID类型属性并且值为foo的结点(如果有的话) id() 还可作用于引用集合上, 甚至作用于包含多个用空格分隔的引用的串上. 如IDREFS 例如 /bank-2/account/id(@owners) 返回所有被account元素的owners属性引用的客户 XPath 的更多特色 运算符 “|” 用来实现并集 例: /bank-2/account/id(@owner) | /bank-2/loan/id(@borrower) 返回有帐户或贷款的客户 但是, “|” 不能嵌套在其他运算符内. “//” 可用于跳过多层结点 例如 /bank-2//customer_name 在/bank-2 元素下的任何地方找出所有customer_name 元素, 不管它被包含在哪个元素当中. 无需了解完整模式也可查询数据 路径中的一步可以到达前一步生成的结点的父亲, 兄弟, 祖先及后裔, 而不仅仅到达子结点 “//”, 如上述, 是指明“所有后裔”的一种缩写形式 “..” 指明父结点 函数doc(name) 返回命名文档的根 name可以是 文件名或URL 例: doc(“bank.xml”)/bank/account collection(name)类似doc() XQuery XQuery 1.0: An XML Query Language (Second Edition) W3C Recommendation 14 December 2010 (Link er
您可能关注的文档
- 大型室外管廊管道施工方案概要.doc
- 上学期八年级语文期末检测卷讲述.doc
- 大型数据库技术实验指导书08本科概要.doc
- 上午第一部分:肿瘤靶向治疗的理论基础与临床现状讲述.ppt
- 大型物业公司程序文件C版-2016概要.doc
- 上料机械手讲述.doc
- 上机实训02SQLServer2008之构建与管理数据库讲述.doc
- 上帝的权利讲述.ppt
- 大华厂区数字高清智能监控系统概要.ppt
- 上机操作之一--数据库查询讲述.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)