Az előző bejegyzésem végén található követelményjegyzék technológiai megvalósításához az egyik legalkalmasabb eszköz az XML + XSLT páros, s én azt javasolnám, hogy térjünk át az XML alapú adattárolásra. Nézzük, hogyan felel meg a fenti követelményeknek:
- legyen szabványos és széleskörűen támogatott:
az XML 1998-as, míg az XSLT 1999-ben elfogadott szabvány, szinte az összes webes programozási nyelv (mind kliens-, mind szerver oldalon) natívan ismeri - az adatokat strukturáltan lehessen reprezentálni:
az XML tipikusan egy fastruktúra létrehozására alkalmas - az adatok megjelenítési módja legyen teljesen független a tárolásuktól:
XSLT stíluslapok segítségével a bemenő XML-t bármilyen más formára (XML, HTML, szöveg [pl. javascript]) alakíthatjuk - legyen gépileg könnyen feldolgozható:
ez az előbbi három pont következménye - legyen visszafele kompatibilis, azaz a régi böngészők és a keresők is fel tudják dolgozni:
mivel HTML-t lehet XML-ből XSLT segítségével generálni, ezért ez minden gond nélkül megoldható
További előnyök, amit az XML + XSLT kombinációjával nyerünk:
- a szerveroldali alkalmazásunk, valamint a kliens minimális kiegészítésével könnyedén megvalósítható, hogy ne egy teljes oldal tartalmát kérjük le, hanem csak a szükséges tartalmi blokk adatait, így gyorsabb lesz a kommunikáció és a feldolgozás sebessége is
- mivel egységes formában, XML-ben küldjük az adatokat, kliensoldalon nem szükséges külön leprogramozni a megjelenítési logikát, mint például a JSON-nál
- egyszerűsödik a munka, mivel a szerveroldalon csak arra kell a programozóknak ügyelniük, hogy megfelelő XML-t generáljanak, míg a kliensoldali fejlesztők felelőssége azok megjelenítése
- az azonos típusú adatok összegyűjtése a különböző oldalakról jóval egyszerűbb lesz, így könnyedén lehet olyan alkalmazásokat írni, amelyek az információt összehasonlítják, például legolcsóbb repülőjegyek keresése stb.
Természetesen vannak hátrányai is a technológiának:
- könnyebbé válik az adatlopás (ilyen félelmek esetén nem kell XML-t használni, hanem vissza lehet térni a HTML-re)
- az átállás XML alapú webre sok munkát, valamint szemléletváltást igényel
- amennyiben egy XML fájl nem érvényes, szintaktikai hibát tartalmaz, nem lehet feldolgozni, ezért különösen körültekintően kell elkészíteni
- bizonyos feladatokat nehézkesebb megoldani XSLT stíluslapokkal, mint magasszintű programozási nyelveken (pl. javascript, PHP) – bár ennek az ellenkezője is igaz
Az XML kicsivel több odafigyelést kíván, mint a HTML, de ezt felfoghatjuk előnyként is: a gyengébbek kiesnek, a szakma tisztul.
A következőkben be fogok mutatni egy példát forrással, hogy miként kell egy XML alapú oldalt elkészíteni.