Transformación XSLT (Conversión)
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. Varias hojas de estilo XSLT se proporcionan con ArcGIS. Algunas transforman los metadatos en páginas HTML para la visualización. A otras las utilizan las herramientas de geoprocesamiento de modelos de metadatos para realizar las porciones de los procesos de importación, exportación y actualización de metadatos o se pueden utilizar para realizar las tareas de metadatos bien conocidas. Se pueden encontrar en la carpeta <ubicación de instalación de ArcGIS>\Metadata\Stylesheets .
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 estilo para:
- actualizar las direcciones o los números de teléfono. Cree un modelo que ejecute este proceso y luego utilice 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.
- crear una página HTML para mostrar información acerca de un elemento ArcGIS como parte de un sitio Web. Utilice la hoja de estilo ArcGIS.xsl que se utiliza para mostrar metadatos en ArcGIS o escriba sus propias hojas de estilo.
Las hojas de estilo XSLT que modifican los metadatos ArcGIS no deberían quitar información en los elementos de metadatos Binarios y Esri excepto si el XML de salida se 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 estilo 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 agregar identificador único .xslt proporcionado con ArcGIS para obtener un ejemplo de cómo introducir un valor y fusionar el FGDC actualizado con el .xslt existente para obtener un ejemplo de cómo fusionar información en un archivo XML separado con los metadatos de un elemento de ArcGIS.
Si desea crear una hoja de estilo XSLT personalizada para mostrar o exportar metadatos o archivos XML en ArcGIS, consulte con la documentación de Microsoft para Microsoft .NET Framework 3.5. para ver una lista completa de los elementos, funciones y sintaxis XSLT y XPath con las que es compatible. Estas son las únicas funciones que se pueden utilizar con esta herramienta y en el editor de metadatos ArcGIS.
Si desea utilizar su hoja de estilo personalizada dentro y fuera de ArcGIS tendrá la mejor oportunidad de tener éxito si se limita a utilizar los elementos, funciones y sintaxis XSLT 1.0 y XPath 1.0. No es probable que las aplicaciones que no son de Microsoft sean compatibles con cualquier función específica de Microsoft, funciones 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 estilo XSLT debe hacer referencia a la dirección URL del namespace de la función XSLT Esri 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 Esri. Si al namespace de la función XSLT Esri se le asigna el prefijo Esri como en el ejemplo anterior la función GuidGen() se utilizaría de la siguiente manera: <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 agregar identificador único .xslt proporcionado con ArcGIS para obtener un ejemplo.
- strtoupper()—Cambia la cadena de texto de salida para utilizar sólo letras mayúsculas. Consulte el archivo agregar identificador único .xslt proporcionado con ArcGIS para obtener un ejemplo.
- strtolower()—Cambia la cadena de texto de entrada para utilizar sólo letras mayúsculas.
- striphtml()—Si un elemento XML contiene HTML de escape, esta función devolverá el texto que contiene sin ninguna marca HTML. Consulte el EsriISO2.xslt proporcionado con ArcGIS para obtener un ejemplo.
- decodenodeset()—Si un elemento XML contiene XHTML o XML de escape, esta función devolverá un conjunto de nodos que se puede utilizar en combinación con la función msxsl:node-set para procesar los elementos individuales que se escaparon anteriormente. Consulte el EsriISO2.xslt proporcionado con ArcGIS para obtener un ejemplo.
-
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.
-
Si un elemento de ArcGIS tiene metadatos que se crearon en ArcGIS Desktop 9.3.1 o anterior con el editor de metadatos de FGDC o en la versión actual de ArcGIS Desktop con el add-in del editor de metadatos de FGDC y los metadatos del elemento se actualizaron a los metadatos de ArcGIS, los metadatos de ArcGIS seguirán incluyendo los elementos XML de los metadatos de FGDC originales. Los metadatos también incluirán otros elementos de metadatos.
Puede exportar los elementos de metadatos de FGDC originales con esta herramienta con el archivo _MPXML2.xsl proporcionado con ArcGIS. En el ejemplo anterior, este archivo sólo exportaría los metadatos FGDC originales del elemento, la información que se muestra en la sección metadatos FGDC en la pestaña Descripción. Los elementos FGDC se ordenarán correctamente en el archivo XML de salida.
El archivo que se exportó puede publicarse en un catálogo de metadatos que requiere que la información se proporcione en el formato XML de metadatos CSDGM FGDC. 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 de manera interna antes de procesar los metadatos.
-
Los metadatos que se publican a un sitio web externo en formato HTML se indexarán por los motores de búsqueda de Internet tales como Google si el sitio Web expone su contenido correctamente.
Sintaxis
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 |
Un archivo de hoja de estilo XSLT 1.0 compatible con W3C que define la transformación que se realizará. | 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 estilo XSLT, agregue <xsl:param name="gpparam" /> en la parte superior de la hoja de estilo XSLT después del elemento de salida xsl: y antes de la primera plantilla del elemento xsl:. Consulte merge upgraded FGDC with existing.xslt a modo de ejemplo. | File; String |
Ejemplo de código
Utiliza la hoja de estilo XSLT ArcGIS.xsl proporcionada con ArcGIS para exportar metadatos a un archivo HTML a 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", "#")