XPath、XQuery 以及 XSLT 函数

合集下载

ORACLE企业总线OSB之MessageFlow开发参考

ORACLE企业总线OSB之MessageFlow开发参考

OSB的Message Flow开发参考_V0.1目录Message Flow Components ...................................................................... 错误!未定义书签。

Message Execution ........................................................................... 错误!未定义书签。

Action Demo............................................................................................. 错误!未定义书签。

Prerequisite Knowledge .................................................................... 错误!未定义书签。

Communication Actions.................................................................... 错误!未定义书签。

Flow Control Actions ........................................................................ 错误!未定义书签。

Message Processing Actions ............................................................. 错误!未定义书签。

Reporting Actions ............................................................................. 错误!未定义书签。

xpath,xslt,json基本语法学习

xpath,xslt,json基本语法学习

1、实体引用 在 XML 中,一些字符拥有特殊的意义。

如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的 开始。

这样会产生 XML 错误: <message>if salary < 1000 then</message> 为了避免这个错误,请用实体引用来代替 "<" 字符: <message>if salary &lt; 1000 then</message> 在 XML 中,有 5 个预定义的实体引用: &lt; &gt; &amp; &apos; &quot; < > & ' " 小于 大于 和号 单引号 引号注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。

大于号是合法的,但是用实体引 用来代替它是一个好习惯。

2、xml 注意事项 注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子: <gangster name='George "Shotgun" Ziegler'> 或者可以使用实体引用: <gangster name="George &quot;Shotgun&quot; Ziegler"> XML 元素 vs. 属性 请看这些例子: <person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> 在第一个例子中,sex 是一个属性。

XPATH参考手册

XPATH参考手册

XPath 教程Next Page XPath 是一门在 XML 文档中查找信息的语言。

XPath 可用来在 XML 文档中对元素和属性进行遍 历。

XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达 之上。

因此,对 XPath 的理解是很多高级 XML 应用的基础。

开始学习 XPath !XPath 参考手册在 W3School,我们提供完整的 XPath 2.0、XQuery 1.0 和 XSLT 2.0 的内置函数参考手册。

XPath 函数内容目录XPath 简介 本章讲解 XPath 的概念。

XPath 节点 本章详细介绍 XPath 中不同类型的节点,以及节点之间的关系。

XPath 语法 本章讲解 XPath 的语法。

XPath 轴 本章讲解 XPath axes(轴)。

XPath 运算符 本章列出了可以用于 XPath 表达式的运算符。

XPath 实例 本章使用 "books.xml" 文档来演示一些 XPath 实例。

XPath 摘要 本文内容包括在本教程所学知识的一个总结,以及我们向你推荐的下一步应该学习的内容。

XPath 参考手册XPath 函数XPath 2.0、XQuery 1.0 和 XSLT 2.0 的内置函数。

XPath 简介 Previous Page Next Page XPath 是一门在 XML 文档中查找信息的语言。

XPath 用于在 XML 文档中通过元素和属性进行导 航。

在学习之前应该具备的知识:在您继续学习之前,应该对下面的知识有基本的了解: HTML / XHTML  XML / XML 命名空间如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。

什么是 XPath? XPath 使用路径表达式在 XML 文档中进行导航  XPath 包含一个标准函数库  XPath 是 XSLT 中的主要元素  XPath 是一个 W3C 标准XPath 路径表达式XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。

什么是xpath及xpath指的是什么

什么是xpath及xpath指的是什么

什么是xpath及xpath指的是什么XPath即为XML路径语言,它是一种用来确定XML文档中某部分位置的语言,以下是由店铺整理关于什么是xpath的内容,希望大家喜欢!xpath的含义XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准xpath的运算符xpath的表达式XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。

这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。

这些步骤以“/”字符分开,每一步有三个构成成分:轴描述(用最直接的方式接近目标节点)节点测试(用于筛选节点位置和名称)节点描述(用于筛选节点的属性和子节点特征)一般情况下,我们使用简写后的语法。

