XQuery Tutorial
Selected Reading
- XQuery - Discussion
- XQuery - Useful Resources
- XQuery - Quick Guide
- XQuery - Custom Functions
- XQuery - If Then Else
- XQuery - Regular Expressions
- XQuery - Date Functions
- XQuery - String functions
- XQuery - Sequence Functions
- XQuery - Sequences
- XQuery - XPath
- XQuery - HTML Format
- XQuery - FLWOR
- XQuery - First Application
- XQuery - Environment Setup
- XQuery - Overview
- XQuery - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
XQuery - Environment Setup
XQuery - Environment Setup
本章详细阐述了如何在地方发展环境中建立图书馆。
我们正在使用一个公开的来源,即广泛使用的XQuery加工商Saxon Home Edition(Saxon-HE)。 该加工商支持XSLT 2.0、XQuery 3.0和XPath 3.0,并高度优化业绩。 Saxon 如果没有XML数据库,可使用Xery处理器。 我们用简单的XML文件作为我们的例子的数据库。
为了使用Saxon XQuery加工商,请在应用舱位中配备Saxon9he.jar、Saxon9-test.jar、Saxon9-un Pack、Saxon9-xqj.jar。 下载文件SaxonHE9-6-0-1J.zip。
Example
我们利用设在贾瓦的Saxon XQuery加工商测试书籍、xqy,该书载有对我国XML文件样本(即书本)的XQuery表述。
在这个例子中,我们看到如何撰写并处理一个问题,以获得价格超过30的书籍所有权要素。
books.xml
<?xml version="1.0" encoding="UTF-8"?> <books> <book category="JAVA"> <title lang="en">Learn Java in 24 Hours</title> <author>Robert</author> <year>2005</year> <price>30.00</price> </book> <book category="DOTNET"> <title lang="en">Learn .Net in 24 hours</title> <author>Peter</author> <year>2011</year> <price>40.50</price> </book> <book category="XML"> <title lang="en">Learn XQuery in 24 hours</title> <author>Robert</author> <author>Peter</author> <year>2013</year> <price>50.00</price> </book> <book category="XML"> <title lang="en">Learn XPath in 24 hours</title> <author>Jay Ban</author> <year>2010</year> <price>16.50</price> </book> </books>
books.xqy
for $x in doc("books.xml")/books/book where $x/price>30 return $x/title
XQueryTester.java
package com.tutorialspoint.xquery; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import javax.xml.xquery.XQConnection; import javax.xml.xquery.XQDataSource; import javax.xml.xquery.XQException; import javax.xml.xquery.XQPreparedExpression; import javax.xml.xquery.XQResultSequence; import com.saxonica.xqj.SaxonXQDataSource; pubpc class XQueryTester { pubpc 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("books.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)); } } }
Steps to Execute XQuery against XML
E:javajavac XQueryTester.java
E:javajava XQueryTester
Output
你取得了以下成果:
<title lang="en">Learn .Net in 24 hours</title> <title lang="en">Learn XQuery in 24 hours</title>
Understanding Example
书籍是样本数据。
书籍.xqy是XQuery的表述,将在书本上执行。 我们理解下一章的细节。
一家设在 Java的XQuery Executor方案,读书记.xqy,转至XQuery表达程序器,执行该表述。 更正应作在印发的记录上,由有关的代表团成员一人署名,送交逐字记录处处长(C-178)。