Wicri Lorraine:Démonstration chartes/Conversion Sxml
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.
Sommaire
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 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
 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>