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:09] Francesco Beretta [Code SQL]  | 
                
                    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 ====== | ||