SPW-DIG / metawal-core-geonetwork

Metawal - Catalogue pour l'information géographique de Wallonie
http://metawal.wallonie.be
GNU General Public License v2.0
3 stars 1 forks source link

Moissonnage / Conversion / Changement des langues #713

Closed vbombaerts closed 2 years ago

vbombaerts commented 2 years ago

Je réfléchissais à une façon de transformer une fiche multilingue en fiche unilingue, ou d'en changer la langue principale.

Si je comprends bien le fonctionnement actuel, une mise à jour en batch (version xpathEdits) permet d'ajouter une section de XML, de la remplacer ou de la supprimer. Le snippet à ajouter/remplacer est d'office écrit par l'utilisateur et est donc une "constante".

Pourrait-on envisager d'ajouter la possibilité que le snippet XML soit une "variable" tirée directement du fichier XML d'origine et dont la valeur est déterminée par un xpath ?

Donc par exemple sur cet extrait de fiche :

[...]
<gmd:contact>
    <gmd:CI_ResponsibleParty xsi:schemaLocation="http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20060504/gmd/gmd.xsd">
         <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType">
            <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco">FPS Finance - General Administration of Patrimonial Documentation (GAPD)</gco:CharacterString>
            <gmd:PT_FreeText>
               <gmd:textGroup>
                  <gmd:LocalisedCharacterString locale="#EN">FPS Finance - General Administration of Patrimonial Documentation (GAPD)</gmd:LocalisedCharacterString>
               </gmd:textGroup>
               <gmd:textGroup>
                  <gmd:LocalisedCharacterString locale="#FR">SPF Finances - Administration Générale de la Documentation Patrimoniale (AGDP)</gmd:LocalisedCharacterString>
               </gmd:textGroup>
            </gmd:PT_FreeText>
[...]
         </gmd:organisationName>
[...]
    </gmd:CI_ResponsibleParty>
</gmd:contact>
[...]
  1. On choisit la routine remplace
  2. On définit le xpath de ce qu'on veut remplacer : /gmd:MD_Metadata/gmd:contact/gmd:CI_ResponsibleParty/gmd:organisationName/gco:CharacterString
  3. On définit le texte de remplacement. Dans ce cas une valeur qui se trouve dans la fiche, définie par son Xpath : /gmd:MD_Metadata/gmd:contact/gmd:CI_ResponsibleParty/gmd:organisationName/gmd:PT_FreeText/gmd:textGroup[gmd:LocalisedCharacterString/@locale="#FR"]/gmd:LocalisedCharacterString
  4. Remplacement

Ajout éventuel de contrôles préalables pour ne pas remplacer un élément par un autre qui serait incompatible.

fxprunayre commented 2 years ago

hum, j'aime bien faire des trucs tordus mais j'aurai une préférence pour ajouter dans l'éditeur une meilleur gestion des langues de la fiche avec la possibilité de changer la langue par défaut...

vbombaerts commented 2 years ago

C'est jouable pour des fiches moissonnées dont il faut changer la langue par défaut puis rendre unilingues ?

fxprunayre commented 2 years ago

Ce qui avait été discuté sur certains projets mais jamais mis en place, c'est d'avoir des actions spécifiques pour l'ajout/suppression/changement de langue principale d'une fiche. Si c'est une conversion XSL, le process pourrait être accessible lors de la configuration d'un moissonneur...

fxprunayre commented 2 years ago

Au moissonnage:

vbombaerts commented 2 years ago

voir #676