XPath序列之一

徐水那小子

徐水那小子

2016-01-29 12:32

XPath序列之一,XPath序列之一
前段时间因为学习的需要,整理了一下XPath和XQuery的基本资料,在查资料的过程中,觉得很痛苦,因为大陆这方面的资料实在太少了,用过之后就想放着也是放着,不如挂到网上吧。个人希望以后多挂一些这方面的资料。如果有时间,我会把XQuery的规范翻译过来——只是为了自己方便使用而已。


XPath查询语言


1. XPath简介

XPath也是由W3C创建的。在W3C的规范里,对XPath 1.0的描述是这样的:
“XPath 1.0是致力于为XSLT和XPointer的公共功能提供一种共同的语法和语义的结果。XPath的主要目的是对一个XML文档进行寻址。为了支持这个主要目的,它也为操纵字符串、数值和布尔值提供了一些基本的功能。XPath使用一种紧凑的、非XML的语法以方便URI和XML属性值里的XPath的使用。XPath在XML文档的一个抽象、逻辑结构上进行操作,而不是在它的表面上的语法上。XPath因为使用类似于URL的路径表示法来在一个XML文档的层次结构中进行导航而得名。”
“除了用来寻址外,XPath也被设计为包含一个能够用于匹配(测试一个节点是否与一个样式匹配)的自然子集,XPath的这种用法定义在XSLT的规范中。”

说到XPath,就要从XSLT说起。一直以来,人们就要求将数据的内容和数据的表示分离,达到这个目的的途径是使用一般的标记语言来格式化和使用数据。在这方面,W3C最开始设计了DSSSL(Document Style Semantics and Specification Language)规范,DSSSL原本是设计为与SGML协同工作的,然而,可惜的是SGML并没有流行起来。
XML流行起来以后,W3C创造了XSL(Extensible Stylesheet Language)来让用户格式化XML,但是,XSL本身太过复杂,这大大限制了它的用途,现在的那些大软件公司如微软使用CSS来格式化XML。

但是,XSL中有一个部分却很有用,那就是XSLT(Extensible Stylesheet Language Transformations),XSLT能够让用户很容易的访问XML文档中的数据,并且将其转换为另一种格式的文档,比如HTML格式的文档。因为能够用XSLT将XML文档转换为其他不同结构或包含额外数据的XML文档,你能够将XML转换为普通文本文件或者RTF文件甚至JavaScript文件,事实上,可以转换为任何你想要格式的文档。
在这里,XSLT表现出了它的强大威力,它能够处理XML数据而不用借助复杂的编程。你只需要创建一个XSLT处理器并且把剩下的事情交给这个处理器。因为这个原因,XSLT成功了,并且最终与XSL规范脱离开来。而当W3C开始创建XSLT 1.0时,他们马上意识到,让人们使用简单的路径表达式来访问XML文档中的数据是一个很好的主意,于是,XPath 1.0就这样诞生了。
XPath 1.0是XSLT 1.0的核心,事实上,这两个规范在同一天(1999年11月6日)成为W3C的推荐标准。XPath 1.0之所以能够脱离XSLT 1.0而单独成为一个规范是因为W3C意识到许多其它的XML规范也需要对文档的各个部分进行寻址访问。
作为一个独立的规范,XPath 1.0能够被许多XML相关的规范使用,如今,XPath已经是很多XML相关规范的核心了,比如XPointer,它让你选择并引用XML文档的片断,以及XQuery。

XPath的最新版本是XPath 2.0,它还是一个工作草案,W3C里的规范有3种主要的层次:
工作草案(Working drafts):表示规范仍然在开发当中,并且仍可能进行修订
候选推荐标准(Candidate recommendations):规范成为正式推荐标准之间的那个阶段
推荐标准(Recommendations):规范的最终阶段,表示规范已经稳定下来XPath 1.0是一个推荐标准,而XPath 2.0到目前为止仍然是一个工作草案。这说明新的版本比以前的版本有很大不同,而且以后还可能会有更大不同。--------------------------------to be continued------------------------------
展开更多 50%)
分享

猜你喜欢

XPath序列之一

电脑网络
XPath序列之一

XPath序列之二

电脑网络
XPath序列之二

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

XPath序列之五

电脑网络
XPath序列之五

XPath序列之三

电脑网络
XPath序列之三

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

XPath序列之四

电脑网络
XPath序列之四

学习jquery之一

Web开发
学习jquery之一

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash教程:旋转拖尾文字效果的制作

Flash教程:旋转拖尾文字效果的制作

Asp组件高级入门与精通系列之三

Asp组件高级入门与精通系列之三
下拉加载更多内容 ↓