Dominando Elementos XSLT: Ordenación, Condicionales y Transformación XML
Clasificado en Informática
Escrito el en español con un tamaño de 3,15 KB
Elementos XSLT para Transformación y Estructuración
1. Ordenación de Listas con <xsl:sort>
El elemento <xsl:sort>
se utiliza para ordenar listas, ya sea en orden alfabético o numérico.
¿Dónde insertar <xsl:sort>
?
Para ordenar una lista, solo necesitamos añadir un elemento <xsl:sort>
dentro del elemento <xsl:for-each>
y seleccionar un atributo, ya sea "loc" (para orden alfabético) o "fecha" (para orden numérico), en una hoja de estilo XSL. (En este caso particular, no es necesario ordenarlas).
2. Elementos Condicionales en XSLT
Aunque no se utilizarán para personalizar nuestro sitemap en este contexto, es importante conocer la existencia de los elementos condicionales.
El elemento <xsl:if>
El elemento <xsl:if>
se utiliza como una estructura condicional. Este elemento se añadiría dentro de <xsl:for-each>
. (En este caso, no lo utilizaremos, ya que no necesitamos aplicar condiciones).
El elemento <xsl:choose>
El elemento <xsl:choose>
se utiliza en conjunción con <xsl:when>
y <xsl:otherwise>
para expresar múltiples pruebas condicionales.
3. Estructuración de Contenido sin Tablas
Ahora, imaginemos que deseamos estructurar nuestro sitemap sin utilizar tablas. Podríamos, por ejemplo, emplear párrafos como si estuviéramos codificando directamente en HTML.
El elemento <xsl:apply-templates>
El elemento <xsl:apply-templates>
aplica una plantilla al elemento actual o a los nodos secundarios del elemento actual.
Si recordamos, ya hemos hablado del elemento <xsl:template>
o plantilla. También mencionamos que el atributo match
define el alcance de la plantilla para todo el documento.
Por ello, definiremos una o varias plantillas (<xsl:template>
) dentro del contexto definido por match
utilizando el elemento <xsl:apply-templates>
.
4. Iteración y Selección con <xsl:for-each>
El elemento <xsl:for-each>
se utiliza para seleccionar todos los elementos XML y realizar un bucle sobre ellos en una hoja de estilo XSL.
5. Definición de Plantillas con <xsl:template>
El elemento <xsl:template>
se utiliza para crear plantillas.
El atributo match
se utiliza para asociar una plantilla con un elemento XML.
También se puede utilizar el atributo match
para definir un modelo para todo el documento XML.
El valor del atributo match
es una expresión de XPath (por ejemplo, match="/"
define todo el documento).
6. Extracción de Valores con <xsl:value-of>
El elemento <xsl:value-of>
se utiliza para extraer el valor de un elemento XML y añadirlo a la secuencia de salida de la transformación.