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 | ||
td_histoire_numerique:exercice_3 [2016/01/04 19:08] Francesco Beretta |
td_histoire_numerique:exercice_3 [2016/01/04 22:04] (Version actuelle) Francesco Beretta |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Revenir à la [[td_histoire_numerique:accueil|page d'accueil]]. | + | Revenir à la [[td_histoire_numerique:accueil#troisieme_exercice|page d'accueil]]. |
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 ====== | ||
Ligne 104: | Ligne 121: | ||
===== Code SQL ===== | ===== Code SQL ===== | ||
- | Dans cette section on trouvera le code des principales fonctions SQL/PLpgSQL utilisées dans la base de données | + | Dans cette section on trouvera le code des principales fonctions SQL/PLpgSQL utilisées dans la base de données. |
- | L | + | |
- | === Fonction vues.transformation_xml(integer) === | + | ==== Fonction vues.transformation_xml(integer) ==== |
Cette fonction transforme le texte codé avec le système des accolades en un document XML. En argument de la fonction, il faut mettre l'identifiant (la clé primaire) de la ligne dans laquelle se trouve le texte à transformer. Le texte à transformer est stocké dans le champs "texte" et sera retranscrit et enregistré automatiquement par la fonction dans le champs "texte_xml". | Cette fonction transforme le texte codé avec le système des accolades en un document XML. En argument de la fonction, il faut mettre l'identifiant (la clé primaire) de la ligne dans laquelle se trouve le texte à transformer. Le texte à transformer est stocké dans le champs "texte" et sera retranscrit et enregistré automatiquement par la fonction dans le champs "texte_xml". |