虽然完整的轴描述是一种更加贴近人类语言,利用自然语言的单词和语法来书写的描述方式,但是相比之下也更加啰嗦。

xpath的存取函数名称说明fn:node-name(node) 返回参数节点的节点名称。

fn:nilled(node) 返回是否拒绝参数节点的布尔值。

fn:data(item.item,...) 接受项目序列,并返回原子值序列。

fn:base-uri()fn:base-uri(node)返回当前节点或指定节点的 base-uri 属性的值。

fn:document-uri(node) 返回指定节点的document-uri 属性的值。

xpath的语言升级在 W3C 建议下,XPath 1.0于 1999年 11月16日发表。

XPath 2.0 目前正在W3C审核过程的最终阶段。

XPath 2.0表达了XPath语言在大小与能力上显著的增加。

最值得一提的改变是XPath 2.0有了更丰富的型别系统;XPath 2.0支持不可分割型态,如在 XML Schema 内建型态定义一样,并且也可自纲要(schema)导入用户自定型别。

xpath基本语法 w3s

xpath基本语法 w3s

xpath基本语法 w3s
XPath是一种用于在XML文档中定位和选择节点的查询语言。

它在XML文档中定位节点的能力使其成为许多XML处理技术的重要
组成部分,包括XSLT,XQuery和XML Schema等。

以下是XPath的
基本语法:
1. 节点选择,XPath使用路径表达式来选择节点或节点集。

例如,要选择所有的<book>元素,可以使用路径表达式"//book"。

2. 谓词,谓词用于过滤节点集。

例如,要选择第一个<book>元素,可以使用路径表达式"//book[1]"。

3. 轴,XPath支持轴,用于在文档中沿着节点和它们的父级、
子级、兄弟级等关系移动。

常用的轴包括child,parent,ancestor,descendant,following-sibling等。

4. 通配符,通配符用于匹配任意节点。

例如,""匹配所有节点,而"@"匹配所有具有属性的节点。

5. 函数,XPath包含许多内置函数,用于执行各种操作,如数
学计算、字符串处理、节点集操作等。

例如,"count()"函数用于计算节点集的大小,"text()"函数用于选择元素的文本内容。

以上是XPath的基本语法,它提供了强大的能力来定位和选择XML文档中的节点,是XML处理和查询的重要工具。

希望以上回答能够满足你的需求。

XSLT 元素参考手册

XSLT 元素参考手册

/2005/02/xpath-functions
函数命名空间的默认前缀是 fn。
提示:函数在被调用时常带有 fn: 前缀,比如 fn:string()。不过,既然 fn: 是命名空间的默认前缀,那么在被调用时,函数的名称不必使用前缀。
您可以在我们的 XPath 教程中访问所有内建的 XSLT 2.0 函数参考。
此外,在此列出了内建的 XSLT 函数:
名称 描述
current() 返回当前节点作为唯一成员的节点集。
document() 用于访问外部 XML 文档中的节点。
element-available() 检测 XSLT 处理器是否支持指定的元素。
format-number() 把数字转换为字符串。
system-property() 返回系统属性的值。
unparsed-entity-uri() 返回未解析实体的 URI。�
function-available() 检测 XSLT 处理器是否支持指定的函数。
generate-id() 返回唯一标识指定节点的字符串值。
key() 检索以前使用 <xsl:key> 语句标记的元素。
node-set 将树转换为节点集。产生的节点集总是包含单个节点并且是树的根节点。
XSLT 函数参考手册
Байду номын сангаас
XQuery 1.0、XPath 2.0 以及 XSLT 2.0 共享相同的函数库。
XSLT 函数
XSLT 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 操作、序列操作、逻辑值,等等等等。
XSLT 函数的命名空间的 URI 是:

XPath

XPath

