-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XML - Déclaration de schema différentes #603
Comments
Hum, tu valides avec XMLSpy ? Tu peux tenter en changeant le schemaLocation avec A corriger ici sans doute https://github.com/SPW-DIG/metawal-core-geonetwork/blob/metawal-4.0.x/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema-ident.xml#L79 C'est la version avant 2018. Donc c'est pas bon. Dans les fiches en base, il peut être supprimé. schemaLocation est ajouté selon schema-ident. Côté ISO j'ai l'impression
|
J'ai validé avec le validateur Metawal. J'ai changé en mais Metawal remplace mes modifs par la déclaration initiale et du coup l'erreur de validation est toujours là. |
J'ai validé avec XML Spy. J'ai essayé les 3 déclarations essayées avec Metawal et je reçois les mêmes avertissements pour les 3. (après, j'ai peut-être pas compris ce que j'étais sensé faire. J'avoue que 2 ans d'absence ça efface un peu de compréhension des schemas XML et de pratique de XML Spy...) Voici le message que je reçois. Ensuite : (j'en ai mis 2 mais tous les namespace y passent)
Ceci dit, quand je passe le validateur XML Spy sur la déclaration avec la v1 du schema j'ai les mêmes avertissements et la même erreur dans Metawal. Sur une fiche sans schemaLocation, je n'ai pas d'erreur dans Metawal (et je ne peux pas valider dans XML Spy) |
Dans GeoNetwork, le mieux reste de ne pas définir schemaLocation. Dans ce cas, il utilise les XSD en local dans l'appli (c'est plus rapide) et utilise https://github.com/SPW-DIG/metawal-core-geonetwork/blob/metawal-4.0.x/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema.xsd pour la validation. En utilisant
7 min plus tard, Sans schemaLocation, 1s plus tard Donc le pb vient plus du XSD là. Je vais essayer de trouver une version sans erreur. Le mieux par défaut c'est déjà de ne pas avoir de schemaLocation dans l'appli. On a déjà supprimé ça dans le passé cf. https://github.com/SPW-DIG/metawal-core-geonetwork/blob/metawal-4.0.x/web/src/main/webapp/WEB-INF/classes/setup/sql-metawal/migrate/3.8.0/migrate-default.sql#L23-L24 Et lors des exports XML, laissé l'appli ajouter un schemaLocation qui marche. |
Avec
Quand on valide, on doit sauver avant. Ce serait peut être à améliorer? |
@davinciagf Appliquer ça en db pour supprimer les schemaLocation UPDATE Metadata SET data = replace(data,
' xsi:schemaLocation="http://standards.iso.org/iso/19115/-3/mds/1.0 http://standards.iso.org/iso/19115/-3/mds/1.0/mds.xsd"',
'')
WHERE data LIKE '%xsi:schemaLocation="http://standards.iso.org/iso/19115/-3/mds/1.0 http://standards.iso.org/iso/19115/-3/mds/1.0/mds.xsd"%'; |
Problème de connexion sur la DB, j'attends le retour de mes accès.. |
Zut ! Je n'y ai même pas pensé. |
Retour des droits pour les requêtes sur la DB test : 67 fiches impactées. |
Env valid : La requête corrective n'a pas été jouée. |
Et c'est embêtant parce que du coup on ne peut plus utiliser les outils de validation des fiches (elles sont d'office en erreur à cause du schemaLocation), d'où le caractère critique. |
Potentiel erreur de ma part- j'ai zappé deux lignes dans les instructions de mise à jour pour la valid de ce lundi mais les règles sont bien présentes dans le script sql et elles seront donc jouées en prod |
Encore des schemaLocation trouvés en prod. Mais je pense qu'il y en a moins qu'en valid, donc peut-être un cas que le script n'a pas pris en compte ? @davinciagf tu pourrais faire un état des lieux pour une éventuelle correction manuelle stp ? |
J'ai obtenu les accès DB en lecture sur la prod. |
OK. toutes les fiches ont été corrigées. |
Description
Plusieurs déclarations de schéma différentes pour le même type de ressource coexistent dans Metawal. Lequel est le bon ?
Ex1 : http://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/28651053-16ae-4ea4-98bd-1c9e908c14bf (série)
<mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0" xmlns:msr="http://standards.iso.org/iso/19115/-3/msr/2.0" xmlns:mrs="http://standards.iso.org/iso/19115/-3/mrs/1.0" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0" xmlns:mdt="http://standards.iso.org/iso/19115/-3/mdt/2.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mpc="http://standards.iso.org/iso/19115/-3/mpc/1.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:mda="http://standards.iso.org/iso/19115/-3/mda/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:srv="http://standards.iso.org/iso/19115/-3/srv/2.1" xmlns:mac="http://standards.iso.org/iso/19115/-3/mac/2.0" xmlns:mex="http://standards.iso.org/iso/19115/-3/mex/1.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:gex="http://standards.iso.org/iso/19115/-3/gex/1.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mas="http://standards.iso.org/iso/19115/-3/mas/1.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:gfc="http://standards.iso.org/iso/19110/gfc/1.1" xmlns:cat="http://standards.iso.org/iso/19115/-3/cat/1.0" xmlns:mds="http://standards.iso.org/iso/19115/-3/mds/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0" xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0" xsi:schemaLocation="http://standards.iso.org/iso/19115/-3/mds/1.0 http://standards.iso.org/iso/19115/-3/mds/1.0/mds.xsd">
Ex2 : http://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/43c57664-9548-4dd0-93fd-696f5bf85537 (série)
<mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cat="http://standards.iso.org/iso/19115/-3/cat/1.0" xmlns:gfc="http://standards.iso.org/iso/19110/gfc/1.1" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:gex="http://standards.iso.org/iso/19115/-3/gex/1.0" xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0" xmlns:srv="http://standards.iso.org/iso/19115/-3/srv/2.1" xmlns:mas="http://standards.iso.org/iso/19115/-3/mas/1.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:mda="http://standards.iso.org/iso/19115/-3/mda/1.0" xmlns:mds="http://standards.iso.org/iso/19115/-3/mds/2.0" xmlns:mdt="http://standards.iso.org/iso/19115/-3/mdt/2.0" xmlns:mex="http://standards.iso.org/iso/19115/-3/mex/1.0" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mpc="http://standards.iso.org/iso/19115/-3/mpc/1.0" xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0" xmlns:mrs="http://standards.iso.org/iso/19115/-3/mrs/1.0" xmlns:msr="http://standards.iso.org/iso/19115/-3/msr/2.0" xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0" xmlns:mac="http://standards.iso.org/iso/19115/-3/mac/2.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://standards.iso.org/iso/19115/-3/mds/2.0 http://standards.iso.org/iso/19115/-3/mds/2.0/mds.xsd">
J'ai par ailleurs une erreur de validation sur le 2 :
Cannot find the declaration of element 'mdb:MD_Metadata'. (Element: mdb:MD_Metadata with parent element: Unknown)
The text was updated successfully, but these errors were encountered: