W rzeczy samej
Pewnego dnia coś prawdopodobnie zastąpi XSLT, ponieważ jest to trochę kłopotliwe w nauce i użytkowaniu. Jednak obecnie nie jest dostępny żaden język szablonów / transformacji, który jest tak elastyczny i „czysty” w swojej implementacji.
XSL-T może być wykorzystywany do kilku różnych celów:
- Możesz „tworzyć” treści w formacie HTML, powiedzmy, z danych przy użyciu szablonu
- Możesz konwertować z jednego formatu xml na inny
- Możesz manipulować xml w innym formacie, być może pokazać podzbiór
Zasadniczo wszystkie są tym samym, jednak transformacja jednego pliku danych XML w inny. Teraz spójrzmy na kilka różnych narzędzi, których moglibyśmy użyć zamiast XSLT.
Gdybyśmy chcieli manipulować treścią powiedzmy stronę XHTML, moglibyśmy użyć wyrażenia regularnego, ale wyrażenie regularne jest nieporządne w przypadku elementów strukturalnych. Świeci do manipulowania ciągami, ale nie użyłbym go do stworzenia spisu treści dla czegoś lub przedstawienia go w innym układzie.
Dalej jest ASP.Net. Umieszczamy nasz układ na stronie asp i wstawiamy trochę kodu dla części dynamicznych. Inną alternatywą jest rezygnacja z części układu i generowanie wszystkiego, na przykład bazy danych i używanie C # do tworzenia pożądanych wyników.
Problem z pierwszym podejściem polega na tym, że niezdarne jest przejście od danych opisowych do rzeczywistej treści. Jeśli masz plik danych zawierający numery telefonów, które chcesz przedstawić wraz z nagłówkami dla każdej litery, pokaż całkowitą liczbę wpisów itp., Musisz mieć część układu w pliku układu, a część w generowanym kodzie . Inną opcją jest użycie jakiejś formy umieszczania siatki w sieci. Uważam, że są dość niechlujne i nagle musisz nauczyć się, jak działa ta cholerna siatka, gdy wszystko, co chciałeś zrobić, to wydrukować jakiś konkretny plik HTML z danymi.
Całkowicie dynamiczna jest z pewnością opcją, ale jest to również dość niezdarne. Nawet w najlepszym przypadku, gdy używasz czegoś takiego jak LINQ, będziesz musiał przeplatać kod programowania z wyjściem w dość brzydki sposób. Nie ma też dobrego sposobu na właściwą obsługę nieustrukturyzowanej rekursywnej treści w stylu dokumentu, którą zwykle jest HTML.
Za pomocą XSLT możesz po prostu utworzyć szablon dla określonego znacznika, tak jak jest lub w kontekście jego elementu nadrzędnego, więc jest renderowany inaczej, jeśli na przykład jest inny niż nawias.
Dość długa, chaotyczna odpowiedź, ale tak, myślę, że opisowy język szablonów ma wielką wartość, a XSLT jest najlepszym i najbardziej znormalizowanym do tej pory.