Développer avec une base native XML
Programme
Concepts de base et applications de XML
- Modèle de données XML
- Document XML (codage de caractères, entités, espaces de noms)
- Validation et langages de validation
- Langage d’extraction XPath
- Expressions, Fonctions et chemins
- Contexte courant et ordre d’évaluation
- Axes, Tests et Prédicats
- Exemples d’applications
BD natives XML
- Exemples (eXist-DB, Marklogic, BaseX, Zorba, etc.)
- Organisation des données
- Du relationnel au hiérarchique
- Identification des données
- Définition du contexte courant
- Données binaires
Environnement de programmation eXist-DB
- Modes d’exécution
- Composants (servlets)
- Traitement des requêtes
- Préfixes d’URLs enregistrés par défaut
- Illustration et aperçu de l’IDE
Introduction à XQuery
- Premiers pas (anatomie d’un fichier, lecture des paramètres, génération de résultat)
- Patterns, Modèle de données
- Fonctions natives, fonctions déclarées
- Types atomiques, types construits
- Appel de fonction
- Conversion et promotion de type
- Opérateurs, manipulation de séquences
- Espaces de noms
- Attention pièges !
- Modules
Expressions FLWORs
- Présentation
- Itération, Affectation, Filtrage, Tri, Projection
- Jointures
- Utilisation (élimination des duplicatas, Aggrégation, Regroupement)
- Notions complémentaires
XQuery avancé
- Algorithme Typeswitch
- XQuery Update
- XQuery 3.0
Architecture REST
- Rappels HTTP (ressources, identifiers, transactions, messages, méthodes, statut, en-tête, corps)
- Simplicité de REST
- Composants REST
- Interface Uniforme (CRUD)
- Chaque action retourne un statut
REST et bases natives XML
- Réécriture des URLs
- Architecture
- Controller.xql
- Exemple de Pipeline
- Redirection explicite, redirection invisible
- Accès direct
- Pattern du contrôleur de ressource
- RESTXQ (Annotations, Fonctions, implémentations)
eXist-DB avancé
- Réglages (environnement d’exécution, mode de lancement)
- Configurer la réécriture des URLs
- Configuration les données et les droits d’accès
- Modules XQuery supplémentaires (request, response, util, image, mail, etc.)
- débogage, optimisation (profilage XQuery, indexes) et validation (implicite vs. explicite)
- JSON (en entrée, en sortie, avec ou sans RESTXQ)
- Triggers et réplication