XQuery: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Incomplete}}
== Definition ==
== Definition ==


Xquery is a query language that uses the structure of XML intelligently can express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware. In other words, you can use it to retrieve things from files, from XML representations made from SQL databases, from native XML databases like exists. In addition, Xquery is quite a real programming language. XUpdate is a protocol to updated (XQuery can't). XML Databases are servers in which can plug XML "as is" and get it back with Xquery and/or XSLT.
Xquery, '''XML Query Language''', is a query language that uses the structure of XML intelligently can express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware. In other words, you can use it to retrieve things from files, from XML representations made from SQL databases, from native XML databases like eXist. In addition, Xquery is quite a real programming language.  
 
Xqupdate, (XQuery Update Facility) is a recent (2007) language for updating xml data. There is an older proposal, XUpdate
 
See also [[XML database]]s, servers in which you can plug XML "as is" and get it back with Xquery. Such DBMS also may support [[XPath]], [[XSLT]] and other means.
 
This is just a page with links.  
 
See [[XQuery tutorial - basics]]


== Documentation ==
== Documentation ==
Line 10: Line 19:
** [http://www.w3.org/TR/xquery-use-cases/ XML Query Use Cases]
** [http://www.w3.org/TR/xquery-use-cases/ XML Query Use Cases]
** [http://www.w3.org/TR/xmlquery-req XML Query Requirements]
** [http://www.w3.org/TR/xmlquery-req XML Query Requirements]
** [http://www.w3.org/TR/query-datamodel/ XML Query Data Model]
** [http://www.w3.org/TR/query-datamodel/ XML Query 1.0 and XPath 2.0 Data Model]
* [http://www.w3.org/TR/xqupdate/ xqupdate - XQuery Update Facility]. This will replace Xupdate (a very informal "standard") [W3C Working Draft 27 January 2006]
** [http://www.w3.org/TR/xquery-semantics/ XQuery 1.0 and XPath 2.0 Formal Semantics]. Easy bedtime reading ;)
* [http://www.w3.org/TR/xquery-operators/ XQuery 1.0 and XPath 2.0 Functions and Operators]
* [http://www.w3.org/TR/xqupdate/ XQuery Update Facility]. (W3C Candidate Recommendation 09 June 2009)
* [http://www.w3.org/TR/xpath20/ Xpath 2.0] is used both by XSLT 2.0 and XQuery. XQuery is an extension of XPath 2.0 and both XSLT 2.0 and XQuery 2.0 share the same data model.
* [http://www.w3.org/TR/xpath20/ Xpath 2.0] is used both by XSLT 2.0 and XQuery. XQuery is an extension of XPath 2.0 and both XSLT 2.0 and XQuery 2.0 share the same data model.
* [http://xmldb-org.sourceforge.net/xupdate/index.html Xupdate]. Not a W3C standard, can be used to update some XML databases (not updated since 2000 an will be replaced by XML Query Update). Xupdate looks a lot like XSLT.
* [http://xmldb-org.sourceforge.net/xupdate/index.html Xupdate]. Not a W3C standard, can be used to update some XML databases (not updated since 2000 an will be replaced by XML Query Update). Xupdate looks a lot like XSLT.
Line 17: Line 28:
=== XQuery Tutorials ===
=== XQuery Tutorials ===


* [http://www.yukonxml.com/articles/xquery/ Essential XQuery - The XML Query Language] by Darshan Singh. (Feb 2, 2004). Good !
See [[XQuery tutorial - basics]] !
* [http://www.ibm.com/developerworks/xml/library/x-xquery.html An introduction to XQuery], IBM Developer works (2002, updated 2006).
 
* [http://www.brics.dk/~amoeller/XML/querying/index.html XQuery], tutorial by Anders Möller & Michael I. Schwartzbach [2003]. See also the
* [http://en.wikipedia.org/wiki/XQuery XQuery] (Wikipedia article)
* [http://www.ipedo.com/html/xquery/xquery_tutorial/index.html XQuery Tutorial] from IPEDO. Quite technical.
* [http://www.webreference.com/programming/xquery/index.html XQuery from the Experts: Influences on the design of XQuery] Webreference Article, excerpt is from Chapter 2 of the Addison-Wesley book XQuery from the Experts. [2003]
* Michael Brundage (2004). XQuery: The XML Query Language, Portland: Book News [this is a good book]


=== Other ===
=== Other ===
Line 29: Line 37:


== Software ==
== Software ==
See also [http://www.sqlsummit.com/XQueryProv.htm XQuery Engines, Processors, Providers] at SQLSummit, retr. Jan 2010.


=== XML databases ===
=== XML databases ===
Line 38: Line 48:
* [http://www.sqlsummit.com/XQueryProv.htm XQuery Engines, Processors, Providers] A list of products by SQL Summit.com
* [http://www.sqlsummit.com/XQueryProv.htm XQuery Engines, Processors, Providers] A list of products by SQL Summit.com


* [[Image:stars3s.gif|***]][http://saxon.sourceforge.net/ SAXON] XSLT and XQuery Processor INSTALLED and used as default XSLT engine at Tecfa: [http://tecfa2.unige.ch/guides/xml/local/saxon/doc/ local documentation].
* [http://www.zorba-xquery.com/ Zorba] ships with a PHP language binding that provides some basic features in order to prepare and execute queries with Zorba (2013)
* [http://saxon.sourceforge.net/ SAXON] XSLT and XQuery Processor. There is a free version. (works).  
* [http://sourceforge.net/projects/xqengine/ XQEngine - XML Query Engine] implements XQuery - sourceforge project.
* [http://sourceforge.net/projects/xqengine/ XQEngine - XML Query Engine] implements XQuery - sourceforge project.
* [http://www.dbis.ethz.ch/research/current_projects/MXQuery MXQuery]. low-footprint, extensible XQuery Engine (Java). Includes support for update
* [http://www.dbis.ethz.ch/research/current_projects/MXQuery MXQuery]. low-footprint, extensible XQuery Engine (Java). Includes support for update
* [http://www.galaxquery.org/ Galax]. open-source implementation of XQuery 1.0.  
* [http://www.galaxquery.org/ Galax]. open-source implementation of XQuery 1.0.  
* [http://safariguide.net/ Safari Guide ] Safari Guide is a free application for Mac OS X Tiger that allows developers to evaluate arbitrary XPath and XQuery expressions against the current frontmost Safari webpage. [10/2005]
* [http://safariguide.net/ Safari Guide ] Safari Guide is a free application for Mac OS X Tiger that allows developers to evaluate arbitrary XPath and XQuery expressions against the current frontmost Safari webpage. [10/2005]
* [https://addons.mozilla.org/de/firefox/addon/5515 XQuery USE ME (XqUSEme)] Firefox add-on (based on Saxon-B, Java 1.6 update 12+ is needed). Tested, works as advertized. I used it when I teach some XQuery - [[User:Daniel K. Schneider|Daniel K. Schneider]] 20:00, 19 February 2010 (UTC)
* [http://www.xqib.org/ XQIB] XQuery in the browser (IE / FF 3.5, Windows) (Feb 2010). Not tested. May need administrator rights to install on Windows, security is not guaranteed...


=== XML Editors with XQuery support ===
=== XML Editors with XQuery support ===
Line 49: Line 62:


Many, e.g. XML Exchanger lite.
Many, e.g. XML Exchanger lite.
=== Libraries ===
; For eXist:
* [http://query-exist.sourceforge.net/ PheXist] is a set of classes for PHP 5. (older version also for PHP4 & Perl) to query and manipulate XML documents in eXist XML:DB. (Version 0.5, april 2007). PHP 5 needs the soap extension enabled.
; PHP
* [http://www.pecl.php.net/package/Zorba Zorba] PHP extension for [http://www.zorba-xquery.com/index.php/24/ Zorba], an XQuery processor.
=== Examples ===
* [http://xml-dev.markmail.org/ MarkMail]. Mailing list archive that stores messages in XML. Search (under the hood) is done with Xquery.


== Links ==
== Links ==
Line 56: Line 81:


[[Category: XML]]
[[Category: XML]]
[[Category: Technologies]]
 
[[Category:databases]]
[[Category: databases]]
[[Category:web standards]]

Latest revision as of 01:41, 3 April 2013

Definition

Xquery, XML Query Language, is a query language that uses the structure of XML intelligently can express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware. In other words, you can use it to retrieve things from files, from XML representations made from SQL databases, from native XML databases like eXist. In addition, Xquery is quite a real programming language.

Xqupdate, (XQuery Update Facility) is a recent (2007) language for updating xml data. There is an older proposal, XUpdate

See also XML databases, servers in which you can plug XML "as is" and get it back with Xquery. Such DBMS also may support XPath, XSLT and other means.

This is just a page with links.

See XQuery tutorial - basics

Documentation

Standards

XQuery Tutorials

See XQuery tutorial - basics !

Other

  • XML:DB XUpdate Use Cases by Kimbro Staken. This document outlines a basic set of uses cases for the XUpdate specification from the XML:DB Initiative.

Software

See also XQuery Engines, Processors, Providers at SQLSummit, retr. Jan 2010.

XML databases

See XML database

XQuery Engines

  • Zorba ships with a PHP language binding that provides some basic features in order to prepare and execute queries with Zorba (2013)
  • SAXON XSLT and XQuery Processor. There is a free version. (works).
  • XQEngine - XML Query Engine implements XQuery - sourceforge project.
  • MXQuery. low-footprint, extensible XQuery Engine (Java). Includes support for update
  • Galax. open-source implementation of XQuery 1.0.
  • Safari Guide Safari Guide is a free application for Mac OS X Tiger that allows developers to evaluate arbitrary XPath and XQuery expressions against the current frontmost Safari webpage. [10/2005]
  • XQuery USE ME (XqUSEme) Firefox add-on (based on Saxon-B, Java 1.6 update 12+ is needed). Tested, works as advertized. I used it when I teach some XQuery - Daniel K. Schneider 20:00, 19 February 2010 (UTC)
  • XQIB XQuery in the browser (IE / FF 3.5, Windows) (Feb 2010). Not tested. May need administrator rights to install on Windows, security is not guaranteed...

XML Editors with XQuery support

See XML editor for a list of XML editors

Many, e.g. XML Exchanger lite.

Libraries

For eXist
  • PheXist is a set of classes for PHP 5. (older version also for PHP4 & Perl) to query and manipulate XML documents in eXist XML:DB. (Version 0.5, april 2007). PHP 5 needs the soap extension enabled.
PHP
  • Zorba PHP extension for Zorba, an XQuery processor.

Examples

  • MarkMail. Mailing list archive that stores messages in XML. Search (under the hood) is done with Xquery.

Links