De fato
Algo provavelmente substituirá o XSLT um dia, pois é um pouco complicado de aprender e usar. No entanto, atualmente não há uma linguagem de modelo / transformação disponível tão flexível e "pura" em sua implementação.
O XSL-T pode ser usado para alguns propósitos diferentes:
- Você pode "criar" conteúdo no formato digamos HTML a partir de dados usando um modelo
- Você pode converter de um formato xml para outro
- Você pode manipular xml em outro formato, talvez mostrar um subconjunto
Basicamente, tudo isso é o mesmo, no entanto, a transformação de um arquivo de dados XML em outro. Agora, vamos ver algumas ferramentas diferentes que poderíamos usar em vez do XSLT.
Se quiséssemos manipular o conteúdo de uma página XHTML, por exemplo, poderíamos usar o regexp, mas o regexp é complicado para coisas estruturais. Ele brilha para manipular seqüências de caracteres, mas eu não o usaria para criar um índice para algo ou apresentá-lo em um layout diferente.
O próximo é o ASP.Net. Colocamos nosso layout em nossa página asp e inserimos algum código para as partes dinâmicas. Outra alternativa é abrir mão da parte do layout e gerar tudo, como um banco de dados e o uso de C #, criando a saída desejada.
O problema com a primeira abordagem é que é desajeitado passar de dados descritivos para conteúdo real. Se você tiver algum arquivo de dados contendo números de telefone que deseja apresentar com cabeçalhos para cada letra, mostre um número total de entradas, etc., você precisará ter parte do layout no arquivo de layout e parte no código que está gerando . Outra opção é usar alguma forma de grade da Web, acho que elas são bem bagunçadas e, de repente, você precisa aprender como a grade funciona quando tudo que você queria era produzir algum html específico, considerando os dados.
Tornar-se totalmente dinâmico é certamente uma opção, mas também é bastante desajeitado. Mesmo no melhor caso em que você estiver usando algo como LINQ, terá que misturar código de programação com saída de uma maneira bastante feia. Além disso, não há uma boa maneira de lidar adequadamente com o conteúdo não estruturado e recursivo no estilo de documento que normalmente é o html.
Com o XSLT, você pode criar um modelo para uma determinada tag, exatamente como está ou no contexto de seu pai, para que seja renderizado de maneira diferente se, por exemplo, for pai de outra pessoa.
Uma resposta bastante longa, mas sim, acho que há um grande valor em uma linguagem descritiva de modelos e o XSLT é o melhor e mais padronizado que temos até agora.