XQuery

© Jean-Marc Vanel - 2004 - 2006

Objectif
Etre productif avec le nouveau langage pour XML du WorldWide Web Consortium, dans ses trois utilisations: requêtes, transformations, génération de pages Web dynamiques

Profils Stagiaires
Développeurs, chef de projet, architectes techniques

Pré-requis
Connaître XML; notions sur XML Schema

Plan

Historique de Xquery
Relations avec Xpath 2.0 et XSLT 2.0

Panorama des implémentations
Les bases de données XML natives : standards XML:DB, Xupdate, JSR-000225 XQuery API for Java (XQJ)
eXist, Xindice, XHive, Tamino, XMLBeans, XQuark

Implémentations étudiées ici
La base de données eXist
Le processeur Saxon

Rappels XML: points délicats
Encodage, espaces de nommage, espaces blancs, entités et catalogues, attributs, validation ( DTD, XML Schema, Relax NG )

Xquery comme langage de requêtes
Xpath 2.0
La syntaxe FLOWR, les fonctions utilisateur, les fonctions Xpath 2.0
Le typage XML Schema
Notions de séquence (liste), de collection
Prologue Xquery, déclarations
Variables

Utilisation de XQuery comme langage de transformations
les avantages respectifs de XQuery et XSLT
Simplicité par rapport à XSLT; comment migrer de XSLT à XQuery

Génération de pages Web dynamiques
Extensions Web avec eXist: une alternative avantageuse à PHP et JSP

Bonnes pratiques de développement en Xquery
    qualité du code
    conception, design patterns, s'appuyer sur les Schemas
    optimisations, indices

Autres extensions eXist
    recherches plein texte
    mises à jour via XQuery
    Appel de fonctions utilisateur en Java

Outils de développement

Travaux pratiques
Requêtes, extraction et transformation de documents XML avec le processeur Saxon.
Requêtes XQuery sur la base de données native XML eXist.
Génération de pages Web dynamiques en Xquery avec eXist

Le formateur
Développeur depuis 5 ans du projet open source eXist ( base de données XQuery en Java ), j'écris et j'optimise des scripts XQuery pour mes clients.
Formateur agréé indépendant, expérience de XSLT et de nombreux langages Orientés Objet, chef de projet et accompagnateur, expertise technique à jour, expérience de domaines fontionnels variés .