Validación de esquema XML (Conversión)
Resumen
Utiliza el software XML del marco de trabajo .NET 3.5 para validar los metadatos de un elemento ArcGIS o de cualquier archivo XML. Se verifica el XML para ver si sigue la estructura y las reglas de contenido marcadas por un esquema XML. Con esta herramienta se pueden utilizar los esquemas que se escribieron con los idiomas de esquema XML DTD o W3C.
Los metadatos ArcGIS no tienen un formato de modo que se pueden validar directamente con un esquema XML. Sin embargo, otras herramientas de geoprocesamiento de metadatos pueden exportar metadatos de ArcGIS a archivos XML que tienen formato que sigue el esquema XML de un estándar de metadatos o DTD; utilice esta herramienta para validar el archivo XML exportado o un archivo XML de metadatos independiente que ya tenga el formato correcto para un esquema XML del estándar de metadatos.
Si el archivo de metadatos o XML no es válido para el esquema XML o DTD, las advertencias o los errores devueltos por el software XML aparecerán en los mensajes de la herramienta.
Uso
Algunos esquemas XML requieren que especifique el espacio de nombres XML que desea validar, otros no. Si se proporciona un valor en el parámetro URI de espacio de nombre cuando no se requiere nada, se relacionarán las advertencias o errores informados con el hecho de no encontrar la información correcta en el esquema XML y no se identificarán si el documento XML es válido.
Por ejemplo, si trata de validar un documento XML que cumple con el Estándar de contenido para metadatos geoespaciales digitales (CSDGM) del Comité federal de datos geográficos (FGDC) mediante el esquema XML http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.xsd, no debe proporcionar un valor en el parámetro Namespace URI.
Cuando valida un documento XML con un DTD, el nombre del elemento que se validará se debe proporcionar en el parámetro URI de espacio de nombre. Por ejemplo, si se agregara una declaración DOCTYPE a un documento XML que hace referencia a un DTD externo, cuya sintaxis podría ser: <!DOCTYPE metadata SYSTEM "http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.dtd">. Para validar un documento XML usando este mismo DTD externo con esta herramienta, proporcionaría el valor http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.dtd en el parámetro Schema URL. Proporcione el nombre del elemento raíz en el documento XML en el parámetro URI de espacio de nombre: metadatos. Se validará el contenido del elemento raíz.
Si el documento XML que se validará contiene una referencia incorporada en un esquema XML externo o XML DTD, ese esquema no se utilizará para la validación. El esquema a utilizar para la validación y el espacio de nombre o elemento raíz para validar se debe especificar explícitamente en los parámetros Dirección URL de esquema y URI de espacio de nombre de esta herramienta.
El mensaje Agregando esquemas... indica que el esquema se está cargando. Todos los errores o advertencias que se encontraron en el esquema se informarán aquí.
El mensaje Leyendo el documento... indica cuando comienza la validación del archivo de metadatos o XML. Todos los errores o advertencias que se encontraron en el archivo de metadatos o XML se informarán aquí.
Si tiene archivos XML de metadatos que tienen un formato para seguir el estándar de metadatos ISO 19139, Información geográfica — Metadatos — Implementación del esquema XML y los valida con la versión 2005 de los Esquemas XML que se proporcionaron con este estándar, la herramienta informa un problema con los archivos de Esquema XML. A esta advertencia solo la informa el software XML del marco de trabajo .NET 3.5 y aparece en los mensajes de la herramienta de la siguiente manera: advertencia de validación (423:8): La elección vacía no se puede satisfacer si 'minOccurs' no es igual a 0. La advertencia indica que hay un problema en el 8vo carácter de la línea 423, esto ocurre en el Esquema XML de cobertura .xsd. Otros analizadores XML no informan ningún problema con los mismos Esquemas XML.
-
El parámetro Metadatos de origen tiene un tipo de datos complejo. Si utiliza esta herramienta en un modelo, cree una variable para el parámetro Metadatos de origenen ModelBuilder haciendo clic con el botón derecho del ratón en la herramienta, apuntando a Crear variable > Desde parámetro > Metadatos de origen.
-
Al utilizar esta herramienta en ModelBuilder, el parámetro Metadatos de salida se deriva del parámetro Metadatos de origen.
Sintaxis
Parámetro | Explicación | Tipo de datos |
source |
El elemento cuyos metadatos se validarán o un archivo XML independiente que se validará. | Data Element; Layer |
schemaurl |
El esquema XML o DTD XML que describe la estructura y el contenido de un documento XML válido. | String |
nsuri (Opcional) |
El espacio de nombre XML que se validará para un esquema XML, si corresponde, o el elemento raíz del documento para un XML DTD. Si este valor es inapropiado para el esquema XML que se está utilizando, proporcione el signo de numeral (#) en vez de un namespace URI. | String |
Ejemplo de código
Valida un archivo XML independiente que contiene metadatos con formato ISO 19139 utilizando el Esquema XML ISO 19139 online. Estos Esquemas XML requieren que especifique el namespace XML que desea validar.
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)
Valida un archivo XML independiente que contiene metadatos con formato CSDGM FGDC utilizando una copia local de los archivos de Esquema XML FGDC. Estos se pueden descargar desde el sitio Web de estándares de metadatos FGDC. Estos Esquemas XML no requieren que especifique el namespace XML que desea validar.
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, "#")