Jestli muzu jen doplnit, tak na http://zvon.org/xxl/XSLTutorial/Books/Book1/index.html je opravdu moc pekny tutorialek o XSL (tusim, ze to nejaka dobra duse onehdy napsala i do "kratce" tady na rootovi).
Proto bych priste radeji uvital nejake povidani o moznostech jednotlivych XSLT procesoru nebo o tech programatorskych nastrojich.
OK. To je trochu problem - cely pocitacovy svet trochu bojuje s prejimanim anglickych vyrazu. Pokud pouziju templat tak se to daleko lepe vztahuje ke zdrojovemu kodu, ale neni to cesky. Me to ale pripada lepsi. Vzdycky si s hruzou vzpomenu jak jsem kdysi chtel v ceskem Excelu pouzit funkci IF a po dlouhem hledani jsem zjistil, ze se jmenuje KDYZ :)
Něco jiného je počešťování standardních příkazů a něco jiného je psaní odborných textů. Je sice pravda, že překlady některých výrazů jsou sporné, nicméně u templates existuje jednoznačně kvalitní český ekvivalent a tím jsou šablony. A navíc když už trvám na anglickém termínu, je rozhodně nepřípustná snaha o jeho gramatické počešťování. Takže buď použiju termín šablony (nejlepší varianta), případně templates.
Ale jinak je to kvalitní článek, jenom mi to nedalo s těmi "templáty" :o)
Serial o XML je vynikajuci, urcite patri medzi najcitanejsie. No myslim, ze nielen ja by som uvital viac informacii o moznostiach, prikladoch implementacii a poukazanie vyhod, programatorskych nastrojoch a popripade API ako trochu suchy popis syntaxe...
Zatial je vsade uverejnene vela teorie, chcelo by to trochu praxe a hlavne poukazanie na to "CO MI TO PRINESIE" a "AKE ZISKAM VYHODY". Predsa vsetko nove by malo byt hlavne o tom, ako si ulahcit zivot :)
Taky si myslim, ze by to chtelo trochu priblizit praktickou stranku veci. Napr. probrat nejaky jednoduchy umely ukazkovy "projekt", ktery by pouzival XML.
Vsude je slyset, ze XML hybe dnes svetem, ale cely svet je rozdelen na dve skupiny: ta prvni vubec nevi o co jde, a mysli si bud, ze je to super nebo na nic a ta druha jsou odbornici, kteri o tom stale jen teoretizuji.
Ale musim rici, ze tento serial je peknym krokem, jak tento stav zlepsit.
Bc. Kosek si jistě myslí, že jsem jako vk psal já, ale já jsem to opravdu nebyl, i když mám s dotyčným vk stejné názory.
"Věčnému studentovi" J.Koskovi jsem totéž vyčítal loni na cvičeních, když jsem se zjistil, že něco jeho je jak nekomentovaný překlad z odkazu v Helpu ve starém Lynxu.
http://kizi1.vse.cz/kizi/Kosek.html
Kdyby alespoň příklady si zde sám vymyslel - o osnově už nemluvě. A když jsou vlastní jen tam, kde by čtenáře mohl napadnout originální pramen, tak to už je zvláštní.
A co takhle oprávněnost používání copyrightu? Co si o nás Češích může někdo v NCSA tak asi myslet, pokud by se tohoto náhodou všiml?
Ja bych privital kdyby se v dalsim clanku dostalo na srovnani XSL a DSSSL. Zatim se mi jevi XSL(T) jako pokus o nacpani XML technologie tam kam podle me vubec nepatri - do skupiny programovacich jazyku. XML podle me nema slouzit k programovani, ma slouzit k *semantickemu* oznacovani casti *textu*. Jestli se mylim tak me opravte.
Jeste jedno vyukove URL: http://www.w3schools.com
Syntaxe XSL sice na první pohled vypadá přinejmenším trošku obskurně, nicméně pro většinu lidí dle mého názoru snazší naučit se XSL než DSSSL.
To, že se XSL zapisuje v syntaxi XML, má několik výhod - pro zpracování stylu lze použít libovolný nástroj, který podporuje XML. V praxi to zejména znamená, že XSL styly lze velice pohodlně psát v XML editoru, nebo je lze generovat pomocí jiných XSL stylů.
Jedním z požadavků při návrhu XSL bylo vytvoření jazyka, který umožní alespoň to, co umí DSSSL. U XSL je podle mne velkou výhodou jasné oddělení transformačního jazyka XSLT a formátovacích objektů. Ten, kdo chce použít z XSL jen transformace, nemusí se vůbec zatěžovat formátovacími objekty a jejich vlastnostmi.
Nejvtší problém DSSSL je v dnes v tom, že kromě programů Jade/OpenJade neexistuje žádná volně dostupná implementace. To není za pět let existence standardu DSSSL mnoho. Implementací XSLT i formátovacích objektů dnes existuje několik - komerčních i open-source.
Trosku sve vyhrady proti XSL shrnu. Vetsinu popisovanych zkusenosti jsem ziskal zhruba pred 3 lety, takze je mozne ze nektere informace uz neplati.
1) Myslim, ze XSL(T) nedosahne nikdy flexibility DSSSL a jeho skriptovaciho jazyka (Scheme). I kdyz k XSL pridam ECMAScript. To jeste pomijim to, ze funkce v ECMAScriptu pro XSL nejsou prilis standartizovane (kazdy XSL procesor ma svoje pojmenovani nekterych funkci ). Toto je vlastni zkusenost ziskana pred 3 lety. Nebo uz se situace s pojmenovanim funkci zmenila? DSSSL specifikace je v tomto smeru vyrazne jednoznacnejsi. I kdyz je pravda ze Jade tuto specifikaci na 100% taky nesplnuje.
2) Na muj vkus ma XSL, jako programovaci jazyk, premiru syntaxtickeho balastu, coz jej cini ponekud necitelnym. Je to take ponekud pracne na psani (i s psgml a jinymi vymozenostmi). Toto je ale hodne subjektivni nazor.
3) Zpracovavat nebo generovat kod XSL nejak programove? To je snad jedine co by se dalo povazovat za prinos XSL. Ale jine pouziti, ze by byl nejaky klikaci nastoj pro vyrabeni stylesheetu, me nenapada. Ciste programove generovani/zpracovani XSL mi pripada dost silene na prakticke uplatneni.
4) nevim jestli existuje takova paleta vystupnich lidsky citelnych formatu z XSL procesoru jako ma Jade (HTML,TeX- PDF,RTF, ...). Nepocitam samozrejme xslj, ktere stejne nakonec generuje DSSSL pro Jade.
5) Myslim ze transformacni jazyk a formatovaci jazyk je v DSSSL oddelen stejne dobre jako v XSL. A podle toho co jsem zkousel jsou jsou obe casti, jak transformacni a zejmena formatovaci, vyrazne bohatsi nez v XML.
6) Uz umi nejaky XSL procesor plnohodnotny XPointer? Doufam ze ano, jinak XSL procesory ztraceji na DSSSL/Jade minimalne dve konske delky. ;-)
Jen pár doplňujícíh poznámek:
1) Základní sadu funkcí mají všechny procesory stejné. Jedná se o funkce definované v XPath a o několik dalších. Pro většinu aplikací jsem si s těmito funkcemi zatím vystačil. Jinak lze používat i vlastní funkce, podporovaný jazyk závisí na použitém XSLT procesoru - většinou Java nebo nějaký skriptový jazyk (např. ECMAScript). Je pravda, že většina procesorů nabízí rozšiřující funkce, a některé z nich jsou velice užitečné. Nejpoužívanější z nich (např. množinové operace s uzly dokumentu) by měly být součástí XSLT 2.0.
2) Úspornost syntaxe závisí na tom, jakou mají povahu styly. Jestli styl spíše něco složitějšího počítá a negeneruje moc výstupu, je jistě DSSSL úspornější. Pokud se však stylem generuje například HTML kód, lze jej zapisovat přímo do šablon v XSLT - to je mnohem jednodušší, než konstruovat fragmenty HTML v DSSSL.
3) I šílenosti a nesmysly se používají ;-)
4) Snad všechny XSLT procesory jsou schopny generovat XML, HTML a čistý text. FO procesory většinou generují PDF, některé i PostScript. Myslím, že během posledního roku překonaly alespoň některé FO procesory možnosti Jade v některých komplikovanějších věcech, jako je vícesloupcová sazba a formátování tabulek.
5) S tím bych nesouhlasil. Řekl bych, že v transformační i formátovací oblasti jsou jazyky přinejmenším srovnatelné.
6) Nevím, co si představujete pod podporou XPointeru. Jestli vám jde o zpracování jen části vzdáleného dokumentu lze to dosáhnout pomocí funkce document() a XPath výrazu použitého v predikátu. XPointer ostatně není nic jiného než malé rozšíření XPathu.
Bůhví jestli nakonec vůbec budeme mít nějaký XPointer. Sun poslední dobou tančí něpěkné tance okolo patentu, který se dotýká i XPointeru.;(