Outils pour utilisateurs

Outils du site


public:specs_production_projet_oriflamms

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:specs_production_projet_oriflamms [2015/12/18 14:08]
alexei.lavrentev@ens-lyon.fr
public:specs_production_projet_oriflamms [2016/06/23 11:41] (Version actuelle)
matthieu.decorde@ens-lyon.fr
Ligne 36: Ligne 36:
 ===== Solution ===== ===== Solution =====
  
-==== État de l'​art ​====+==== Spécification ​====
 avec %%corpus.xml%% le fichier XML-TEI en entrée avec %%corpus.xml%% le fichier XML-TEI en entrée
 avec %%"/"​%% la racine du projet Oriflamms, créé ​ avec %%"/"​%% la racine du projet Oriflamms, créé ​
Ligne 45: Ligne 45:
   - Insertion des milestones manquants (milestone[@unit="​surface"​] pour chaque image, cb et lb systématiques) (XSLT patch : **oriflamms-patch-milestones.xsl**) -> %%/​texts/​corpus-w.xml%%   - Insertion des milestones manquants (milestone[@unit="​surface"​] pour chaque image, cb et lb systématiques) (XSLT patch : **oriflamms-patch-milestones.xsl**) -> %%/​texts/​corpus-w.xml%%
   - Tokenisation par mot (XSLT simple : **oriflamms-tokenize-words.xsl**) -> %%/​texts/​corpus-w.xml%%   - Tokenisation par mot (XSLT simple : **oriflamms-tokenize-words.xsl**) -> %%/​texts/​corpus-w.xml%%
-  - Re-tokenisation avec regexp (Groovy patch) -> %%/​texts/​corpus-w.xml%%<​code></​w><​w[^>​]*>​ --> (rien)+  - Re-tokenisation avec regexp (Groovy patch) -> %%/​texts/​corpus-w.xml%%<​code></​w><​w[^>]*)?> --> (rien)
 </​w>​\s*(<​milestone[^>​]*>​)?​\s*(<​pb[^>​]*>​)?​\s*(<​cb[^>​]*>​)?​\s*(<​lb[^>​]*break="​no"​[^>​]*>​)\s*<​w[^>​]*> ​ --> $1$2$3$4</​code>​ </​w>​\s*(<​milestone[^>​]*>​)?​\s*(<​pb[^>​]*>​)?​\s*(<​cb[^>​]*>​)?​\s*(<​lb[^>​]*break="​no"​[^>​]*>​)\s*<​w[^>​]*> ​ --> $1$2$3$4</​code>​
-  - Balisage des parties de mots coupés par des sauts de ligne, etc. (XSLT patch : **oriflamms-patch-words-with-lb.xsl**)+  - Balisage des parties de mots coupés par des sauts de ligne, etc. ; suppression des balises <w> et <pc> imbriquées ​(XSLT patch : **oriflamms-patch-words-with-lb.xsl**)
   - Identification et numérotation des milestones et des mots (milestone[@unit="​surface"​],​ pb, lb, lb, w, pc, seg[@type="​wp"​]) ​   - Identification et numérotation des milestones et des mots (milestone[@unit="​surface"​],​ pb, lb, lb, w, pc, seg[@type="​wp"​]) ​
     * <​del>​XSLT patch : **oriflamms-addxmlid.xsl** -> %%/​texts/​corpus-w.xml%%</​del>​     * <​del>​XSLT patch : **oriflamms-addxmlid.xsl** -> %%/​texts/​corpus-w.xml%%</​del>​
Ligne 54: Ligne 54:
         * si absent, ajouter %%@xml:​id=surf_$corpusID_$imgID%% où          * si absent, ajouter %%@xml:​id=surf_$corpusID_$imgID%% où 
           * corpusID = nom du fichier de transcription **sans le suffixe -w** et sans extension           * corpusID = nom du fichier de transcription **sans le suffixe -w** et sans extension
