Resumen
Utiliza el software XML .NET 3.5 para transformar los metadatos de un elemento ArcGIS o de cualquier archivo XML utilizando una hoja de estilo XSLT 1.0 y guardar el resultado a un archivo XML.
Las hojas de estilo XSLT se pueden utilizar para realizar una variedad de modificaciones a metadatos ArcGIS o a un archivo XML. Con ArcGIS Desktop se proporcionan varias hojas de estilos XSLT. Se pueden usar para guardar una copia de los metadatos de un elemento en un archivo XML, guardar una copia de la visualización de los metadatos en un archivo HTML y cambiar el contenido de metadatos del elemento. Estas hojas de estilos XSLT se pueden encontrar en la carpeta <ArcGIS Installation Location>\Metadata\Stylesheets.
Más información sobre las hojas de estilos XSLT proporcionadas con ArcGIS Desktop
Puede crear sus propias hojas de estilo XSLT para realizar las tareas utilizando como ejemplos las hojas de estilo que se le proporcionaron. Por ejemplo, puede escribir una hoja de estilos para hacer lo siguiente:
- Actualizar las direcciones o los números de teléfono. Crear un modelo que ejecute este proceso y utilice la herramienta Importador de metadatos para guardar los metadatos actualizados en el elemento de ArcGIS original.
- Quitar la información que no desea que se encuentre públicamente disponible antes de exportar o publicar los metadatos. Cree un modelo que ejecute este proceso antes de ejecutar las herramientas Exportar metadatos o Publicador de metadatos.
- Exportar información a un archivo XML o HTML que se pueda incorporar en un sitio web. Crear una secuencia de comandos que ejecute este proceso periódicamente.
Las hojas de estilos XSLT que modifican los metadatos de ArcGIS no deberían quitar información en los elementos de metadatos binarios y de Esri excepto si el XML de salida se va a utilizar fuera de ArcGIS.
Uso
El archivo de salida producido por una hoja de estilo XSLT puede tener formato de XML, HTML o texto, por ejemplo. El nombre de archivo de salida predeterminado que proporcionará esta herramienta tendrá una extensión de archivo .xml. Si la hoja de estilos XSLT que está utilizando no produce un archivo XML, debería proporcionar un nombre de archivo con una extensión de archivo más apropiada.
Esta herramienta no puede procesar un archivo XML de metadatos de un elemento ArcGIS o de metadatos independientes con las hojas de estilo XSL que se proporcionaron con ArcGIS Desktop 9.3.1 y versiones anteriores porque no utilizan la tecnología XSLT 1.0. Éstas utilizan una tecnología anterior que no es compatible con Microsoft .NET Framework 3.5. Tampoco se pueden utilizar estas hojas de estilo XSL con el editor de metadatos ArcGIS.
Se puede utilizar el Parámetro XSLT para pasar una cadena de caracteres o un nombre de archivo XML a una hoja de estilo XSLT que luego puede utilizarse para modificar los metadatos de un elemento. Por ejemplo, una hoja de estilo XSLT puede tomar un número de teléfono que se introdujo como una cadena de caracteres y actualizar todos los números de teléfono en los metadatos. Si se introdujo un archivo XML con este parámetro, una hoja de estilo XSLT puede fusionar la información que contiene con los metadatos de origen.
Consulte el archivo add unique identifier.xslt que se proporciona con ArcGIS para ver un ejemplo de cómo introducir un valor y merge upgraded FGDC with existing.xslt para ver un ejemplo de combinación de información en un archivo XML independiente con metadatos de elementos de ArcGIS.
Si desea crear una hoja de estilos XSLT personalizada para mostrar o exportar metadatos o archivos XML en ArcGIS, consulte la documentación de Microsoft para .NET 3.5 Framework con el fin de ver una lista completa de los elementos, las funciones y las sintaxis XSLT y XPath con los que es compatible. Además de algunas funciones XSLT estándar, también están disponibles algunas funciones específicas .NET.
Si desea utilizar su hoja de estilos personalizada dentro y fuera de ArcGIS, tendrá más posibilidades de éxito si se limita a utilizar los elementos, las funciones y la sintaxis de XSLT 1.0 y XPath 1.0. Es poco probable que las aplicaciones que no son de Microsoft sean compatibles con cualquier función específica .NET XSLT y XPath.
Las hojas de estilo XSLT que se utilizan exclusivamente con esta herramienta de geoprocesamiento y el editor de metadatos de ArcGIS pueden utilizar algunas funciones XSLT personalizadas que se proporcionan con ArcGIS para mejorar el manejo y la visualización de los metadatos. Para utilizar estas funciones, la hoja de estilos XSLT debe hacer referencia al parámetro URI del espacio de nombres de la función XSLT de ArcGIS http://www.esri.com/metadata/, por ejemplo, <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:esri="http://www.esri.com/metadata/">.
Las funciones XSLT de ArcGIS deben escribirse con el prefijo asignado al namespace de la función XSLT de ArcGIS. Si al espacio de nombres de la función XSLT de ArcGIS se le asigna el prefijo esri, como en el ejemplo anterior, la función GuidGen() se usará del siguiente modo: <xsl:value-of select="esri:GuidGen()" />.
- GuidGen(): devuelve un nuevo valor de identificador único a nivel mundial (GUID) que no incluye corchetes ({ and }). Por ejemplo, se puede incluir un GUID en los metadatos para identificar unívocamente el documento de metadatos o el recurso que describe. Consulte el archivo add unique identifier.xslt que se proporciona con ArcGIS como ejemplo.
- decodenodeset(): si un elemento XML contiene XHTML o XML de escape, esta función devolverá un conjunto de nodos que se puede usar en combinación con la función msxsl:node-set para procesar los elementos individuales que se escaparon anteriormente. Consulte los archivos ESRIISO2.xslt e ItemDescription.xslt proporcionados con ArcGIS para ver ejemplos. Por ejemplo, las propiedades de referencia espacial de un elemento se almacenan automáticamente en los metadatos de un elemento como datos XML de escape. El contenido abstracto y de limitaciones de uso que se puede marcar en el editor de metadatos en la preparación para la publicación de ArcGIS Online se almacena como XHTML de escape.
- splitcoords(): toma un par de coordenadas x, y separadas por una coma y las convierte en una lista separada por espacios. Consulte el archivo upgrade ESRI-ISO to ArcGIS94.xslt que se proporciona con ArcGIS como ejemplo.
- strtoupper(): cambia la cadena de caracteres de texto de entrada para utilizar solo letras mayúsculas. Consulte el archivo add unique identifier.xslt que se proporciona con ArcGIS como ejemplo.
- striphtml(): si un elemento XML contiene XHTML o XML de escape, esta función devolverá el texto que contiene con todas las marcas eliminadas. Esto significa que cualquier cosa que sea menor que (<) o mayor que (>) dos caracteres se considera marcada y se elimina. Consulte los archivos ESRIISO2.xslt, ItemDescription.xslt y prep metadata for export.xslt proporcionados con ArcGIS como ejemplos. Por ejemplo, cuando se prepare para exportar el contenido de los elementos abstractos y de limitación de uso a un formato estándar de metadatos, cualquier XHTML marcado que exista se quitará del contenido de los metadatos.
- strtolower()—Cambia la cadena de texto de entrada para utilizar sólo letras mayúsculas. Consulte los archivos auxCountries.xslt, auxLanguages.xslt y auxUCUM.xslt proporcionados con ArcGIS para ver ejemplos.
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 origen en ModelBuilder. Para ello, haga clic con el botón derecho del ratón en la herramienta, apunte a Hacer variable, apunte a Desde parámetro y haga clic a continuación en Metadatos de origen.
Si un elemento ArcGIS tiene metadatos que se crearon en ArcGIS Desktop 9.3.1 o en una versión anterior con el editor de metadatos FGDC y los metadatos del elemento se actualizaron a los metadatos ArcGIS, los metadatos ArcGIS seguirán incluyendo los metadatos FGDC originales de los elementos XML. Los metadatos también incluirán otros elementos de metadatos.
Puede exportar los elementos de metadatos FGDC originales utilizando esta herramienta con el archivo _MPXML2.xsl que se proporciona con ArcGIS. En el ejemplo anterior, este archivo solo exportaría el contenido original de metadatos en formato FGDC del elemento, la información que se muestra bajo el encabezado Metadatos de FGDC (solo lectura) en la Descripción. Los elementos FGDC se ordenarán correctamente en el archivo XML de salida.
El archivo que se exportó se puede validar con el Esquema XML FGDC o DTD o con la utilidad de metadatos USGS conocida como mp. El Traductor de metadatos USGS MP realiza esta operación internamente antes de procesar el contenido de metadatos de formato FGDC del elemento.
Los metadatos que se publican en un sitio web externo en formato HTML se indexarán en los motores de búsqueda de Internet, tales como Google, si el sitio web expone su contenido correctamente.
Sintaxis
arcpy.conversion.XSLTransform(source, xslt, output, {xsltparam})
Parámetro | Explicación | Tipo de datos |
source | El elemento cuyos metadatos se convertirán o un archivo XML independiente que se convertirá. | Data Element; Layer |
xslt | Una hoja de estilo XSLT 1.0 compatible con W3C-que define la transformación que se realizará. Se proporcionan varias hojas de estilos con ArcGIS y están disponibles en la carpeta <ArcGIS Installation Location>\Metadata\Stylesheets. | File |
output | Un archivo que se creará, el cual contendrá los metadatos que se convirtieron. El tipo de archivo creado depende del método de salida que se especificó en la hoja de estilo XSLT. | File |
xsltparam (Opcional) | Un archivo XML o cadena de caracteres que se pasará a la hoja de estilo XSLT. Para capturar este parámetro en la hoja de estilos XSLT, agregue <xsl:param name="gpparam" /> en la parte superior de la hoja de estilos XSLT después del elemento xsl:output y antes del primer elemento xsl:template. Consulte el archivo add unique identifier.xslt para ver un ejemplo. | File; String |
Muestra de código
Exportar metadatos a un archivo HTML
Use la hoja de estilos XSLT ArcGIS.xsl proporcionada con ArcGIS para exportar metadatos a un archivo HTML con el fin de utilizarlos en un sitio web.
import arcpy
from arcpy import env
env.workspace = "C:/data"
#set local variables
dir = arcpy.GetInstallInfo("desktop")["InstallDir"]
xslt = dir + "Metadata/Stylesheets/ArcGIS.xsl"
arcpy.XSLTransform_conversion("vegetation", xslt, "vegetation.html", "#")
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí