SlideShare a Scribd company logo
XQuery Novelties
Geert Josten

Hardcore XML track
XML Holland


                     11 november 2010
Agenda

   Original Scope
   Extending Scope
   Newest Extensions
   Beyond Scope
   Summary




11 november 2010        Hardcore XML - XQuery   2
about XQuery

“XQuery is replacing proprietary middleware
  languages and Web Application
  development languages.”




11 november 2010       Hardcore XML - XQuery   3
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
Original scope




11 november 2010      Hardcore XML - XQuery   5
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
Origin




11 november 2010   Hardcore XML - XQuery   7
Extending scope




11 november 2010       Hardcore XML - XQuery   8
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
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
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
Newest extensions




11 november 2010        Hardcore XML - XQuery   12
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
Update 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
Beyond scope




11 november 2010      Hardcore XML - XQuery   15
XQuery Scripting Extension 1.0 (SX)

 W3C Working Draft since 2008
 Procedural constructs
       While, variable assignment, exit, ..
       Breaks functional approach
 Also allows multiple, incremental updates
       Update *and* return results
       Very useful for application logic
 Few implementations yet

11 november 2010             Hardcore XML - XQuery   16
XQuery 1.1

 W3C Working Draft since 2008
 Lots of small improvements
         Improved FLWOR
         Try/Catch
         Dynamic function invocation
         Output declarations
 Mature language, design patterns
 Not many implementations yet

11 november 2010             Hardcore XML - XQuery   17
XRX and NoSQL

 NoSQL:
       Use non-relational database
       Open source or open standard (like XQuery)
 XRX:
       Xforms + Rest + Xquery
       Innovative two-tier architecture
       XForms front-end, XQuery back-end,
          REST api
 Breaking long-lasting traditions
11 november 2010            Hardcore XML - XQuery    18
Summary




11 november 2010    Hardcore XML - XQuery   19
Database features revisited

 Features covered:
       Extraction, Searching, Updating, Data constraints,
        Versioning
       Functional in nature
 Uncovered:
       Storage, Security, Triggers, Crash-recovery..
       Mostly technical, necessary?
       More lacking?


11 november 2010           Hardcore XML - XQuery             20
Just remember


XQuery is not just for querying XML!




11 november 2010    Hardcore XML - XQuery   21
Questions?




11 november 2010     Hardcore XML - XQuery   22
Timeline




11 november 2010   Hardcore XML - XQuery   23
XQuery and XPath Full Text 1.0

  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                    24
XQuery Data Definition Facility
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     25

More Related Content

Similar to XQuery Novelties (XML Holland 2010)

Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...InSync2011
 
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionBalisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionFlorent Georges
 
Migration from FAST ESP to Solr
Migration from FAST ESP to SolrMigration from FAST ESP to Solr
Migration from FAST ESP to Solr
TNR Global
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
Markku Laine
 
XML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorXML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorjimfuller2009
 
XForms workshop slides
XForms workshop slidesXForms workshop slides
XForms workshop slidesewg118
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
 
The power of faceted search in alfresco
The power of faceted search in alfrescoThe power of faceted search in alfresco
The power of faceted search in alfrescoXeniT Solutions nv
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured Data
Marco Gralike
 
Best Practices - Mobile Developer Summit
Best Practices - Mobile Developer SummitBest Practices - Mobile Developer Summit
Best Practices - Mobile Developer Summit
wolframkriesing
 
Linq to xml
Linq to xmlLinq to xml
Linq to xml
Mickey
 
XML - State of the Art
XML - State of the ArtXML - State of the Art
XML - State of the Art
Jakub Malý
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
Marco Gralike
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Marco Gralike
 
Taking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude SupportTaking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude Support
XMetaL
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI Framework
Béla Varga
 
Working with xml data
Working with xml dataWorking with xml data
Working with xml dataaspnet123
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - Development
Octavian Nadolu
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured data
Marco Gralike
 

Similar to XQuery Novelties (XML Holland 2010) (20)

Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
 
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionBalisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
 
Migration from FAST ESP to Solr
Migration from FAST ESP to SolrMigration from FAST ESP to Solr
Migration from FAST ESP to Solr
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
XML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorXML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processor
 
XForms workshop slides
XForms workshop slidesXForms workshop slides
XForms workshop slides
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
 
The power of faceted search in alfresco
The power of faceted search in alfrescoThe power of faceted search in alfresco
The power of faceted search in alfresco
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured Data
 
Best Practices - Mobile Developer Summit
Best Practices - Mobile Developer SummitBest Practices - Mobile Developer Summit
Best Practices - Mobile Developer Summit
 
Linq to xml
Linq to xmlLinq to xml
Linq to xml
 
XML - State of the Art
XML - State of the ArtXML - State of the Art
XML - State of the Art
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
 
Taking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude SupportTaking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude Support
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI Framework
 
Linq To XML Overview
Linq To XML OverviewLinq To XML Overview
Linq To XML Overview
 
Working with xml data
Working with xml dataWorking with xml data
Working with xml data
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - Development
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured data
 

Recently uploaded

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

XQuery Novelties (XML Holland 2010)

  • 1. XQuery Novelties Geert Josten Hardcore XML track XML Holland 11 november 2010
  • 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
  • 5. Original scope 11 november 2010 Hardcore XML - XQuery 5
  • 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
  • 7. Origin 11 november 2010 Hardcore XML - XQuery 7
  • 8. Extending scope 11 november 2010 Hardcore XML - XQuery 8
  • 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
  • 12. Newest extensions 11 november 2010 Hardcore XML - XQuery 12
  • 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 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
  • 15. Beyond scope 11 november 2010 Hardcore XML - XQuery 15
  • 16. XQuery Scripting Extension 1.0 (SX)  W3C Working Draft since 2008  Procedural constructs  While, variable assignment, exit, ..  Breaks functional approach  Also allows multiple, incremental updates  Update *and* return results  Very useful for application logic  Few implementations yet 11 november 2010 Hardcore XML - XQuery 16
  • 17. XQuery 1.1  W3C Working Draft since 2008  Lots of small improvements  Improved FLWOR  Try/Catch  Dynamic function invocation  Output declarations  Mature language, design patterns  Not many implementations yet 11 november 2010 Hardcore XML - XQuery 17
  • 18. XRX and NoSQL  NoSQL:  Use non-relational database  Open source or open standard (like XQuery)  XRX:  Xforms + Rest + Xquery  Innovative two-tier architecture  XForms front-end, XQuery back-end, REST api  Breaking long-lasting traditions 11 november 2010 Hardcore XML - XQuery 18
  • 19. Summary 11 november 2010 Hardcore XML - XQuery 19
  • 20. Database features revisited  Features covered:  Extraction, Searching, Updating, Data constraints, Versioning  Functional in nature  Uncovered:  Storage, Security, Triggers, Crash-recovery..  Mostly technical, necessary?  More lacking? 11 november 2010 Hardcore XML - XQuery 20
  • 21. Just remember XQuery is not just for querying XML! 11 november 2010 Hardcore XML - XQuery 21
  • 22. Questions? 11 november 2010 Hardcore XML - XQuery 22
  • 23. Timeline 11 november 2010 Hardcore XML - XQuery 23
  • 24. XQuery and XPath Full Text 1.0 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 24
  • 25. XQuery Data Definition Facility 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 25