Validation de la structure XML (Conversion)
Récapitulatif
Utilise le logiciel XML du .NET Framework, version 3.5, pour valider les métadonnées d'un élément ArcGIS ou tout fichier XML. Le XML est vérifié pour voir s'il respecte les règles de contenu et de structure décrites par une structure XML. Les structures écrites à l'aide du fichier DTD ou des langages XML Schema W3C peuvent être utilisées avec cet outil.
Les métadonnées ArcGIS ne sont pas mises en forme pour être directement validées par rapport à une structure XML. Toutefois, d'autres outils de géotraitement des métadonnées peuvent exporter les métadonnées ArcGIS vers des fichiers XML mis en forme pour suivre le schéma XML ou la DTD d'une norme de métadonnées ; utilisez cet outil pour valider le fichier XML exporté ou un fichier XML de métadonnées autonomes déjà mis en forme correctement pour un schéma XML de norme de métadonnées.
Si le fichier XML ou les métadonnées ne sont pas valides pour le schéma XML ou le fichier DTD spécifié, le logiciel XML renvoie des avertissements ou des messages d'erreur qui apparaissent dans les messages de l'outil.
Utilisation
Certaines structures XML nécessitent que vous indiquiez l'espace de noms XML que vous voulez valider, alors que d'autres ne l'imposent pas. Si une valeur est fournie pour le paramètre URI de l'espace de noms alors qu'aucune n'est requise, tous les avertissements et les erreurs signalés sont liés au fait de ne pas pouvoir trouver les informations appropriées dans la structure XML et n'indiquent pas si le document XML est valide ou non.
Par exemple, si vous essayez de valider un document XML qui suit le format Content Standard for Digital Geospatial Metadata (CSDGM) du FGDC (Federal Geographic Data Committee) à l'aide de la structure XML http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.xsd, vous ne devez pas fournir de valeur pour le paramètre URI de l'espace de noms.
Lors de la validation d'un document XML utilisant un fichier DTD, le nom de l'élément à valider doit être fourni dans le paramètre URI de l'espace de noms. Par exemple, si une déclaration DOCTYPE était ajoutée à un document XML qui référence un fichier DTD externe, cette syntaxe pourrait ressembler à ceci : <!DOCTYPE metadata SYSTEM "http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.dtd">. Pour valider un document XML en utilisant ce même fichier DTD externe avec cet outil, vous pouvez fournir la valeur http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.dtd dans le paramètre URL du schéma. Fournissez le nom de l'élément racine du document XML dans le paramètre URI de l'espace de noms : metadata. Le contenu de l'élément racine est validé.
Si le document XML qui est validé contient une référence incorporée à un fichier DTD XML ou une structure XML externe, cette structure ne sera pas utilisée pour la validation. La structure à utiliser pour la validation et l'élément racine ou l'espace de noms à valider doivent être spécifiés explicitement dans les paramètres URL du schéma et URI de l'espace de noms de cet outil.
Le message Adding schemas…(Ajout de schémas…) indique que la structure est en cours de chargement. Si la structure est erronée, tous les messages d'erreur ou avertissements sont signalés ici.
Le message Reading document… indique quand commence la validation des métadonnées ou du fichier XML. En cas de métadonnées ou de fichier XML erronés, tous les messages d'erreur ou avertissements sont signalés ici.
Si les fichiers XML de métadonnées sont compatibles avec la norme de métadonnées ISO 19139, Geographic information — Metadata — XML schema implementation, et que vous les validez par rapport à la version 2005 des structures XML fournies avec cette norme, l'outil rapporte un problème avec les fichiers de schéma XML. Seul le logiciel XML de .NET Framework, version 3.5, renvoie cet avertissement dans les messages de l'outil sous la forme suivante : validation warning (423:8): Empty choice cannot be satisfied if 'minOccurs' is not equal to 0. (Message de validation ((423:8) : aucune option vide ne peut être acceptée si 'minOccurs' n'est pas égal à 0.) Ce message indique qu'il y a un problème sur le 8ème caractère de la ligne 423. Ce problème concerne la structure XML coverage.xsd. Les autres analyseurs XML ne signalent aucun problème avec les mêmes structures XML.
-
Le paramètre Métadonnées source est associé à un type de données complexe. Si vous utilisez cet outil dans un modèle, créez une variable pour le paramètre Métadonnées source dans ModelBuilder. Pour ce faire, cliquez avec le bouton droit sur l'outil et sélectionnez Générer une variable > Paramètre de départ > Métadonnées de source.
-
Si vous utilisez cet outil dans ModelBuilder, le paramètre Métadonnées en sortie est dérivé du paramètre Métadonnées source.
Syntaxe
Paramètre | Explication | Type de données |
source |
Elément dont les métadonnées seront validées ou fichier XML autonome à valider. | Data Element; Layer |
schemaurl |
Structure XML ou DTD XML décrivant la structure et le contenu d'un document XML valide. | String |
nsuri (Facultatif) |
Espace de noms XML qui sera validé pour une structure XML, si approprié, ou élément racine du document pour un fichier DTD XML. Si cette valeur n'est pas appropriée pour la structure XML qui est utilisée, inscrivez le symbole dièse (#) à la place de l'URI de l'espace de noms. | String |
Exemple de code
Valide un fichier XML autonome qui contient des métadonnées mises en forme suivant la norme ISO 19139 à l'aide de la structure XML ISO 19139 en ligne. Avec ces structures XML, vous devez spécifier l'espace de noms XML que vous voulez valider.
import arcpy from arcpy import env env.workspace = "C:/data" #set local variables schema = "http://www.isotc211.org/schemas/2005/gmd/metadataEntity.xsd" namespace = "http://www.isotc211.org/2005/gmd" arcpy.XMLSchemaValidator_conversion("metadata_19139.xml", schema, namespace)
Valide un fichier XML autonome qui contient des métadonnées mises en forme selon la norme FGDC CSDGM à l'aide d'une copie locale des fichiers XML Schema FGDC. Vous pouvez les télécharger depuis le site Web sur les normes de métadonnées FGDC. Avec ces structures XML, il n'est pas nécessaire de spécifier l'espace de noms XML que vous voulez valider.
import arcpy from arcpy import env env.workspace = "C:/data" #set local variables schema = "c:/metadata/FGDCxsd/non-annotated/fgdc-std-001-1998.xsd" arcpy.XMLSchemaValidator_conversion("metadata_fgdc.xml", schema, "#")