Resumen

  • W3C publicó XSLT 1.0 y XPath 1.0 como Recomendaciones el 16 de noviembre de 1999. XSLT describió reglas para construir un árbol de resultado a partir de un árbol fuente XML.
  • Una regla reconocía nodos mediante un patrón y generaba una parte del resultado. Ese resultado podía seleccionar, reordenar y envolver elementos en otra estructura sin reorganizar el documento fuente.

Supongamos un almacén con manzanas, naranjas y libros. La página del lunes quiere naranjas arriba; la del martes, libros al principio y manzanas en una lista aparte. Hacer una foto de los estantes es una estrategia editorial bastante perezosa. Volcar las cajas cada mañana tampoco ayuda. La Recomendación XSLT 1.0 puso por escrito otra operación: conservar el árbol fuente de XML y producir con reglas un árbol de resultado independiente.

La separación es el corazón de la norma. El árbol de resultado puede tener una estructura completamente distinta. Algunos elementos de la fuente se filtran, otros cambian de lugar y se pueden añadir piezas nuevas. El inventario sigue diciendo qué había en el almacén; el escaparate representa una decisión sobre qué mostrar y cómo. La página ya no necesita fingir que el orden de almacenamiento era también el mejor orden de lectura.

Las reglas de plantilla hacían el trabajo repetible. Cada una incluía un patrón para reconocer nodos de origen y una plantilla que construía parte del resultado. Las instrucciones podían elegir elementos descendientes y aplicarles las reglas que correspondieran. Así, una colección de documentos semejantes podía recibir la misma operación sin que alguien tuviera que colocar a mano cada fruta en cada página.

XPath 1.0 llegó el mismo día. Su Recomendación definía expresiones para localizar partes de un documento XML. Una plantilla que busca el precio de un artículo o los títulos de una sección necesita una forma precisa de señalar esos nodos. XPath daba esa dirección; XSLT decidía qué construir con lo encontrado. Sin la dirección, el escaparate corre el riesgo de poner la etiqueta del libro en la cesta de naranjas.

La palabra «hoja de estilo» suena a cambiar el mantel. XSLT cambiaba también la distribución del local. Podía construir nuevos elementos y otra jerarquía de salida. La especificación incluía xsl:output para indicar métodos de salida XML, HTML o texto. Un conjunto de datos estructurados podía dar lugar a una vista dirigida a una página HTML o a una lista legible. Primero se construía el resultado; después se decidía cómo expresarlo fuera del procesador.

W3C anunció conjuntamente XSLT y XPath el 16 de noviembre de 1999. Uno permitía señalar las piezas; el otro, montar con ellas un documento diferente. Un editor podía renovar la portada de un catálogo sin reescribir la fuente donde guardaba su información. Por fin el escaparatista tenía instrucciones, y el mozo de almacén podía dormir de noche.