XML数据库

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Xindice 管理
要将名为 parts.xml的新文档添加到集合中,使 用命令: xindice ad -c /db/partsdb -f C:\xml\parts.xml --n parts 对文档执行一些查询,Xindice 使用类 XQuery 的 语法。如果您想检索 SKU 为 101 的部件的有关 信息,请输入: xindice xpath -c /db/partsdb -q /parts/part[@sku="101"]
清单
parts.xml
<?xml version="1.0"?> <parts> <part sku="101"> <desc>Ball Bearing</desc> <maker>S.K.F.</maker> <instock>Yes</instock> <price>$20.00</price> </part> <part sku="102"> <desc>Gasket</desc> <maker>A.B.C.</maker> <instock>Yes</instock> <price>$2.00</price> </part> </parts>
假如我现在要得到中文书的书名,用如下 xquery表达式: /bookstore/book/title[@lang="cn"] 得到结果如下: <title lang="cn">计算机网络</title>
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="cn">计算机网络</title> <author>张三</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
百度文库 Xindice 安装
安装和配置非常容易。我花了 15 分钟就安装并配置好了 Xindice。下面是所需 的步骤: 1. 从 www.xindice.org下载 zip 文件。 2. 将文件解压缩到合适的目录。 3. 将 Xindice bin 目录添加到路径中。例如, C:\Xindice\xml-xindice1.0\bin 。 4. 设置 JAVA_HOME 环境变量,使之指向安装 JDK 的位置。请记住,您需要 Sun 的 Java SDK 版本 1.3 或更高版本。 5. 设置 XINDICE_HOME 环境变量,使之指向安装 Xindice 的位置。 6. 将 Xindice.jar 文件添加到 CLASSPATH。例如, C:\Xindice\xml-xindice1.0\java\lib\Xindice.jar 。 7. 启动数据库服务器。例如,转到目录 C:\Xindice\xml-xindice-1.0 8. 输入 startup 启动运行在端口 4080 上的服务器 9. 从您的 Web 浏览器定位到 http://localhost:4080 ,并查看 Xindice Web 页面
XML 数据库
By 第11组
引言
WEB2.0 XML日益流行 XML存储问题
Native-XML 数据库系统
支持良好的XML文档 半结构化模型 放弃一些通用数据库功能,比如数据类型
Xindice服务器
Apache 的 Xindice 不断改进的开放源码项目 提供了命令行界面来管理数据库和 Java API 简易性、开放源码特性和强大的集合管理
FLWOR表达式 FLWOR表达式
xquery提供了一个类似C#中的关键字的几个表达 式,用以进行一些复杂的检索操作.他们分别是: for 执行循环表达式 let 赋值表达式 where 条件判断表达式 order by 排序表达式 return 返回表达式
FLWOR表达式(Cont.) FLWOR表达式(Cont.) 表达式
XPath
/ 选择XML文档的根结点 /* 选择根结点的所有子节点,*匹配任意子节点 /bookstore 选择根结点的所有bookstore元素 //book 选择根结点的所有后代节点中的book元 素 //@lang 选择含有lang属性的子节点 // book[@category="WEB"]/author 选择符合“category="WEB"]的所有author元 素 /bookstore/book[year>2002] 选择符合“元素year>’2002’”的所有book元素
数据库结构(cont.) 数据库结构(cont.)
集合路径实例
/db/my-collection/my-child-collection
集合路径指定一个文档
/db/my-collection/my-child-collection/my-document
集合路径指定一个远程文档
xindice://myhost.domain.com:4080/db/my-collection/my-childcollection/my-document
XQuery介绍 XQuery介绍
xquery-xml query是一种查询xml数据的语 言. xquery 之于XML就象SQL之于数据库中的表 xquery是w3c的标准,最新的版本是 xqurey1.0.
XQuery感性认识 XQuery感性认识
假如我现在要得到"Erik T. Ray"家伙写的书,我可以用如 下的xquery表达式: /bookstore/book[author="Erik T. Ray"] 那么,这个表达式得到的结果如下:
返回所有价钱小于30的书籍的title,并返回按 title升序排序的结果 for $x in doc("books.xml")/bookstore/book where $x/price<30 order by title return $x/title
<book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
XQuery感性认识(Cont.) XQuery感性认识(Cont.) 感性认识
Xindice 管理
创建一个名为 partsdb的集合
在命令行上,输入: xindiceadmin ac -c /db -n partsdb 响应是: Created db/partsdb 如果您尝试再次执行该命令,响应是: ERROR: Collection Duplicated. 您已经成功创建了集合。现在,通过输入下述命令列出集合: xindiceadmin lc -c /db 响应是: SystemPartsdb
特性摘要
文档集合(Document Collections) XPath查询引擎 XML索引 XUpdate Java API
特性摘要(Cont.) 特性摘要(Cont.)
XMLObjects 命令行管理工具 CORBA Network API 模块体系结构
数据库结构
Xindice服务器是设计来存储XML文档集合 的。集合可以按照层次结构来安排,与典 型的UNIX或Windows文件系统相似。 在Xindice中,数据存储基于一个亦可当文 档集合使用的数据库实例。 在Xindice的缺省安装情况下,此数据库实 例称为“db”,而所有的集
相关文档
最新文档