En efecto
Algo probablemente reemplazará a XSLT algún día, ya que es un poco engorroso aprender y usar. Sin embargo, actualmente no hay un lenguaje de plantilla / transformación disponible afaik que sea tan flexible y "puro" en su implementación.
XSL-T se puede usar para diferentes propósitos:
- Puede "crear" contenido en formato HTML a partir de datos utilizando una plantilla
- Puedes convertir de un formato xml a otro
- Puede manipular xml en otro formato, tal vez mostrar un subconjunto
Básicamente, todo esto es lo mismo, sin embargo, la transformación de un archivo de datos XML a otro. Ahora veamos algunas herramientas diferentes que podríamos usar en lugar de XSLT.
Si quisiéramos manipular el contenido de, digamos, una página XHTML, podríamos usar regexp, pero regexp es complicado para cosas estructurales. Brilla para manipular cadenas, pero no lo usaría para crear una tabla de contenido para algo o presentarlo en un diseño diferente.
El siguiente es ASP.Net. Ponemos nuestro diseño en nuestra página asp e insertamos algo de código para las partes dinámicas. Otra alternativa es renunciar a la parte del diseño y generar todo, por ejemplo, una base de datos y usar C # creando nuestra salida deseada.
El problema con el primer enfoque es que es torpe pasar de datos descriptivos a contenido real. Si tiene algún archivo de datos que contiene números de teléfono que desea presentar con encabezados para cada letra, muestre un número total de entradas, etc. Tendría que tener parte del diseño en el archivo de diseño y algo en el código que está generando . Otra opción es usar alguna forma de cuadrícula web, creo que son bastante desordenadas y de repente tienes que aprender cómo funciona la cuadrícula cuando todo lo que querías hacer era generar un html específico dados los datos.
Ir totalmente dinámico es ciertamente una opción, pero también es bastante torpe. Incluso en el mejor caso en el que esté usando algo como LINQ, tendrá que mezclar el código de programación con la salida de una manera bastante fea. Además, no hay una buena manera de manejar correctamente el contenido recursivo no estructurado de estilo de documento que suele ser el HTML.
Con XSLT, simplemente puede hacer una plantilla para una determinada etiqueta, tal como es o en el contexto de su padre, por lo que se representa de manera diferente si, por ejemplo, es parentet por otra cosa.
Una respuesta bastante larga, pero sí, creo que hay un gran valor en un lenguaje de plantilla descriptivo y XSLT es el mejor y más estandarizado que hemos obtenido hasta ahora.