XML索引
- 格式:ppt
- 大小:834.00 KB
- 文档页数:76


1. XML语法2. XML解析
1. XML语法
1.1. XML用途
1.1.1. XML用途
XML 指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享。
1.2. 基本语法
1.2.1. xml指令
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
以下为例:
在XML中,所有的处理指令都以结束。
1.2.2. 元素和属性
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
例如:
其中datasource就是一个元素,它可以包含其他元素,例如property。同理property01.
02.
03. jdbc:thin@192.168.0.26:1521:tarena
04.
05. openlab
06. open123
07. Top也是一个元素,元素除了包含元素还可以包含文本信息。元素也可以含有属性,比如property就具有name属性。
XML 元素可以在开始标签中包含属性,属性 (Attribute) 提供关于元素的额外(附加)信息。属性通常提供不属于数据组成部分的信息,但是对需要处理这个元素的应用程序来说却很重要。
XML 属性必须加引号,属性值必须被引号包围,不过单引号和双引号均可使用。
如果属性值本身包含双引号,那么有必要使用单引号包围它,或者可以使用实体引用。
1.2.3. 大小写敏感
XML对大小写是敏感的,这一点不象HTML。在XML中,标记< Letter> 和标记 是不一样的。 因此,打开和结束标记的大小写应该写成相同的:
1.2.4. 元素必须有关闭标签
XML要求每个元素必须由起始标签和关闭标签组成。关闭标签与起始标签的名字相同,写法上多一个“/”
2007年第5期 计算机系统应用
基于XM L文档检索的存储研究与实现
Research on the XML document storage and implement
朱艳红 (石家庄邮电职业技术学院计算机系石家庄050021)
何东彬 (石家庄学院计算机系石家庄050035)
摘要:因特网诞生以来,网络信息资源急剧增长,如何利用数据检索技术有效的发现和使用资源成为急待解决的
问题。对如何更好的检索XML等结构文档,已经作了大量的研究,提出了许多有效的查询方法,但目前对结构文
档的索引结构及存储的研究却比较少,因此本文探讨了XML文档检索模型存储结构的主要技术问题,并提出了 对置入表进行压缩编码的一种基于数据库存储的方案。 关键词:XML检索索引存储
1 引言
经过近些年的发展,扩展标记语言(XML)正在成 为英特网上数据表示、交换和集成的标准。XML是一
种结构化文档,物理形式上有着与其所表达的内容相
对应的组织结构和层次关系,XML文档的语义信息存
在于文档的文本与结构之中。
传统信息检索返回信息的最小单位是整个文档。
但许多时候,用户关心的不是全文,而只是文档中的某
一个部分。我们大概都有类似的经历,面对过于简单
的查询手段和返回来的无穷尽的检索结果,不得不再
次依靠人力在返回的整篇文档中寻找关注信息,有可
能在发现结果前就已经失去耐心。如何改变我们所面
临的“富数据,穷信息”的窘境,就要求使用一种有效的
方式对结构化文档的内容和层次结构进行检索,并以
一种恰当的方式返回不同粒度的结果,即整篇文档中
用户感兴趣的那一部分,而非全部。目前,对结构文档
的检索已经做了许多工作,许多检索方法非常有效,但
对结构文档的索引结构及存储的研究却比较少…,然
而,这一部分非常重要,对检索性能的影响很大,因此
本文着重解决这方面的问题。
2信息粒度
对于返回信息的粒度问题, 提出一种逻辑文档
的概念,文档树的每一棵子树都是一个逻辑文档,文档
2007年第2期 计算机系统应用 一种基于流索引的XM L数据流的Xpath查询算法 An XML Data stream Xpath Query Algorithm Based on Stream Index 魏东平 张宏伟 王金凤 (中国石油大学计算机与通信工程学院257061) 摘要:XML数据流查询过程中,核心操作是父子、祖孙节点的匹配问题。解决这一问题的有效途径是根据查询表 达式构造非确定状态自动机。顺序处理解析后的节点,在这个过程中大量与查询无关的节点也参与了匹配。通过 对XML数据流添加流索引。在执行查询时,直接跳过与查询不匹配的元素及其子树节点,提高了查询效率。 关键词:XML数据流流索引查询 1 引言 由于xml的半结构化特征,xml数据的处理必须 经过解析器解析。在基于非确定状态自动机(NFA)的 XML数据流查询中Ⅲ,算法需要完全扫描一遍所有的 XML元素。事实上,如果当前的节点不能与查询匹配, 那么该节点的所有子树节点也不能与查询匹配。如果 我们能跳过这些对查询没有影响的无用节点,直接让 解析器定位到下一个节点,就能够进一步提高查询速 度。基于此,我们考虑引入索引机制快速定位XML流 的元素,减少XML文档的解析量。 2流索引的引入(Stream Index) 为XML文档建立索引是提高XML查询的有效手 段,我们通过对Numbing Schemes 的扩展,提出了 XML的流索引结构。即对XML节点树的每一个节点 建立如下三元组:定义节点XI的流索引是一个三元组 (start,sub_nodes,leveI),记为SI(XI)其中,start是节 点在数据流中的起始位置;sub—nodes是<Xl参与</ Xi>之间节点的个数,若XI是文本节点,则sub nodes 的值为1;level是该节点在XML树中的层次信息。当 访问的该节点的结束标志时(end element),确定该节 点的sub—nodes信息.。一个XML流可以看作是对 XML文档树的前序遍历,因此我们能够以流的方式实 现对XML树的访问。 下面是引入流索引后一个查询匹配的例子:查询 语句Q=/A/C;XML文档和相应的NFA如图1所示。 NFA初始状态为1,我们以数据流的形式读入XML 文档。 (1)解析节点<A>,元素A驱动NFA进入状态 2: <B> <D>text</D> <,B> <C><,C> </A> 图1 1 2 3 (2)解析节点<B>,元素不能驱动NFA产生任 何状态转移,因此<B>及其子树节点对Xpath匹配结 果不会产生影响; (3)通过流索引,得到<B>的sub—nodes值,直 接到达节点<C> (4)解析节点<C>,驱动NFA到达终态3,匹配 成功 3流索引的创建过程 下面介绍一个x『\/IL文档的流索引的创建过程,我 们使用SAX解析XML流数据。并通过堆栈处理遍历 过程中的节点信息。 (1)对于元素<XI>,将其入栈保存,并保存与其 对应的start和level信息; (2)解析器解析到文本节点时,将其入栈保存,由
ORACLE数据库字段类型说明
类型含义存储描述备注
CHAR固定长度字符串最⼤长度2000bytes
VARCHAR2可变长度的字符串,最⼤长度4000bytes可做索引的最⼤长度749
NCHAR根据字符集⽽定的固定长度字
符串最⼤长度2000bytes
NVARCHAR2根据字符集⽽定的可变长度字
符串最⼤长度4000bytes
DATE⽇期(⽇-⽉-年)DD-MM-YY(HH-MI-SS),经过严格测试,⽆千⾍问
题
TIMESTAMP⽇期(⽇-⽉-年)DD-MM-YY(HH-MI-SS:FF3),经过严格测试,⽆千
⾍问题与DATE相⽐较,TIMESTAMP有⼩数位
秒信息
LONG超长字符串最⼤长度2G,⾜够存储⼤部头著作
RAW固定长度的⼆进制数据最⼤长度2000bytes可存放多媒体图象声⾳等
LONG RAW可变长度的⼆进制数据最⼤长度2G可存放多媒体图象声⾳等
BLOB⼆进制数据最⼤长度4G
CLOB字符数据最⼤长度4G
NCLOB根据字符集⽽定的字符数据最⼤长度4G
BFILE存放在数据库外的⼆进制数据最⼤长度4G
ROWID数据表中记录的唯⼀⾏号10bytes**.*.*格式,*为0或1
NROWID⼆进制数据表中记录的唯⼀⾏
号最⼤长度4000bytes
NUMBER(P,S)数字类型P为整数位,S为⼩数位
DECIMAL(P,S)数字类型P为整数位,S为⼩数位
INTEGER整数类型⼩的整数
FLOAT浮点数类型NUMBER(38),双精度
REAL实数类型NUMBER(63),精度更⾼
**⽬前
Oracle 数据库⼤概有
26个字段类型,⼤体分为六类,分别是字符串类型、数字数据类型、⽇期时间数据类型、
=⼤型对象(
LOB)数据类型、
RAW和
LONG RAW数据类型、
ROWID和
UROWID数据类型。**
当然
Oracle还提供⽤户⾃定义的数据类型,但在我这篇不做讨论。
字符串类型
Char
char数据类型存储固定长度的字符值。⼀个