-          * imgID = valeur de @facs sans extension (i.e. nom du fichier image)+          * imgID = valeur de @facs sans extension (i.e. nom du fichier image) ​**filtré pour éliminer les caractères non valides dans les identifiants XML** 
 +            * fonction xpath : %%translate(@facs,'​ ():','​_--_'​)%% 
 +            * cf. [[http://​www.w3.org/​TR/​REC-xml-names/#​NT-NCName]]
         * si absent, ajouter @n (comptage de 1 à n sur tout le document)         * si absent, ajouter @n (comptage de 1 à n sur tout le document)
       * pb       * pb
         * si absent, ajouter %%@xml:​id=page_$corpusID_$N%% où          * si absent, ajouter %%@xml:​id=page_$corpusID_$N%% où 
           * N = compteur de 1 à n sur tout le document           * N = compteur de 1 à n sur tout le document
 +          * corpusID = nom du fichier de transcription **sans le suffixe -w** et sans extension
         * si absent, ajouter @n (comptage de 1 à n sur tout le document)         * si absent, ajouter @n (comptage de 1 à n sur tout le document)
       * cb       * cb
Ligne 65: Ligne 68:
           * N = compteur de 1 à n à partir du pb précédent           * N = compteur de 1 à n à partir du pb précédent
         * si absent, ajouter @n (comptage de 1 à n à partir du pb précédent)         * si absent, ajouter @n (comptage de 1 à n à partir du pb précédent)
-      * lb +      * lb   ​ 
-        * si absent, ajouter %%@xml:id="line_$colID_$Nlb"%% où  +        * si absent, ajouter %%@n="$NCurentLine"%% où 
-          * colID = identifiant du cb précédent **sans le préfixe "​col_"​** +          * NCurentLine se remet à 1 à chaque ​cb 
-          * Nlb = compteur de 1 à n à partir du cb précédent (avec et sans @type="​rejet"​) +          * si type="​rejet", ​afficher warning "​no ​attribute provided for '​rejet'​ line break
-        * si not(@type="​rejet"​+        * si @n a une valeur non numérique (par ex. "​3bis",​ "​r"​),​ l'​attribut est copié dans la sortie, NCurrentLine n'est pas incrémenté 
-          * si absentajouter %%@n="$NCurentLine"​%% où +        sinon NCurentLine prend sa valeur
-            * NCurentLine se remet à 1 à chaque cb +
-            ​* si un lb[not([type="​rejet"​)] a un @n à valeur non numérique (par ex. "​3bis",​ "​r"​),​ l'​attribut est copié dans la sortie, NCurrentLine n'est pas incrémenté +
-            si un lb[not([type="​rejet"​)] a un @n à valeur numérique, ​NCurentLine prend sa valeur ​et est incrémenté à chaque nouveau lb[not(@type="​rejet"​)]+
         * si @type="​rejet"​         * si @type="​rejet"​
-          * si pas de @n --> on met un warning ​"no n attribute provided for '​rejet'​ line break" ​et on prend le @n du premier ​lb suivant+          * si absent, ajouter %%@xml:id="line_$colID_$Nlb_r$Nrejet"%%, où 
 +            * colID = identifiant du cb précédent **sans ​le préfixe "​col_"​** 
 +            * Nlb = valeur de l'​attribut ​@n 
 +            * Nrejet = compteur des lb[@type="​rejet"​] (se remet à 1 à chaque cb)
           * si absent, ajouter %%@corresp="#​$correspLineID"​%% où           * si absent, ajouter %%@corresp="#​$correspLineID"​%% où
-          ​* correspLineID = %%@xml:​id="​line_$colID_$(Nlb+1)"​%% ​+            ​* correspLineID = %%line_$colID_$Nlb%% (soit @xml:id sans le suffixe "​_r[0-9]+"​) 
 +        * sinon 
 +          * si absent, ajouter ​%%@xml:​id="​line_$colID_$Nlb"​%% ​où  
 +            * colID = identifiant du cb précédent **sans le préfixe "​col_"​** 
 +            * Nlb = compteur de 1 à n à partir du cb précédent (<​del>​avec et </​del>​sans @type="​rejet"​)
       * w       * w
         * si absent, ajouter %%@xml:​id="​w_$corpusID_$N"​%% où          * si absent, ajouter %%@xml:​id="​w_$corpusID_$N"​%% où 
Ligne 93: Ligne 100:
   - Identification des caractères (XSLT patch : **oriflamms-tokenize-chars-2-identify.xsl**) -> %%/​texts/​corpus-c.xml%% (w tjs présents)   - Identification des caractères (XSLT patch : **oriflamms-tokenize-chars-2-identify.xsl**) -> %%/​texts/​corpus-c.xml%% (w tjs présents)
   - Création de fichiers zones et de liens (un fichier par surface) (XSLT split : **oriflamms-convert-transcriptions-orizones.xsl**) %%/​texts/​corpus-w.xml%% -> %%/​zones/​*%% et %%/​img_links/​*%%   - Création de fichiers zones et de liens (un fichier par surface) (XSLT split : **oriflamms-convert-transcriptions-orizones.xsl**) %%/​texts/​corpus-w.xml%% -> %%/​zones/​*%% et %%/​img_links/​*%%
-  - Création de dossiers (vides) -> %%/​ontologies/​%% ​et %%ontologies_links%%+  - Création de dossiers (vides) -> %%/​ontologies/​%%%%/ontologies_links/%%, %%/img/%% 
 +  - Si le paramètre "Image Directory"​ est renseigné dans le formulaire, copier les fichiers qu'il contient -> %%/img/%% 
 +  - Si le paramètre "​Create archive"​ est coché, alors créer une archive ZIP avec l'​extension "​.oriflamms"​
   ​   ​
  
Ligne 104: Ligne 113:
  
 ===== Recette ===== ===== Recette =====
-==== Protocole de test ==== +
-=== Alpha === +
-=== Beta ===+
  
 ==== État courant ==== ==== État courant ====
 Qui Quand Quoi Qui Quand Quoi
  
public/specs_production_projet_oriflamms.1450444127.txt.gz · Dernière modification: 2015/12/18 14:08 par alexei.lavrentev@ens-lyon.fr