Premiers pas en XQuery

  • Objectif

  • Nous allons étendre le programme bonjour.xql pour :

    • prendre le nom de l'utilisateur en paramètre de la requête
    • imprimer la date du jour
    • retourner le résulat dans un document HTML

Anatomie du fichier de départ

  • xquery version "1.0";
    
    declare option exist:serialize "method=text media-type=text/plain";
    
    "Bonjour tout le monde !"
  • le prologue

    • déclarations diverses qui modifient le contexte d'évaluation du corps
  • le corps

    • expressions XQuery à évaluer et à retourner
  • nous allons ajouter l'importation d'un module externe pour accéder aux paramètres de la requête

Lecture du paramètre nom

  • xquery version "1.0";
    
    import module namespace request = "http://exist-db.org/xquery/request";
    
    declare option exist:serialize "method=text media-type=text/plain";
    
    let $name := request:get-parameter('nom', 'inconnu')
    return
      concat("Bonjour ", $nom, " !")
  • request:get-parameter est une librairie fournie par eXist-DB

    Notez que les fonctions importées sont préfixées par l'espace de nom associé à leur module

    L'espace de nom est une URI qui permet au processeur XQuery d'identifier et de charger la librairie

  • L'expression let crée une variable (un binding) avec le paramètre nom de la requête

    Elle execute l'expression après return dans le contexte enrichi de cette variable

  • concat est une fonction standard de manipulation des chaines

À suivre....

  • Ce module se poursuit avec les transparents suivants :

  • Récupération de la date du jour

  • Présentation du résultat en HTML

  • Pour aller plus loin