Nuvola apps important.png Attention, suite à une faille de sécurité, la plupart des liens vers les serveurs d'exploration sont désactivés.

-

Wicri Lorraine:Démonstration chartes/Conversion Sxml

De Wicri Lorraine
Théorème de Pythagore Démonstration sur les chartes en Lorraine
Cette page fait partie d'un ensemble démonstratif sur l'utilisation de technologies numériques sur la thématique des chartes en Lorraine .
Cette page traite des problèmes de traitement XML par la plateforme Dilib.
ChLor00031r.jpg

Un premier problème à traiter par la démonstration sur les chartes a été la récupération des transcription des chartes en Xml (TEI) pour les rendre compatibles avec les restrictions demandées par l'usage de la plateforme Dilib.

Le premier exemple traité est la charte FRAD088 Edpt328 AA1 1.

Sauts de ligne dans les balises

En effet, les documents d'entrée posent quelques problèmes liés au découpage du texte XML avec notamment des sauts de ligne intempestifs (pour Dilib !). L'exemple ci-dessous montre un saut de ligne à la suite de « <persName ».

                <p>
                    <pb n="1" facs="#folio1"/><lb n="1"/>Je <persName
                        key="Ferry III, duc de Lorraine">Ferris</persName>, <term key="duc"
                        >dus</term> de <placeName key="Lorraine">Lorreigne</placeName>
                    <ex>et</ex>
                </p>

Deux modules de Dilib ont été ainsi mis à niveau : modules modifiés BufferParserXml et SxmlParser.

Sauts de lignes entre éléments Xml

Un autre problème, toujours lié aux sauts de ligne a été rencontré.

<?xml version="1.0" encoding="UTF-8"?>

<?xml-model href="AmpLor.rnc" type="application/relax-ng-compact-syntax"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">

Le module SxmlRecordReader a été mis à niveau.

SxmlUnIndent

Version V.0.6.04

Un premier essai d'extraction montre des problèmes liés à l'indentation :

SxmlSelect -s TEI/text/body/div/p/placeName -p @s1 < AMPLorrFRAD088_Edpt328_AA1_1r.xml

La commande d'extration SxmlSelect fait apparaître deux formes pour Neuveville-sous-Repy.

<placeName key="Lorraine">Lorreigne</placeName>
<placeName key="Neuveville-sous-Repy (La)">la Nueveville desouz
                        Reipiz</placeName>
<placeName key="Neuveville-lès-Raon (La)">Nueveville de Ravon</placeName>
<placeName key="Étival (abbaye)">Estivai</placeName>
<placeName key="Neuveville-lès-Raon (La)">Nueveville de Ravon</placeName>
<placeName key="Neuveville-lès-Raon (La)">Nueveville de Ravon</placeName>
<placeName key="Neuveville-sous-Repy (La)">Nueveville desouz Reipiz</placeName>
<placeName key="Neuveville-lès-Raon (La)">Nueveville de Ravon</placeName>
<placeName key="Neuveville-lès-Raon (La)">Nueveville de Ravon</placeName>
<placeName key="Neuveville-lès-Raon (La)">Nueveville de Ravon</placeName>
<placeName key="Neuveville-sous-Repy (La)">Nueveville de Rei<lb n="12"/>piz</placeName>
<placeName key="Étival (abbaye)">Estivai</placeName>

Le filtre SxmlUnIndent, dans sa version actuelle ne suffit pas :

cat AMPLorrFRAD088_Edpt328_AA1_1r.xml      \
    | SxmlUnIndent                         \
    | SxmlSelect  -s TEI/text/body/div/p/placeName -p @s1

En effet, il produit :

<placeName key="Lorraine">Lorreigne</placeName>
<placeName key="Neuveville-sous-Repy (La)">la Nueveville desouz&#x10;                        Reipiz</placeName>

Version V.0.6.06

A partir de la version V.0.6.06, le commande SxmlUnIndent dispose de 2 modes de fonctionnement.

Ainsi, la suite :

cat AMPLorrFRAD088_Edpt328_AA1_1r.xml   \
   | SxmlUnIndent  -p                   \
   | SxmlSelect  -s TEI/text/body/div/p/placeName -p @s1

produit :

<placeName key="Neuveville-sous-Repy (La)">la Nueveville desouz&#xA;                        Reipiz</placeName>

et la suite :

cat AMPLorrFRAD088_Edpt328_AA1_1r.xml   \
   | SxmlUnIndent  -s                  \
   | SxmlSelect  -s TEI/text/body/div/p/placeName -p @s1
<placeName key="Neuveville-sous-Repy (La)">la Nueveville desouz Reipiz</placeName>