XQuery 序列函数 subsequence()函数
XQuery 序列函数 subsequence()函数 介绍
subsequence()函数用于获得含有存在于给定序列请求的项目的顺序。
XQuery 序列函数 subsequence()函数 语法
subsequence($seq as item()*, $startingLoc as xs:double, $length as xs:double)
XQuery 序列函数 subsequence()函数 参数
-
$seq : 提供的序列。序列可以包含 0 个或多个项目。
-
$startingLoc : 要从中创建子序列的项目的索引。索引从 1 开始。
-
$length : 子序列的长度。
XQuery 序列函数 subsequence()函数 示例
XQuery 表达式
items.xqy:
let $items := (1,2,3,4,5,6)
let $sub-items := subsequence($items,2,4)
return
<result>
<items>
{
for $item in $sub-items
return <item>{$item}</item>
}
</items>
</result>
解析程序
package com.yiidian;
import com.saxonica.xqj.SaxonXQDataSource;
import javax.xml.xquery.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class XQueryTester {
public static void main(String[] args){
try {
execute();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (XQException e) {
e.printStackTrace();
}
}
private static void execute() throws FileNotFoundException, XQException{
InputStream inputStream = new FileInputStream(new File("items.xqy"));
XQDataSource ds = new SaxonXQDataSource();
XQConnection conn = ds.getConnection();
XQPreparedExpression exp = conn.prepareExpression(inputStream);
XQResultSequence result = exp.executeQuery();
while (result.next()) {
System.out.println(result.getItemAsString(null));
}
}
}
输出结果为:
热门文章
优秀文章