Windows - Az XML bemutatása

XML 1. rész

Jelen résszel útjára bocsátunk egy cikksorozatot az XML (Extensible Markup Language) nyelvet bemutatva. Egészen az alapoktól kezdjük a téma tárgyalását, hogy akik egyáltalán nem ismerik ezt a - jövő számítástechnikáját meghatározó - nyelvet, azok is megfelelően tudjanak profitálni az ismeretekből. Az XML elterjedése olyan sebességgel történik, hogy ma már egy programozó vagy rendszergazda sem mehet el mellette (elég, ha arra gondolunk, hogy a .NET szerverek IIS (Internet Information Services) adatbázisa teljes egészében XML-re épül).
Az XML rövidítés az Extensible Markup Language kifejezésből származik, ami magyarra Kiterjesztett Jelölő Nyelvként fordítható. Egyik érdekessége, hogy a W3C (Word Wide Web Consortium) fejlesztette ki, így egyetlen nagy szoftverfejlesztő cégnek sem tartozik a fennhatósága alá, ami megakadályozza, hogy egyplatformossá váljon. Az XML-ben írt fájlok szerkezete ugyanúgy szöveges alapú, mint a HTML fájloké, maga a nyelvezet is hasonlít hozzá. Ez már csak azért sem véletlen, mert HTML és SGML nyelv jelentette az alapját. Annak ellenére, hogy a 2000 - 2001 környékén kezdett rohamosan terjedni nem új dologról van szó, mert a nyelv alapjai a 60-as években jöttek létre, de csak az SGML használatával kezdett ismertté válni. Hivatalosan és XML néven 1998-ban jelent meg az 1.0-ás verzió. Mondhatjuk nyugodtan azt, hogy az SGML nyelv részhalmazának tekinthető, kihasználva annak számos előnyös tulajdonságát, de nélkülözve a bonyolultságát.
Mi az XML?
Strukturált adatformátumú szövegek leírására alkalmas nyelvezet. Szöveges volta miatt platform független, mint a HTML - Windows, Linux, OS/2 és egyéb operációs rendszerek alatt egyaránt használható. Strukturált felépítése és az operációs rendszerektől való függetlensége lehetőséget biztosít a különböző rendszerek közötti adatátvitel megvalósítására. Használhatóságát jól példázza, amit a bevezetőben már említettünk: a .NET operációs rendszerekben található IIS verziók adatbázisa már teljes egészében XML kódokból áll. Másik alkalmazási terület például az MMC konzoloknál fordul elő, ugyanis ezek is teljes egészében XML-ben íródtak. A tisztán szöveges kódnak köszönhetően méretük általában kisebb, mint a bináris fájloké és egy szövegszerkesztővel - akár a "Jegyzettömbbel" ("Notepad") is módosíthatók.
Napjainkban a szöveg- és adattárolás megannyi formátuma áll rendelkezésre, kezdve a TXT-től, az RTF-en át a DOC vagy XLS fájlokig. A rengeteg szabvány nagyon megnehezíti a keresőalkalmazások dolgát. Az XML-ben való keresés egyrészt azért könnyű, mert kódolatlan szöveges állományról van szó, másrészt meg van jelölve, hogy melyik része szöveg, adat, kép, stb., (ezért jelölőnyelv) így elegendő csak a szövegrészben keresni. Tehát különválasztja az információt és az információ ábrázolását. A különböző megjelenítési formátumokra vonatkozóan nincsenek megkötések, a nyelv önleíró. Mindig a célnak legmegfelelőbb formátum nyerhető ki belőle, ami magyarázatot jelent a széleskörű elterjedésre (használható web böngészőkben, mobiltelefonokban, adattárolásra, de nyomtatható információ is kinyerhető).
Document Type Declaration (DTD)
Az XML felépítése szigorúan strukturált faszerkezetből áll. A felépítés minden egyes pontja rendelkezik tulajdonságokkal és besorolható egy típusba. A DTD tárolja a szerkezet elemeinek leírását. Maga az XML csak azt határozza meg, hogy milyen elemekből áll, ezért használhatunk beszédes - akár magyar - elemneveket is. Az elemek jelentését a DTD tárolja, ezért például egy formázott szöveg megjelenítése az XML és a DTD egybevetésével lehetséges.
A kuszaság elkerülése végett léteznek szabványos DTD-k. Alkalmazásukkal az XML fájlokban csak a DTD által meghatározott elemek használhatók, ilyenkor nem lehetséges saját elnevezéseink beépítése (ha mégis ragaszkodunk hozzá, saját DTD-t is kell készíteni).
Logikai és fizikai szerkezet
Az XML logikai szerkezet azt mutatja meg, hogy a dokumentum milyen elemekből áll. A fizikai pedig ezeket az elemeket tartalmazza. Például a logikai szerkezetben leírjuk egy könyv felépítését, találhatók benne szövegek, képek és hivatkozások másik szövegekre. A fizikai szerkezet jelenti a szöveget, képeket és a hivatkozott szöveget tároló fájlokat. Tehát maga a teljes dokumentum a HTML-hez hasonlóan, több fájlból állhat.
A szintaxisról
A HTML-hez hasonlóan tagekkel (<> csúcsos zárójelek) azonosíthatók az adatok. De míg a HTML az adatábrázolás formáját határozza meg, addig az XML azt mondja meg, hogy az adat mit jelent.
Például:
<könyv>
<bekezdés>Az XML alapjai.</bekezdés>
<szöveg> Az XML rövidítés az Extensible Markup Language kifejezésből származik</szöveg>
</könyv>
Előírhatjuk, hogy a <könyv> és a <bekezdés> közötti szövegrészek jelenjenek meg nyomtatásban, illetve meghatározhatunk adatokat is, melyek nyomtatásban nem, de a feldolgozó program számára értelmezhetők. Pl.:
<adat>
<nyomda>BookPrinter Kft</nyomda>
<dátum>2002.01.01</dátum>
<példányszám>1234</példányszám>
</adat>
Példa a DTD-re:
<element nyomda (#pcdata)*>
<element dátum (#pcdata)*>
<element példányszám (#pcdata)*>
<element bekezdés (simple)>
<element szöveg empty>
Bár az XML fájlok elkészíthetők szövegszerkesztők segítségével is, léteznek célirányos alkalmazások, melyek képesek értelmezni a DTD-t és az XML szerkesztése közben az elemeket jól látható ikonokkal jelölik, illetve felhívják a figyelmet az esetleges elírásokra és logikai hibákra.
Hiperhivatkozások
Dokumentumon belül elhelyezhetők más dokumentumokra mutató hivatkozások, ugyancsak a HTML-hez hasonlóan, de annál több lehetőséget kínálva. Például "ugrás a dokumentumban található 'WSO' szó 5. előfordulására".

XML cikksorozat