¿No sabes por dónde empezar? Ayúdanos normalizando artículos.
¿Tienes experiencia? Crea alguno de estos artículos de actualidad.

Diferencia entre revisiones de «XSLT»

Línea 1: Línea 1:
{{normalizar}}
 
 
{{Definición
 
{{Definición
 
|nombre= XSLT
 
|nombre= XSLT
 
|imagen= Xslt.jpg
 
|imagen= Xslt.jpg
 
|tamaño=
 
|tamaño=
|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.
+
|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.
}}<div align="justify">
+
}}
'''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]].  
+
<div align="justify">
 
+
'''XSLT.''' O Transformaciones [[XSL]] es un estándar de la organización [[W3C]] que presenta una forma de transformar [[documento]]s [[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]].
+
 
+
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.
 
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 ==
 
== 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.
+
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 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).
 
 
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.
 
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 ==
 
== 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:
+
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.
+
* El [[procesador]] analiza el documento y construye el [[árbol]] del [[documento]].
* Cuando el procesador ha recorrido todos los nodos, se ha terminado la     transformación.
+
* 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:
 
Una hoja de estilo XSLT es un documento XML que contiene al menos las etiquetas siguientes:
  <?xml version="1.0" encoding="UTF-8"?>
+
<?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  </xsl:stylesheet>
+
</xsl:stylesheet>
 +
 
 
Estas etiquetas son:
 
Estas etiquetas son:
* la declaración xml <?xml>, propia de     cualquier documento XML.
+
* 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.
+
* 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> ==
 
== 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:
 
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"?>
+
<?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  </xsl:stylesheet>
+
</xsl:stylesheet>
 
+
 
Estas etiquetas son:
 
Estas etiquetas son:
* el elemento de alto nivel <xsl:output> indica el tipo de salida producida.
+
* El elemento de alto nivel <xsl:output> indica el tipo de salida producida.
* la instrucción <xsl:template> es una plantilla.    
+
* 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 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).
+
- 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 ==
 
== 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.  
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]].  
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.  
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 ==
 
== 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.
+
Al [[escribir]] filtros XSLT es posible usar [[variables]] como en [[lenguaje]]s 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]].
Sin embargo hay algunas diferencias fundamentales a tomar en cuenta que pueden complicar la vida del usuario.
+
 
=== Descripción ===
 
=== Descripción ===
En XSLT, el [[tag]] para asignar variables es:
+
En XSLT, el [[tag]] para asignar [[variable]]s es:
<xsl:variable name="nombre_de_la_variable" select="expresionXPath"/>
+
<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:
+
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" />
 
* 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,
+
* Concatenando con, por ejemplo, [[valores]] de argumentos en el HTML que se quiere generar. Por ejemplo,
 
+
  <div class="menuitem-{$nombre_de_la_variable}">
+
<div class="menuitem-{$nombre_de_la_variable}">
 +
 +
* En cualquier expresión XPath llamandola siempre como $nombre_de_la_variable.
  
* En cualquier expresión XPath llamandola siempre como $nombre_de_la_variable.
+
Como se puede apreciar, se obtiene el valor almacenado llamando al nombre de la variable con el signo $ delante. En el caso de la concatenación la clave está en las llaves ("{}") que rodean la expresión.
Como se puede apreciar, se obtiene el valor almacenado llamando al nombre de la variable con el signo $ delante. En el caso de la concatenación la clave está en las llaves ("{}") que rodean la expresión.
+
     
 
 
== Fuentes ==
 
== Fuentes ==
 
* [http://www.miro.cl/xml/uso-de-variables-en-xslt Uso de variables en XSLT]
 
* [http://www.miro.cl/xml/uso-de-variables-en-xslt Uso de variables en XSLT]
* [http://msdn.microsoft.com/es-es/library/ms255828.aspx Ejecutar una transformación XSLT desde el Editor XML]
+
* [http://msdn.microsoft.com/es-es/library/ms255828.aspx Ejecutar una transformación XSLT desde el Editor XML]
 
* [http://www.mclibre.org/consultar/xml/lecciones/xml_xslt.html XSLT: Transformaciones XSL]
 
* [http://www.mclibre.org/consultar/xml/lecciones/xml_xslt.html XSLT: Transformaciones XSL]
 
[[Category: Informática]]
 
[[Category: Informática]]

Revisión del 12:32 21 feb 2014

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,