Za roky praxe jsem jeste nevidel hezky/prehledny/citelny XML dokument, ktery by mel vice jak ~30 radku. Komentare nekomentare. DTD je hezka vec, ale jde zit bez toho, XSLT - probuh proc?! To snad nikdo nemuze nazvat featurou, tuhle vec bych rad zapomnel. XPath - no dobre, to je uzitecne, ale kolikrat jsem to potreboval za poslednich ~5 let? 1x?
Kouknul jsem se na XML, které jsem nedávno dělal. Má něco přes 500k řádek, na čitelnosti mu to nijak neubírá. Komentáře tam nejsou, protože dobře navržené XML je samopopisné.
XSLT je skvělý jazyk. Deklarativně napíšeš, jak má vypadat výsledek. Když použiješ metodu pull, tak je to fakt na zbláznění. Proto se má používat push, který vypadá elegantně. Měl by ses obejít bez podmínek a cyklů, pak je to správně cool.
XPath je elegantním nástrojem pro výběr záznamů z XML. Používám ho velmi často a ve spojení s XSLT je to paráda.
Ještě nebylo zmíněno XQuery, které používám zejména při vyhodnocování testů. Umí toho sice méně než XSLT, ale je jednodušší - skoro jako SQL.
A v neposledni rade - proc se ucit dalsich 10 veci, kdyz muzu znat programovaci jazyk a jednoduchou sytaxi pro konfigurace? ... Tohle je asi odpoved na to "proc". Dnes se programuje jinym zpusobem - rychle neco vyblejt a jit dal, ne resit den XMLko.
Jakých dalších 10 věcí? Tohle vše je XML, které je podporováno většinou programovacích jazyků. Syntaxe je velmi jednoduchá, bariérou je jen deklarativní přístup různých nástrojů. XSLT se svým chováním dost podobá zde propagovanému Haskellu, i když syntaxe je jiná. Pro vývojáře, který píše strukturovaně nebo objektově, je to docela obtížně stravitelné, ale když se dostane přes "aha", tak zjistí, že to zas tak obtížné není.
Konfigurace se načítá jednoduše: Natáhneš si XML do DOMu a pak si přes getElementById(), getElementsByTagName() nebo přes XPath vytáhneš ten node (resp. jejich seznam), který tě zajímá. Ještě lepšího výsledku však dosáhneš použitím metody push, která je efektnější a efektivnější.