Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
td_histoire_numerique:exercice_3 [2016/01/04 19:09] Francesco Beretta [Code SQL] |
td_histoire_numerique:exercice_3 [2016/01/04 21:52] Francesco Beretta [Requêtes SQL / XPath] |
||
---|---|---|---|
Ligne 51: | Ligne 51: | ||
===== Production des données ===== | ===== Production des données ===== | ||
+ | Pour des exemples de production de données, voir les exercices 4 et 5. | ||
\\ | \\ | ||
- | ==== Transformation des textes encodés en XML ==== | + | ===== Transformation des textes encodés en XML ===== |
- | * Créer dans la base de données un objet digital qui correspond au texte qu'on est en train d'encoder. | + | * Créer dans la base de données un objet de type "objet digital" qui correspond au texte qu'on est en train d'encoder. |
- | * Lui donner un nom et ajouter un descriptif du texte encodé | + | * Lui donner un nom et ajouter un descriptif du texte encodé. On peut aussi décrire l'état d'avancement du codage. |
* Copier le texte encodé en entier et le coller dans le champs 'texte' de l'objet en question | * Copier le texte encodé en entier et le coller dans le champs 'texte' de l'objet en question | ||
* Sauvegarder | * Sauvegarder | ||
Ligne 67: | Ligne 67: | ||
* Sinon, apparaît un message d'erreur qui indique, dans les premières lignes du message, l'élément qui pose problème et qu'il faudra corriger dans le texte encodé d'origine. | * Sinon, apparaît un message d'erreur qui indique, dans les premières lignes du message, l'élément qui pose problème et qu'il faudra corriger dans le texte encodé d'origine. | ||
* La suite du message contient la suite des erreurs provoquées par cette première erreur: celle-ci corrigée, tout rentre dans l'ordre | * La suite du message contient la suite des erreurs provoquées par cette première erreur: celle-ci corrigée, tout rentre dans l'ordre | ||
+ | * Si plusieurs erreurs se présentent, il faudra les corriger l'une après l'autre jusqu'à l'obtention du message: "Effectué". | ||
===== Requêtes SQL / XPath ===== | ===== Requêtes SQL / XPath ===== | ||
Ligne 92: | Ligne 93: | ||
* le résultat apparaîtra immédiatement dans votre navigateur web | * le résultat apparaîtra immédiatement dans votre navigateur web | ||
- | Provisoire: | + | Un exemple de requête: |
<code sql> | <code sql> | ||
- | SELECT ??? | + | WITH tw1 AS |
- | FROM ??? | + | ( |
+ | SELECT UNNEST(xpath ('//in',texte_xml)) texte_xml | ||
+ | FROM objets.objet | ||
+ | WHERE pk_objet = 3 | ||
+ | ) | ||
+ | SELECT tw1.texte_xml, | ||
+ | (((xpath ('/in/@ana',tw1.texte_xml))[1])::text)::integer cle_type_information, | ||
+ | t1.nom type_information, | ||
+ | ((xpath('/in/dat/@when',tw1.texte_xml))[1])::text date, | ||
+ | ((xpath('/in/en/@ref',tw1.texte_xml))[1])::text acteur, | ||
+ | t2.nom nom_acteur | ||
+ | FROM tw1 | ||
+ | JOIN vues.vm_objet_vue_de_base t1 ON t1.pk_objet = ( ( (xpath ('/in/@ana',tw1.texte_xml))[1])::text)::integer | ||
+ | LEFT JOIN vues.vm_objet_vue_de_base t2 ON t2.pk_objet = ( ((xpath('/in/en/@ref',tw1.texte_xml))[1])::text)::integer | ||
</code> | </code> | ||
+ | Pour des exemples d'application, voir les **[[td_histoire_numerique:accueil&#quatrieme_exercice|exercices 4 et 5]]**. | ||
+ | |||
+ | \\ | ||
====== Documentation ====== | ====== Documentation ====== | ||