Unidad 23. XML y RSS (V)

23.5. Ordenar elementos

Ordenar elementos en Dreamweaver no es muy sencillo.

Pero como es una tarea que realizaremos a menudo explicaremos rápidamente cómo conseguirlo.

 

Sólo es posible ordenar elementos que se encuentren dentro de una región repetida.

Por lo que deberemos buscar en la vista de Código la zona que se encarga de la repetición:

<xsl:for-each select="rss/channel/item[position() &lt;= 5]">
  <p>Título: <xsl:value-of select="title"/></p>
  <p>Descripción: <xsl:value-of select="description" disable-output-escaping="yes"/></p>
  <hr />
</xsl:for-each>

Ahora sencillamente deberemos añadir una nueva línea debajo de la que se encarga de la repetición ( xsl:for-each).

De esta forma indicaremos que este bloque se debe ordenar:

<xsl:for-each select="rss/channel/item[position() &lt;= 5]">
<xsl:sort select="title"  />
  <p>Título: <xsl:value-of select="title"/></p>
  <p>Descripción: <xsl:value-of select="description" disable-output-escaping="yes"/></p>
  <hr /> 
</xsl:for-each>

En el atributo select deberemos indicar el nombre del campo sobre el cual se realizará la ordenación.

Luego podemos añadir otros atributos como:

  • order: que puede tomar los valores ascending o descending. Por omisión se toma el valor ascending.
  • data-type: que indica si el valor a ordenar es un texto (text) o un número (number). Por omisión se toma el valor text.
  • case-order: que indica si se deben tomar primero las mayúsculas (upper-first) o las minúsculas (lower-first).

 

Así el bloque anterior se podría haber escrito como:

<xsl:for-each select="rss/channel/item[position() &lt;= 5]">
<xsl:sort select="title" order="descending" data-type="text" case-order="lower-first"   />
  <p>Título: <xsl:value-of select="title"/></p>
  <p>Descripción: <xsl:value-of select="description" disable-output-escaping="yes"/></p>
  <hr />
</xsl:for-each>

 

Para practicar realiza el Ejercicio Paso a Paso de Ordenación de elementos.

Pág. 23.5

Atrás  Inicio  Adelante