Aide NOEMI et PiXML

Éditer en source XML

Date de mise à jour

Editer en source XML

1. Introduction
2. Le mode source de XEditor
3. L’édition externe
4. Préservation des identifiants lors de l’édition en XML

1.       Introduction

Les instruments de recherche gérés dans PiXML sont encodés et enregistrés au format XML selon la DTD EAD 2002.

Les applications de consultation BnF Archives et manuscrits et Mandragore utilisent une feuille de style pour proposer un affichage public de ces instruments de recherche (IR).

PiXML propose par défaut un affichage de travail simplifié permettant une relecture centrée sur le contenu davantage que sur le format. Il est cependant possible d’afficher l’encodage XML complet (bouton Afficher les balises de l’affichage de travail) ou d’exporter l’IR sous forme de fichier XML (bouton Exporter de la page d’informations sur l’IR).

L’éditeur intégré Xeditor est également un outil visuel. En affichant les balises sous forme d’étiquettes, avec seulement certains de leurs attributs, il permet de rédiger une description en se concentrant sur le contenu. Il intègre par ailleurs un certain nombre de référentiels métier et de contrôles automatiques pour éviter les erreurs de format.

Dans certains cas, il peut être utile d’éditer directement tout ou partie d’un IR au format XML natif, par exemple pour intervenir rapidement sur le libellé des balises ou des attributs, copier-coller ou rechercher-remplacer des portions de code, ou encore contourner certaines limites de l’éditeur graphique Xeditor. Deux outils rendent cela possible :

  • le mode source de Xeditor permet d’intervenir ponctuellement sur le code XML du composant (ou de la branche) en cours d’édition ;
  • l’édition externe, accessible depuis l’affichage de travail de PiXML, permet d’éditer un IR entier (ou une branche) dans un logiciel externe installé sur le poste informatique utilisé.

Attention : l’édition en XML impose de maîtriser parfaitement le format XML/EAD, au risque d’introduire des erreurs dans le code qui rendront impossible l’enregistrement des modifications. Il est vivement conseillé de sauvegarder toutes les modifications apportées avant une édition du code XML.

Exemple 1 : voir la notice

Affichage public BnF Archives et Manuscrits

affichage BAM pour NAF 24430-24466

Affichage de travail PiXML

affichage pixml pour NAF 24430-24466

Affichage de l’éditeur Xeditor (<archdesc>)

affichage xeditor pour NAF 24430-24466

Encodage EAD

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ead PUBLIC "+//ISBN 1-931666-00-8//DTD ead.dtd (Encoded Archival Description (EAD) Version 2002)//EN" "ead.dtd">
<ead>
    <eadheader langencoding="iso639-2b" scriptencoding="iso15924" dateencoding="iso8601" countryencoding="iso3166-1" repositoryencoding="iso15511">
        <eadid countrycode="FR" mainagencycode="751021006">FRBNFEAD000005645</eadid>
        <filedesc>
            <titlestmt>
                <titleproper>NAF 24430-24466</titleproper>
                <subtitle>Notice descriptive.</subtitle>
            </titlestmt>
            <publicationstmt>
                <publisher>Bibliothèque nationale de France</publisher>
                <date normal="2006">2006</date>
            </publicationstmt>
        </filedesc>
        <profiledesc>
            <creation>Notice créée à partir de la conversion rétrospective du catalogue des <bibref href="https://catalogue.bnf.fr/ark:/12148/cb370657012">Nouvelles acquisitions françaises 1946-1957 (NAF 13005 à 14061 et 24219 à 25100). Paris : Bibliothèque nationale de France, 1967</bibref>.<lb/>Cette notice a été encodée en XML conformément à la DTD EAD (version 2002).<lb/>La conversion a été réalisée par la société Archproteus, en <date normal="2006">2006</date>.</creation>
            <langusage>Notice rédigée en<language langcode="fre">français</language>
            </langusage>
        </profiledesc>
    </eadheader>
    <archdesc level="fonds">
        <did>
            <unitid type="cote">NAF 24430-24466</unitid>
            <unittitle>Correspondance de Gaston Paris.</unittitle>
            <unitdate era="ce" calendar="gregorian" normal="1840/1910">XIXe-XXe siècles</unitdate>
            <physdesc>
                <physfacet type="support">Papier</physfacet>
                <extent>37 volumes</extent>
                <dimensions>290 × 220 mm.</dimensions>
                <physfacet type="reliure">Demi-reliure</physfacet>
            </physdesc>
            <repository>
                <corpname source="Repertoire_des_Centres_de_Ressources" authfilenumber="751041006" normal="Bibliothèque nationale de France. Département des Manuscrits">Bibliothèque nationale de France. Département des Manuscrits</corpname>
            </repository>
            <langmaterial>Document en <language langcode="fre">français.</language>
            </langmaterial>
        </did>
        <acqinfo>
            <p>Don de M. R. Savary et de Mme P. Desjardins.</p>
        </acqinfo>
        <relatedmaterial>
            <p>Le manuscrit <archref href="https://archivesetmanuscrits.bnf.fr/ark:/12148/cc6286n/cd0e496" show="new" actuate="onrequest">NAF 13247</archref> contient l'inventaire alphabétique de la correspondance Gaston Paris. </p>
        </relatedmaterial>
        <dsc>[…]</dsc>
    </archdesc>
</ead>

2.       Le mode source de Xeditor

Une fois ouvert un composant (ou une branche) en édition dans Xeditor, le bouton Source XML de la barre d’outils permet de basculer vers l’affichage complet du code XML.