返回
位置路径的构成
位置步之间利用反斜杠(/)串接成位置路径。 位置路径中的每一步都相对其前一步 如果位置路径以反斜杠打头,则该路径的第一 步将相对与根结点;否则该路径的第一步将相 对上下文结点。
位置步 // .. . 描述 上下文结点的所有后代结点,包括上下文结点本身 上下文结点的父结点 上下文结点本身
如下 XML 文档:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
XSLT用XPath表达式来匹配和选择输入XML文档 的特定部分以便执行相应操作并生成输出文档 XPointer用XPath表达式来定位外部XML文档的某 个特定部分 W3C XML Schema用XPath表达式来定义唯一性限 制
XML文档的树型结构(1)
一个XML文档以看成由结点(nodes)构成的树。 XPath是在文档树中选择结点或结点集的语言。 XPath区分了如下类型的结点
返回
位置路径与基本位置步(2)
位置步 / 元素名 @属性名 comment() text() processing-instruction() processing-instruction(目标) * node() @* 位置路径1|位置路径2|… 描述 文档的根结点 上下文结点的所有具有给定元素名的子元素 上下文结点的所有具有给定属性名的属性 上下文结点的所有注释子结点 上下文结点的所有文本子结点 上下文结点的所有处理指令子结点 上下文结点的所有具有指定目标的处理指令 子结点 上下文结点的所有子元素,可以带前缀 上下文结点的所有子结点 上下文结点的所有属性,*前可以带前缀 多值匹配

非程序性计划的概念

非程序性计划的概念

非程序性计划的概念英文回答:Non-procedural programming (NPP), also known as non-procedural language (NPL), is a programming paradigm that emphasizes the specification of what the program should accomplish rather than the detailed steps that must betaken to reach the desired outcome. This contrasts with procedural programming (PP), which focuses on the detailed ordering of instructions required to complete a task.NPP is particularly useful when the problem to besolved is complex and requires a large number of steps to complete. By allowing the programmer to focus on the high-level goals of the program, NPP can reduce the amount of time and effort required to develop and maintain the software.There are a number of different NPP languages available, each with its own unique syntax and semantics. Some of themost popular NPP languages include:SQL (Structured Query Language)。

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

存取函数错误和跟踪函数∙有关数值的函数有关字符串的函数fn:string(arg) 返回参数的字符串值。

参数可以是数字、逻辑值或节点集。

例子:string(314)结果:"314"fn:codepoints-to-string(int,int,...)根据代码点序列返回字符串。

例子:codepoints-to-string(84, 104, 233, 114,232, 115, 101)结果:'Thérèse'fn:string-to-codepoints(string)根据字符串返回代码点序列。

例子:string-to-codepoints("Thérèse")结果:84, 104, 233, 114, 232, 115, 101fn:codepoint-equal(comp1,comp2) 根据Unicode 代码点对照,如果comp1 的值等于comp2 的值,则返回true。

(/2005/02/xpath-functions/co llation/codepoint),否则返回false。

∙fn:compare(comp1,comp2)∙fn:compare(comp1,comp2,collation)如果comp1 小于comp2,则返回-1。

如果comp1 等于comp2,则返回0。

如果comp1 大于comp2,则返回1。

(根据所用的对照规则)。

例子:compare('ghi', 'ghi')结果:0fn:concat(string,string,...) 返回字符串的拼接。

例子:concat('XPath ','is ','FUN!')结果:'XPath is FUN!'fn:string-join((string,string,...),sep) 使用sep 参数作为分隔符,来返回string 参数拼接后的字符串。

例子:string-join(('We', 'are', 'having', 'fun!'), ' ') 结果:' We are having fun! '例子:string-join(('We', 'are', 'having', 'fun!'))结果:'Wearehavingfun!'例子:string-join((), 'sep')结果:''∙fn:substring(string,start,len)∙fn:substring(string,start) 返回从start 位置开始的指定长度的子字符串。

第一个字符的下标是1。

如果省略len 参数,则返回从位置start 到字符串末尾的子字符串。

