Pokud se věnujete józe, určitě vás zaujme nový, právě spuštěný web věnující se józe a cvičení jógy, který je navíc v několika jazykových mutacích. K dispozici je kromě anglické verze i česká, německá či francouzská. A další se připravují. Zajímavější je však jeho řešení.
Samotný web (přesněji jeho část Systém) je postaven na textech stejnojmenné knihy Jóga v denním životě (Yoga in daily life), která vyšla v mnoha zemích a jejíž podklady byly připraveny v XML konvenci DocBook. A právě toto XML je využito k vytvoření celého webu.
360 stránek z jednoho XML
Celý systém je teda postaven nad jediným XML, kde nahráním XML souboru na server do vyhrazeného adresáře je automaticky generovaný kompletní web s cca 360 stránkami na každou jazykovou verzi. Jednotlivé “parts” DocBook XML jsou použity jako první úroveň webu – menu zobrazující se v horní části webu. Následně již podřazené “chapters” každého “parts” jsou zobrazované jako samotné stránky webu. Na základě doplnění speciálního atributu je dále možné “parts” ještě rozdělit na podstránky třetí úrovně, které se zobrazují např. u Level 1. Celý web je pak generován výlučně na základe transformací.
Řízení transformace
Aby bylo možno transformaci správně řídit, jsou do XML přidávány i kompletní „proměnné“ z PHP proměnny $_GET, čímž je pak umožněno vybrání správného node pro transformaci. Samotnou transformací vybraného nodu přes XSLT transformaci pak vzniká kompletní web s jednotlivými stránkami webu včetně generování samostatných menu pro jednotlivé kapitoly, odkazy na indexy a pod. Samozřejmostí je vytváření kešovaných verzí souborů, aby nebylo nutné neustále provádět XSLT transformace a zatěžovat tak zbytečně server, přičemž kešované soubory jsou automaticky přegenerované v případě uploadu novější verze souboru “DocBook” XML. Na základě dvou písmenné předložky se pak automaticky generují i jednotlivé jazykové veze a jejich propojení s ostatními jazykovými verzemi.
Jen 51 kB
Samotná logika i přes na pohled složitému “algoritmu” je složena z jednoho PHP souboru o velikosti 6kB a jednoho XSLT souboru s velkostí 45kB, přičemž téměř polovinu obsahu tvoří komentáře. Jak tedy vidíte, díky použití skvělé technologie XML / XSLT je možné s minimálními náklady vytvořit opravdu rozsáhlé weby bez jakýchkoliv omezení s úplným oddělením designu od aplikační logiky. Obsah si přitom můžete snadno editovat v jakémkoliv editoru podporujícím ukládání do formátu XML.
Vynikající řešení
Podobné řešení s XML/XSLT transformaci a s úplným oddělením designu od aplikační logiky využíváme již několik let v našem redakčním systému, na kterém tvoříme weby našich klientů. Tento systém běžící nad NET 2.0 jsme již přitom i „rozchodili“ např. i pod Linuxem při zapnutí podpory pro Mono. Také o tomto systému vám brzy pár řádků napíšeme. Zatím se pokochejte jedinečným řešením použitém na webu system.yogaindailylife.org. A pokud máte zájem o podobné netradiční řešení, klidně nás kontaktujte ;).