Today, I will tell about the current status and latest novelties of XQuery. We will start with briefly touching it’s history to review its original scope, followed by a description of various of XQueries extensions. Some of the latest proposals will come by. We will also explore the territories beyond its original scope.
2. Agenda
Original Scope
Extending Scope
Newest Extensions
Beyond Scope
Summary
11 november 2010 Hardcore XML - XQuery 2
3. about XQuery
“XQuery is replacing proprietary middleware
languages and Web Application
development languages.”
11 november 2010 Hardcore XML - XQuery 3
4. About XQuery
“XQuery is replacing proprietary middleware
languages and Web Application
development languages.”
Observation, glue
More and more XQuery applications
Beyond original scope
11 november 2010 Hardcore XML - XQuery 4
6. Origin
1999, XPath and XSLT not enough
Query languages applied to XML
SQL, OQL, Lorel, .. XML-QL, XQL
XQuery
Merged into Quilt
XQuery WD in 2001
XQuery
XQuery
XQuery
11 november 2010 Hardcore XML - XQuery 6
9. Database features
Efficient storage and extraction XQuery 1.0
Searching
Transactional updating
Data integrity, Triggers
Simultaneous access
Security, Crash-recovery
Optionally: Versioning
...
11 november 2010 Hardcore XML - XQuery 9
10. XQuery and XPath Full Text 1.0
First extension, 2004
W3C Candidate Recommendation
Search within specific nodes
Advanced „contains‟ expressions
Options
• stemming, wildcards, thesaurus, ...
Relevance ranking
Lot of implementations, few compliant
11 november 2010 Hardcore XML - XQuery 10
11. XQuery Update Facility 1.0
Introduced in 2006
W3C Candidate Recommendation
Updating of individual nodes:
insert, delete, replace, rename, and transform
No return values!
Various implementations, partly compliant
11 november 2010 Hardcore XML - XQuery 11
13. XQuery Data Definition Facility
Presented at XML Prague 2010
28msec and ETH Zürich
Static declaration:
collections, indexes and constraints
Functions:
Updating collections
Probing indexes
One implementation?
Zorba / Sausalito
11 november 2010 Hardcore XML - XQuery 13
14. Update (PUL) compositions
Presented at XML Prague 2010
ETH Zürich and Oracle
Storage cheap
Keep all changes
Consolidated changes aka composition
Versions integral part of tree
No implementations?
11 november 2010 Hardcore XML - XQuery 14
25. XQuery and XPath Full Text 1.0 example
Contains expression
for $b in /books/book Combined search
where $b/title
contains text "improving“ ftand "usability“
ordered distance at most 2 words at start
return
Advanced search criterium
$b
11 november 2010 Hardcore XML - XQuery 25
26. XQuery Data Definition Facility example
declare collection users as element()*;
declare automatically maintained index users-by-id
on nodes xqddf:collection( xs:QName(“users") )
by @id as xs:string;
xqddf:insert-nodes(
xs:QName(“users"), <user id=“geert”/> );
xqddf:probe-index-point(
xs:QName(“users-by-id"), “geert” );
11 november 2010 Hardcore XML - XQuery 26