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 for Desktop. Se pueden encontrar en la carpeta <Ubicación de instalación de ArcGIS>\Metadata\Stylesheets. Estas hojas de estilo se describen en las tablas siguientes.
Las siguientes hojas de estilo producen documentos HTML que se utilizan para mostrar información sobre un elemento en la pestaña Descripción. Extraen el contenido de los metadatos de un elemento y agregan las instrucciones de formato HTML para el mismo. Estas hojas de estilo importan muchas plantillas XSLT de otros archivos en la carpeta ArcGIS_Imports; las plantillas importados realizan la mayor parte del trabajo. Si le interesa crear hojas de estilo personalizado para mostrar, puede obtener más información acerca de estas hojas de estilo lea la documentación que se proporciona con el kit de herramientas ArcGIS Metadata.
ArcGIS.xsl | Muestra el contenido completo de los metadatos de un elemento. Todos los estilos de metadatos hacen referencia al elemento, excepto el estilo predeterminado de Descripción del elemento. |
ArcGIS_ItemDescription. xsl | Solo muestra una descripción concisa del elemento. El estilo de metadatos Descripción del elemento hace referencia al mismo de manera predeterminada. |
Las siguientes hojas de estilo que se proporcionan en la carpeta <ArcGIS Installation Location>\Metadata\Stylesheets\gpTools toman los metadatos de un elemento, los procesan y luego guardan el documento XML resultante en un nuevo archivo XML. El objetivo de esta operación puede ser filtrar los metadatos de un elemento antes de utilizarlos fuera de ArcGIS. O bien, el objetivo podría ser modificar los metadatos del elemento; en este caso, el archivo XML resultante se puede guardar nuevamente en el elemento original como sus metadatos utilizando la herramienta Importador de metadatos. Se puede crear un modelo o secuencia de comandos que primero ejecute esta herramienta con una hoja de estilo para actualizar el contenido de metadatos, entonces inmediatamente guarda los cambios para el elemento. Las siguientes hojas de estilo se proporcionan con ArcGIS for Desktop para realizar algunas tareas de metadatos bien definidas.
archivo agregar identificador único .xslt | Agrega o cambia el identificador único almacenado en los metadatos del elemento. El identificador modificado por esta hoja de estilo se almacena en el elemento de metadatos de Esri PublishedDocID y se utiliza para identificar el documento en un catálogo de metadatos tal como un Servicio de metadatos ArcIMS o una extensión Geoportal. |
exact copy of.xslt | Crea una copia exacta de los metadatos del elemento como un archivo XML. Por ejemplo, puede utilizar esta hoja de estilo para guardar una copia de los metadatos de un elemento de geodatabase a un archivo local para que pueda ser examinado. |
generate metadata template.xslt | Copia el contenido de los metadatos de ArcGIS a un nuevo archivo XML que se puede importar a otros elementos como plantilla de metadatos. El contenido de metadatos sincronizados está excluido de la plantilla y cualquier elemento vacío se elimina. |
remove empty elements.xslt | Elimina los elementos XML vacíos. Después de que se haya utilizado otras hojas de estilo para eliminar el contenido de metadatos no deseado, pueden quedara elementos XML vacíos. Los elementos XML vacíos puede causar problemas si más adelante intenta validar los metadatos de un elemento. Por ejemplo, si un elemento es opcional pero está vacío, con frecuencia recibirá un mensaje de error porque el elemento no tiene ningún valor, sin embargo, los metadatos serían válidos al eliminar el elemento vacío. |
remove entries from FGDC lineage.xslt | Elimina los pasos de proceso agregados al linaje de formato FGDC por ArcGIS 10.1 for Desktop 9.3.1. Los pasos de proceso se agregan al linaje de formato FGDC, al importar los metadatos a un elemento y cuando el elemento se copia a una nueva ubicación. Esta información no se agrega al linaje del elemento con la versión actual de ArcGIS, y no se actualiza al formato de metadatos de ArcGIS junto con el resto del linaje del elemento. |
remove FGDC required hints.xslt | Quita cualquier elemento de metadatos de formato FGDC que contenga el texto NECESARIO. ArcGIS 10.1 for Desktop 9.3.1 agregó estas cadenas de caracteres de texto cuando se creó el formato de metadatos FGDC, para indicar que son necesarios para crear metadatos FGDC CSDGM válidos. Sin embargo, estas cadenas de caracteres pueden causar problemas si más adelante intenta validar los metadatos de un elemento. Cuando está presente el texto predeterminado, el elemento se considera válido porque contiene texto, aunque el texto no proporcione ninguna información sobre el elemento. Las cadenas de caracteres de texto predeterminado no se agregan por la versión actual de ArcGIS, y no se actualizan al formato de metadatos ArcGIS junto con el resto del contenido de metadatos del elemento. |
remove geoprocessing history.xslt | Quita el historial de geoprocesamiento de un elemento. Mientras que todas las herramientas de geoprocesamiento de metadatos están diseñadas para preservar el historial de geoprocesamiento de un elemento, con el tiempo, el historial puede crecer tanto que los metadatos del elemento se vuelven difíciles de manejar como un documento XML. En estas circunstancias, puede ser necesario eliminar el historial de geoprocesamiento de un elemento. |
remove local storage info.xslt | Quita los nombres de equipo que pueden existir en los metadatos del elemento. Dependiendo de dónde se encuentra el nombre del equipo, se puede eliminar el elemento de metadatos que contiene la información o se puede eliminar el nombre del equipo de una ruta UNC, o se puede actualizar el valor del elemento para identificar la ubicación como oculta. |
remove pre94 metadata elements.xslt | Quita los elementos XML del formato ESRI-ISO y cualquier elemento de formato XML CSDGM FGDC de los metadatos de un elemento que no se incluye en el formato de metadatos de ArcGIS. |
remove synchronized elements.xslt | Quita cualquier información que se agregó a los metadatos de un elemento por el proceso de sincronización de metadatos de ArcGIS. |
remove thumbnail.xslt | Quita la vista en miniatura de un elemento. Mientras que todas las herramientas de geoprocesamiento de metadatos están diseñadas para preservar la vista en miniatura de un elemento, en algunas circunstancias, es posible que desee quitar la vista en miniatura del elemento. Puede quitar la vista en miniatura de un elemento cuando edita sus metadatos en la pestaña Descripción. Con esta secuencia de comandos puede ejecutar un proceso por lotes para eliminar las vistas en miniatura de muchos elementos. |
remove unique identifiers.xslt | Quita todos los identificadores únicos de los metadatos de un elemento, incluidos todos los identificadores que se han agregado por ArcGIS y los identificadores proporcionados mediante un editor de metadatos. Nunca se debe copiar los identificadores a otro elemento. |
_MPXML2.xsl | Extrae los elementos XML del formato FGDC CSDGM de los metadatos del elemento, si es que existen, y los ordena correctamente. La información extraída por medio de esta hoja de estilo es el contenido que aparece bajo el encabezado Metadatos de FGDC (solo de lectura) en la pestaña pestaña Descripción. |
Algunas de las hojas de estilo proporcionadas con ArcGIS for Desktop son utilizadas por las herramientas de geoprocesamiento de metadatos para realizar porciones de los procesos de importación, exportación y actualización:
- _MPXML2.xsl
- merge imported metadata with existing.xslt
- fusionar el FGDC actualizado con el .xslt existente
- prep metadata for export.xslt
- remove empty elements.xslt
- remove FGDC required hints.xslt
- remove synchronized elements.xslt
- remove unique identifiers.xslt
- upgrade ESRI-ISO to ArcGIS94.xslt
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.
- Exportar información a un archivo HTML de modo que pueda incorporar esta información en un sitio web. Crear una secuencia de comandos que ejecute este proceso periódicamente.
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 10.1 for 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 fusionar información en un archivo XML separado con metadatos de un elemento 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. Además de algunas funciones XSLT estándar, también están disponibles algunas funciones específicas .NET.
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. 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 estilo XSLT debe hacer referencia al parámetro namespace URI 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 namespace de la función XSLT de ArcGIS se le asigna el prefijo esri, como en el ejemplo anterior, la función GuidGen () se utilizará de la siguiente manera: <xsl:value-of select="esri:GuidGen()" />.
- GuidGen()—Devuelve un nuevo valor de identificador único a nivel global (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 a modo de 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 los archivos ESRIISO2.xslt e ItemDescription.xslt que se proporcionan con ArcGIS para 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 de separación por un espacio. Consulte el archivo upgrade ESRI-ISO to ArcGIS94.xslt que se proporciona con ArcGIS a modo de ejemplo.
- strtoupper()—Cambia la cadena de texto de salida para utilizar solo letras mayúsculas. Consulte el archivo add unique identifier.xslt que se proporciona con ArcGIS a modo de 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 que se proporcionan 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 salida para utilizar solo letras minúsculas. Consulte los archivos auxCountries.xslt, auxLanguages.xslt, y auxUCUM.xslt proporcionados con ArcGIS para obtener 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 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 10.1 for Desktop 9.3.1 o anterior con el editor de metadatos de FGDC o en la versión actual de ArcGIS for 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 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 de lectura)pestaña 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 a un sitio web externo en formato HTML se indexarán por 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 |
Una hoja de estilo XSLT 1.0 compatible con W3C-que define la transformación que se realizará. Se proporcionan varias hojas de estilo 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 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 agregar un identifier.xslt único para ver un ejemplo. | File; String |
Ejemplo de código
Utiliza la hoja de estilo XSLT de ArcGIS. xsl que se proporciona con ArcGIS para exportar metadatos a un archivo HTML para su uso 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", "#")