例子:substring('Beatles',1,4)结果:'Beat'例子:substring('Beatles',2)结果:'eatles'∙fn:string-length(string)∙fn:string-length() 返回指定字符串的长度。

如果没有string 参数,则返回当前节点的字符串值的长度。

例子:string-length('Beatles')结果:7∙fn:normalize-space(string)∙fn:normalize-space() 删除指定字符串的开头和结尾的空白,并把内部的所有空白序列替换为一个,然后返回结果。

如果没有string 参数,则处理当前节点。

例子:normalize-space(' The XML ')结果:'The XML'fn:normalize-unicode() 执行Unicode 规格化。

fn:upper-case(string) 把string 参数转换为大写。

例子:upper-case('The XML')结果:'THE XML' fn:lower-case(string) 把string 参数转换为小写。

例子:lower-case('The XML')结果:'the xml'fn:translate(string1,string2,string3)把string1 中的string2 替换为string3。

例子:translate('12:30','30','45')结果:'12:45'例子:translate('12:30','03','54')结果:'12:45'例子:translate('12:30','0123','abcd')结果:'bc:da'fn:escape-uri(stringURI,esc-res)例子:escape-uri("/test#car",true())结果:"http%3A%2F%%2Ftest#car"例子:escape-uri("/test#car",false())结果:"/test#car"例子:escape-uri ("/~bébé",false())结果:"/~b%C3%A9b%C3%A9"fn:contains(string1,string2) 如果string1 包含string2,则返回true,否则返回false。

例子:contains('XML','XM')结果:truefn:starts-with(string1,string2) 如果string1 以string2 开始,则返回true,否则返回false。

例子:starts-with('XML','X')结果:truefn:ends-with(string1,string2) 如果string1 以string2 结尾,则返回true,否则返回false。

例子:ends-with('XML','X')结果:falsefn:substring-before(string1,string2) 返回string2 在string1 中出现之前的子字符串。

例子:substring-before('12/10','/')结果:'12'fn:substring-after(string1,string2) 返回string2 在string1 中出现之后的子字符串。

例子:substring-after('12/10','/')结果:'10'fn:matches(string,pattern) 如果string 参数匹配指定的模式,则返回true,否则返回false。

例子:matches("Merano", "ran")结果:truefn:replace(string,pattern,replace)把指定的模式替换为replace 参数,并返回结针对anyURI 的函数关于布尔值的函数有关持续时间、日期和时间的函数日期、时间、持续时间的组件提取函数名称说明fn:dateTime(date,time) 把参数转换为日期和时间。

fn:years-from-duration(datetimedur) 返回参数值的年份部分的整数,以标准词汇表示法来表示。

fn:months-from-duration(datetimedur) 返回参数值的月份部分的整数,以标准词汇表示法来表示。

fn:days-from-duration(datetimedur) 返回参数值的天部分的整数,以标准词汇表示法来表示。

fn:hours-from-duration(datetimedur) 返回参数值的小时部分的整数,以标准词汇表示法来表示。

fn:minutes-from-duration(datetimedur) 返回参数值的分钟部分的整数,以标准词汇表示法来表示。

fn:seconds-from-duration(datetimedur) 返回参数值的分钟部分的十进制数,以标准词汇表示法来表示。

fn:year-from-dateTime(datetime)返回参数本地值的年部分的整数。

例子:year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))结果:2005fn:month-from-dateTime(datetime)返回参数本地值的月部分的整数。

例子:month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))结果:01fn:day-from-dateTime(datetime返回参数本地值的天部分的整数。

)例子:day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))结果:10fn:hours-from-dateTime(dateti返回参数本地值的小时部分的整数。

me)例子:hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))结果:12fn:minutes-from-dateTime(datet返回参数本地值的分钟部分的整数。

ime)例子:minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))结果:30fn:seconds-from-dateTime(date返回参数本地值的秒部分的十进制数。

time)例子:seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))结果:0fn:timezone-from-dateTime(dat返回参数的时区部分,如果存在。

相关文档
最新文档