XSLT

XSLT
Información sobre la plantilla
Xslt.jpg
Concepto:XSLT es una herramienta para transformar un documento XML (eXtended Markup Language) en cualquiera de un documento HTML o en un documento XML de un tipo de documento diferente.

XSLT. O Transformaciones XSL es un estándar de la organización W3C que presenta una forma de transformar documentos XML en otros e incluso a formatos que no son XML. Las hojas de estilo XSLT - aunque el término de hojas de estilo no se aplica sobre la función directa del XSLT - realizan la transformación del documento utilizando una o varias reglas de plantilla.

Estas reglas de plantilla unidas al documento fuente a transformar alimentan un procesador de XSLT, el que realiza las transformaciones deseadas poniendo el resultado en un archivo de salida, o, como en el caso de una página web, las hace directamente en un dispositivo de presentación tal como el monitor del usuario.

Actualmente, XSLT es muy usado en la edición web, generando páginas HTML o XHTML. La unión de XML y XSLT permite separar contenido y presentación, aumentando así la productividad.

El lenguaje de programación XSLT

XSLT (Transformaciones XSL) es un lenguaje de programación declarativo que permite generar documentos a partir de documentos XML. El documento XML es el documento inicial a partir del cual se va a generar el resultado. La hoja de estilo XSLT es el documento que contiene el código fuente del programa, es decir, las reglas de transformación que se van a aplicar al documento inicial.

El procesador XSLT es el programa de ordenador que aplica al documento inicial las reglas de transformación incluidas en la hoja de estilo XSLT y genera el documento final. El resultado de la ejecución del programa es un nuevo documento (que puede ser un documento XML o no). XSLT se utiliza para obtener a partir de un documento XML otros documentos (XML o no). A un documento XML se le pueden aplicar distintas hojas de estilo XSLT para obtener distintos resultados y una misma hoja de estilo XSLT se puede aplicar a distintos documentos XML.

Hojas de estilo XSLT

XSLT es un lenguaje declarativo. Por ello, las hojas de estilo XSLT no se escriben como una secuencia de instrucciones, sino como una colección de plantillas (template rules). Cada plantilla establece cómo se transforma un determinado elemento (definido mediante expresiones XPath). La transformación del documento se realiza de la siguiente manera:

  • El procesador analiza el documento y construye el árbol del documento.
  • El procesador va recorriendo todos los nodos desde el nodo raíz, aplicando a cada nodo una plantilla, sustituyendo el nodo por el resultado.
  • Cuando el procesador ha recorrido todos los nodos, se ha terminado la transformación.

Una hoja de estilo XSLT es un documento XML que contiene al menos las etiquetas siguientes: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> </xsl:stylesheet>

Estas etiquetas son:

  • la declaración xml <?xml>, propia de cualquier documento XML.
  • la instrucción <xsl:stylesheet> es la etiqueta raíz de la hoja de estilo, sus atributos indican la versión y el espacio de nombres correspondiente.

Instrucción <xsl:stylesheet>

Dentro de la instrucción <xsl:stylesheet> se pueden encontrar los llamados elementos de alto nivel y las plantillas, como en el ejemplo siguiente: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> </xsl:stylesheet>

Estas etiquetas son:

  • El elemento de alto nivel <xsl:output> indica el tipo de salida producida.
  • La instrucción <xsl:template> es una plantilla.

- El atributo match indica los elementos afectados por la plantilla y contiene una expresión XPath. - El contenido de la instrucción define la transformación a aplicar (si la instrucción no contiene nada, como en el ejemplo anterior, sustituirá el nodo por nada).

Transformación XSLT desde el Editor XML

El Editor XML permite asociar una hoja de estilos XSLT con un documento XML, realizar la transformación y ver el resultado. El resultado de la transformación XSLT se muestra en una nueva ventana de documento.

La propiedad Resultados especifica el nombre de archivo del resultado. Si esta propiedad Resultados está en blanco, se genera un nombre de archivo en el directorio temporal. La extensión de archivo se basa en el elemento xsl:output de la hoja de estilos y puede ser .xml, .txt o .htm.

Si la propiedad Resultados especifica un nombre de archivo con una extensión .htm o .html, se puede obtener una vista previa del resultado XSLT mediante Microsoft Internet Explorer. Todas las demás extensiones de archivo se abren con el editor predeterminado que elija Microsoft Visual. Por ejemplo, si la extensión de archivo es .xml, Visual Studio utiliza el Editor XML.

Uso de variables en XSLT

Al escribir filtros XSLT es posible usar variables como en lenguajes tradicionales de programación, de modo de simplificar el código y optimizar algunos procesos. Sin embargo, hay algunas diferencias fundamentales a tomar en cuenta que pueden complicar la vida del usuario.

Descripción

En XSLT, el tag para asignar variables es: <xsl:variable name="nombre_de_la_variable" select="expresionXPath"/> Donde por supuesto la "expresionXPath" corresponde al valor que se quiere asignar. De esta manera podemos usar la variable de las siguientes formas:

  • Usando <xsl:value-of select="$nombre_de_la_variable" />
  • Concatenando con, por ejemplo, valores de argumentos en el HTML que se quiere generar. Por ejemplo,