bouton source xml dans le menu haut

L’emplacement du curseur est conservé, ce qui permet d’accéder directement, dans le code source, à la balise en cours d’édition dans le mode visuel.

L’ensemble des composants en cours d’édition sont affichés par défaut, mais il est possible de masquer certaines balises en cliquant sur le triangle à côté du numéro de ligne.

Attention : si Xeditor est ouvert en mode « édition simple », il n’est pas possible d’ajouter des sous-composants, même en utilisant le mode source. En mode « éditer tout », l’ajout, la modification et la suppression de sous-composants est possible en mode source comme en mode visuel.

Il est possible de modifier au clavier l’ensemble des balises, attributs et éléments textuels, et d’utiliser de la même façon la fonction Rechercher/Remplacer (Ctrl+F), y compris ses options avancées (expressions régulières, recherche dans la sélection, etc.).

lire le code source xml

Cliquer sur le bouton Appliquer en bas à droite pour intégrer les modifications réalisées dans l’instrument de recherche en cours d’édition, ou Annuler pour y renoncer. On quitte alors le mode source pour revenir au mode visuel d’édition. Attention : il faut encore enregistrer l’IR dans le mode visuel pour que les modifications soient sauvegardées.

Lors de l’application des modifications (et pas avant) ou en cliquant sur le bouton Valider, Xeditor contrôle que le code XML est bien formé et valide au regard de la DTD EAD. En cas d’erreur, une croix rouge s’affiche à la ligne concernée ; un message d’explication (parfois sibyllin) s’affiche au survol. L’ensemble des erreurs doivent être corrigées pour que les modifications soient appliquées.

signalement d'erreur xml

Il arrive que l’application Xeditor dysfonctionne au moment de l’application des modifications, entraînant un plantage du navigateur. Dans ce cas, l’ensemble des modifications sont perdues et il est nécessaire de déverrouiller l’instrument de recherche dans PiXML pour pouvoir l’éditer à nouveau.

Pour identifier plus facilement les erreurs éventuelles et limiter les pertes de données, il est donc vivement recommandé de procéder par petites modifications, à appliquer et à enregistrer régulièrement.

3.       L’édition externe

Pour une édition d’ampleur d’un IR, il peut être préférable de ne pas utiliser l’éditeur intégré Xeditor mais un logiciel externe.

Il est nécessaire pour cela de disposer d’un logiciel d’édition XML sur son poste professionnel. Le DSI peut installer sur demande le logiciel gratuit Notepad++ qui offre des fonctionnalités de base (plugin XML Tools), ou de façon plus ponctuelle des éditeurs plus avancés comme Altova Xml Spy ou Oxygen.

Pour plus d’informations, voir également la fiche « Utiliser un éditeur externe ».

L’édition externe est déclenchée depuis l’affichage de travail de PiXML pour le composant ou la branche (ou l’IR entier) sélectionné, avec le bouton Editer tout en externe. Il n’existe pas d’édition simple en externe : un composant est toujours édité avec l’ensemble de ses sous-composants.

bouton éditer en externe

La branche sélectionnée est alors verrouillée pour édition, et le fichier XML à éditer est téléchargé par le navigateur.

Après l’édition dans le logiciel externe, il faut recharger le fichier modifié dans PiXML en utilisant le bouton Enregistrer (édition externe). Il est également possible de déverrouiller la branche pour renoncer à l’édition externe.

bouton déverrouiller

Lors de l’enregistrement, PiXML contrôle que le code XML est bien formé et valide au regard de la DTD EAD. En cas d’erreur, un message d’échec s’affiche, sans précision sur le type d’erreur rencontrée, et les modifications ne sont pas prises en compte.

Pour éviter cette difficulté, il est recommandé d’utiliser les fonctionnalités de validation intégrées à la plupart des éditeurs XML, avant enregistrement dans PiXML.

4.       Préservation des identifiants lors de l’édition en XML

Dans PiXML, l’attribution d’identifiants aux IR et aux composants est gérée automatiquement pour garantir leur unicité et leur pérennité. Bien que présents dans le code XML (balise <eadid> pour l’instrument de recherche ; attribut ID de la balise <c> pour chaque composant), ces identifiants ne doivent en aucun cas être modifiés manuellement.

En cas d’ajout de nouveaux composants, on s’assurera que ceux-ci n’aient pas d’attribut ID. En particulier, une attention doit être portée au copier-coller de composants existants pour ne pas dupliquer cet identifiant.

En outre, PiXML introduit dans les fichiers EAD des identifiants techniques destinés à faciliter l’enregistrement et à éviter les pertes de données. Ces identifiants sont présents au début du fichier dans des balises de forme <?... ?>. Ils ne doivent en aucun cas être modifiés ou supprimés.

Exemple 2 : identifiants techniques

Mode source XEditor

identifiants technique en mode source xml

Edition Externe

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ead PUBLIC "+//ISBN 1-931666-00-8//DTD ead.dtd (Encoded Archival Description (EAD) Version 2002)//EN" "ead.dtd">
<c id="d0e18432" level="otherlevel" otherlevel="recueil_factice">
<?ir_sysID 3317?>

<?comp_sysID 9032203?>
<?mass_edit 1?>
<?comp_id_being_edited 9032203?>

[…]

</c>

En cas de modification manuelle de ces identifiants, l’IR ne pourra pas être enregistré, ou introduira dans PiXML des anomalies nécessitant l’intervention du DSI.