Справді
Щось, мабуть, один день замінить XSLT, оскільки це вивчити та використовувати трохи громіздко. Однак в даний час немає доступних шаблонів / мов перетворення afaik, який є настільки ж гнучким та "чистим" у своїй реалізації.
XSL-T можна використовувати для кількох різних цілей:
- Ви можете "створити" вміст у відповідному форматі HTML з даних за допомогою шаблону
- Ви можете конвертувати з одного формату XML в інший
- Ви можете маніпулювати xml в іншому форматі, можливо, показати підмножину
В основному все це одне і те ж, перетворення одного файлу даних XML в інший. Тепер давайте розглянемо кілька різних інструментів, які ми могли б використовувати замість XSLT.
Якби ми хотіли маніпулювати вмістом, скажімо, сторінки XHTML, ми могли б використовувати regexp, але regexp є безладним для структурних речей. Він світить для маніпулювання рядками, але я б не використовував його для створення вмісту для чогось або подання його в іншому макеті.
Далі - ASP.Net. Ми розміщуємо наш макет на нашій сторінці asp і вставляємо ззаду якийсь код для динамічних частин. Інша альтернатива - відмовитися від частини верстки та генерувати все, скажімо, із бази даних та використовуючи C #, створюючи бажаний вихід.
Проблема першого підходу полягає в тому, що незграбно переходити від описових даних до фактичного змісту. Якщо у вас є якийсь файл даних, що містить телефонні номери, які ви хочете представити в заголовках для кожної літери, покажіть загальну кількість записів тощо. Ви повинні мати частину макета у файлі макета, а частину - у коді, який ви генеруєте. . Іншим варіантом є використання якоїсь форми веб-сітки. Я вважаю, що це досить безладно, і раптом вам доведеться дізнатися, як працює фрешінг сітка, коли все, що ви хотіли, - це вивести якийсь конкретний HTML із даними.
Цілком динамічний вихід, безумовно, варіант, але це теж досить незграбно. Навіть у кращому випадку, коли ви використовуєте щось на зразок LINQ, вам доведеться переплутати код програмування з результатами досить некрасиво. Крім того, немає жодного хорошого способу правильно обробити неструктурований рекурсивний вміст у стилі документа, який зазвичай є html.
За допомогою XSLT ви можете просто створити шаблон для певного тегу, як такий, який є, або в контексті його батьківського, так що він відображається інакше, якщо він, наприклад, є parentet чимось іншим.
Відповідь досить довга, але так, я думаю, що в описовій мові шаблонів є велика цінність, і XSLT - найкращий і стандартизований, який ми отримали до цих пір.