Infatti
Qualcosa probabilmente sostituirà XSLT un giorno poiché è un po 'macchinoso da imparare e usare. Tuttavia, al momento non esiste un linguaggio di template / trasformazione disponibile che sia flessibile e "puro" nella sua implementazione.
XSL-T può essere utilizzato per diversi scopi:
- Puoi "creare" contenuti in formato HTML, ad esempio, da un dato utilizzando un modello
- È possibile convertire da un formato XML a un altro
- Puoi manipolare xml in un altro formato, magari mostrare un sottoinsieme
Fondamentalmente, tutti questi sono la stessa cosa, la trasformazione di un file di dati XML in un altro. Ora diamo un'occhiata ad alcuni strumenti diversi che potremmo usare al posto di XSLT.
Se volessimo manipolare il contenuto di dire una pagina XHTML potremmo usare regexp, ma regexp è disordinato per cose strutturali. Brilla per manipolare le stringhe ma non lo userei per creare un sommario per qualcosa o presentarlo in un layout diverso.
Il prossimo è ASP.Net. Inseriamo il nostro layout nella nostra pagina asp e inseriamo un po 'di codice per le parti dinamiche. Un'altra alternativa è quella di rinunciare alla parte del layout e generare qualsiasi cosa, ad esempio un database e l'utilizzo di C # creando l'output desiderato.
Il problema con il primo approccio è che è goffo passare dai dati descrittivi al contenuto reale. Se hai alcuni file di dati contenenti numeri di telefono che vuoi presentare con le intestazioni per ogni lettera, mostra un numero totale di voci ecc. Dovresti avere un po 'di layout nel file di layout e alcuni nel codice che stai generando . Un'altra opzione è quella di utilizzare una qualche forma di griglia Web, trovo che siano piuttosto disordinati e improvvisamente devi imparare come funziona la griglia frigging quando tutto quello che volevi fare era produrre un HTML specifico dato i dati.
Andare totalmente dinamico è certamente un'opzione, ma è anche piuttosto goffo. Anche nel migliore dei casi in cui stai usando qualcosa come LINQ dovrai mescolare il codice di programmazione con l'output in un modo piuttosto brutto. Inoltre, non esiste un buon modo per gestire correttamente i contenuti non strutturati in stile documento ricorsivo come di solito è html.
Con XSLT puoi semplicemente creare un modello per un determinato tag, così come è o nel contesto del suo genitore, quindi viene reso in modo diverso se, ad esempio, è parentetizzato da qualcos'altro.
Una risposta piuttosto lunga ma sì, penso che ci sia un grande valore in un linguaggio modello descrittivo e XSLT è la migliore e la più standardizzata che abbiamo ottenuto finora.