In effetti
Un giorno probabilmente sostituiremo XSLT un giorno, dal momento che è un po 'macchinoso da imparare e usare. Tuttavia, attualmente non esiste un linguaggio di template / trasformazione disponibile afaik che sia flessibile e "puro" nella sua implementazione.
XSL-T può essere usato per diversi scopi:
- Puoi "creare" contenuti in formato HTML da un dato utilizzando un modello
- Puoi convertire da un formato xml a un altro
- Puoi manipolare xml in un altro formato, magari mostrare un sottoinsieme
Fondamentalmente tutte queste sono la stessa cosa, tuttavia, la trasformazione di un file di dati XML in un altro. Ora esaminiamo alcuni strumenti diversi che potremmo utilizzare al posto di XSLT.
Se volessimo manipolare il contenuto di una pagina XHTML potremmo usare regexp, ma regexp è disordinato per elementi strutturali. Brilla per manipolare le stringhe ma non la 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 del codice dietro per le parti dinamiche. Un'altra alternativa è quella di rinunciare alla parte di layout e generare tutto da un database e usando C # creando l'output desiderato.
Il problema con il primo approccio è che è goffo passare da dati descrittivi a contenuti effettivi. Se si dispone di un file di dati contenente numeri di telefono che si desidera presentare con intestazioni per ciascuna lettera, mostrare un numero totale di voci, ecc., Si dovrà avere parte del layout nel file di layout e alcuni nel codice che si sta generando . Un'altra opzione è quella di usare una qualche forma di web-grid, trovo che siano piuttosto disordinati e improvvisamente devi imparare come funziona la griglia frigging quando tutto ciò che volevi fare era produrre un determinato html dato i dati.
L'andare totalmente dinamici è certamente un'opzione ma è anche piuttosto maldestro. Anche nel migliore dei casi in cui utilizzi 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 il contenuto in stile documento ricorsivo non strutturato di solito in html.
Con XSLT puoi semplicemente creare un modello per un determinato tag, sia come è, sia nel contesto del suo genitore, quindi è reso in modo diverso se per esempio è parentet da qualcos'altro.
Una risposta piuttosto lunga, ma sì, penso che ci sia un grande valore in un linguaggio descrittivo del template e XSLT è il migliore e più standardizzato che abbiamo ottenuto finora.