XML



Extensible Markup Language
Fájlkiterjesztés .xml
MIME-típus application/xml,[1]
text/xml[2]
Kiadás dátuma 1996
Kiterjesztése ennek SGML
Uniform public.xml
Standard 1.0 (5. kiadás)
1.1 (2. kiadás)

Az XML (Extensible Markup Language, kiterjeszthető jelölőnyelv) a W3C által ajánlott általános célú leíró nyelv, speciális célú leíró nyelvek létrehozására. Az SGML egyszerűsített részhalmaza, mely különböző adattípusok leírására képes. Az elsődleges célja strukturált szöveg és információ megosztása az interneten keresztül. Az XML-en alapuló nyelvek (például RDF, RSS, MathML, XSIL, SVG) leírása formális, így lehetővé teszik a programok számára a dokumentumok módosítását és validálását a formátum előzetes ismerete nélkül.

Tartalomjegyzék

Története


Az XML-t Tim Bray fejlesztette ki, miután az IBM, az Oxford University Press és a University of Waterloo egy internetes szótáron dolgozott. Mivel hatalmas mennyiségű adatot kellett tárolni és feldolgozni, kereskedelmi szoftvermérnököket vontak be a projektbe, hogy megoldást találjanak az adatok indexelésére és tárolására. Az Association for Computing Machinery (ACM) számára adott interjú során Bray azt nyilatkozta, hogy bevonták a projektbe és megmutatták neki a szótár számára kifejlesztett belső struktúrát: „kis beágyazott címke határozta meg, hogy mi bejegyzés illetve szó, és aztán kiejtés, etimológia, rövid idézet, és aztán adat, forrás, szöveg és így tovább” (ACM Queue , 2005). Ez vált az XML elődjévé. Miután kifejlesztették a technológiát a szótárprojekthez, Bray megalapította az Open Text Corporationt, kifejlesztett egy keresőmotort, valamint meghívták a W3C-be, hogy legyen az XML specifikációjuk szerkesztője.

Előnyei és hátrányai


Az XML azon tulajdonságai, amelyek alkalmassá teszik adattovábbításra:

Az XML-t gyakran használják dokumentumtárolási és feldolgozási formátumként, mind online, mind offline módon, és több előnnyel is jár:

Bizonyos alkalmazások szempontjából a következő hátrányokkal rendelkezik:

XML dokumentumok helyessége


Ahhoz, hogy egy XML dokumentum helyes legyen, a következő követelményeknek kell megfelelnie:

Helyesen formázott XML dokumentumok

Egy XML dokumentum szövegből áll, Unicode karakterek sorozata. Amíg az XML megköveteli az UTF-8 és UTF-16 kódolás támogatását, melyek elterjedtek, addig más kódolások (például ISO-8859) nem túl gyakoriak.

Egy helyesen formázott XML dokumentumnak többek között a következő szabályoknak kell megfelelnie:

<ÉnPéldám> … </ÉnPéldám>
míg ez nem:
<ÉnPéldám> … </Énpéldám>

Az XML-elemek körültekintő névválasztása magában hordozza az adat jelentését a leírásban. Ez növeli az olvashatóságot az emberek számára, míg megőrzi a szoftveres elemzők számára szükséges szigort.

Például egy egyszerű recept a következőképpen fejezhető ki XML-ben:

<?xml version="1.0" encoding="UTF-8"?>
<Recept név="kenyér" elk_idő="5 perc" sütés_idő="3 óra">
  <cím>Egyszerű kenyér</cím>
  <összetevő mennyiség="3" egység="csésze">Liszt</összetevő>
  <összetevő mennyiség="10" egység="dekagramm">Élesztő</összetevő>
  <összetevő mennyiség="1.5" egység="csésze">Meleg víz</összetevő>
  <összetevő mennyiség="1" egység="teáskanál">Só</összetevő>
  <Utasítások>
    <lépés>Keverj össze minden összetevőt, aztán jól gyúrd össze!</lépés>
    <lépés>Fedd le ruhával és hagyd pihenni egy óráig egy meleg szobában!</lépés>
    <lépés>Gyúrd össze újra, helyezd bele egy bádogedénybe, aztán süsd meg a sütőben!</lépés>
  </Utasítások>
</Recept>

Érvényes XML dokumentumok

Egy olyan XML dokumentum, ami azon kívül, hogy helyesen formázott, még meg is felel egy adott sémának, érvényesnek nevezhető.

Egy XML séma az XML dokumentum típusának leírása, jellemzően az XML megkötésein túli korlátozásokat tartalmaz az adott típus struktúrájára és tartalmára. Nagy mennyiségű szabványos és szabadalmazott XML séma jelent meg, hogy leírja ezeket a megkötéseket, és ezen sémák egy része maga is XML-alapú.

Az általánosított adatleíró nyelvek (mint például az SGML és az XML) megjelenése előtt a szoftvertervezőknek speciális fájlformátumokat vagy kis nyelveket kellett kifejleszteniük, hogy adatot tudjanak megosztani több alkalmazás között. Ez részletes specifikációk megírását, valamint speciális célú elemzők és írók megalkotását követelte meg.

Az XML szabályos struktúrája és szigorú elemzési szabályrendszere képessé teszi a szoftvertervezőket, hogy az elemzést szabványos eszközökre bízzák, és mivel az XML egy általános, adatmodell-orientált keretrendszert biztosít az alkalmazásspecifikus nyelvek fejlesztőinek, a szoftverfejlesztőknek csak a szabályrendszer és az adat kifejlesztésére kell koncentrálni, így viszonylag magas absztrakciós szintet elérve.

Alaposan tesztelt eszközök állnak rendelkezésre, hogy az XML dokumentumot a sémával szemben validálják: az eszköz automatikusan ellenőrzi, hogy a dokumentum megfelel-e a sémában kifejtett megkötéseknek. Vannak olyan eszközök, melyek az XML elemzőbe építve érhetők el, és vannak, melyek külön használhatók.

A sémák más felhasználása is létezik: az XML szerkesztők például a szerkesztés során fel tudják használni a sémákat a hatékonyság és a kényelem növelése érdekében.

DTD

A legrégebbi XML séma a Document Type Definition (DTD, dokumentum típus definíció), ami az SGML-ből származik. Mivel a DTD az XML 1.0 szabvány része, így mindenhol támogatott. Azonban megvannak a maga hátrányai:

XML Schema

Az XML Schema egy újabb keletű XML séma nyelv, amit a W3C a DTD utódaként definiáltak. Gyakran XSD (XML Schema Definition) néven is szokták emlegetni. Az XSD lényegesen többre képes a DTD-nél az XML nyelvek leírása terén. Sokoldalú adattípus rendszert használ, ami részletesebb megkötéseket tesz lehetővé az XML dokumentum logikai szintjén, de ezért sokkal robusztusabb érvényesítő keretrendszert követel meg. Ráadásul az XSD XML-alapú formátumon alapul, minek következtében szokványos XML eszközöket lehet használni a létrehozásához és feldolgozásához, bár az implementációk sokkal többet kívánnak, mint az egyszerű XML olvasási képesség.

Az XML Schema-t érő kritikák közül néhány:

Más sémanyelvek

Néhány sémanyelv nem csak egy adott XML formátum struktúráját írja le, de korlátozott lehetőséget is biztosít az egyedi XML fájlok feldolgozásának befolyásolására is, melyek megfelelnek ennek a szabványnak. A DTD és XSD szintén rendelkezik ezzel a képességgel: képesek alapértelmezett attribútumdefiníciók meghatározására is. A RELAX NG szándékosan nem nyújt ilyen lehetőséget.

XML megjelenítése a Weben


Az Extensible Stylesheet Language (XSL, kiterjeszthető stílusleíró nyelv) támogató technológia, ami leírja, miképp kell formázni vagy átalakítani az XML dokumentumban található adatot. A dokumentumot a böngészők által olvasható formátumra alakítja át. A folyamat hasonló a HTML dokumentumokon alkalmazott CSS eljáráshoz. Egy sor az XML dokumentum tetején:

<?xml-stylesheet type="text/xsl" href="transform.xsl"?>

azt mondja meg, hogy a transform.xsl egy XSLT stíluslap, ami az XML-ről HTML formátumra való átalakításra vonatkozóan hordoz információt.

Az XML dokumentumot néhány böngésző közvetlenül is meg tudja jeleníteni. Ilyen például az Internet Explorer vagy a Mozilla Firefox a CSS segítségével. A CSS stíluslapok alkalmazása érdekében az XML dokumentumnak speciális hivatkozással kell rendelkeznie a stíluslapra:

<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>

Ez eltér a szabványos, stíluslapra hivatkozó HTML kódtól, ami a <link> tag-et használja.

Amíg a böngészőalapú XML megjelenítés fejlődik, alternatívát a HTML, PDF vagy más formátum előállítása jelenthet a szerveren. Vannak olyan programok, melyek feldolgozzák az XML-t a stíluslappal együtt és visszaküldik az eredményt a felhasználó böngészőjébe anélkül, hogy a felhasználónak tudnia kellene, hogy mi is zajlik a háttérben.

XML kiterjesztések


XML fájlok feldolgozása


A SAX és a DOM széles körben használt API XML adat feldolgozásához. A SAX soros feldolgozásra, míg a DOM véletlen hozzáférésű feldolgozásra alkalmas. Másik formája az XML feldolgozó API-nak az adatkötés, ahol az XML adat erősen típusos programnyelvi adatstruktúraként áll rendelkezésre. Jó példa az adatkötő rendszerekre a Java Architecture for XML Binding (JAXB) és a Strathclyde Novel Architecture for Querying XML (SNAQue). Az ADO.NET is képes erősen típusos adatstruktúraként kezelni XML forrásokat.

Egy szűrő az Extensible Stylesheet Language (XSL, kiterjeszthető stílusleíró nyelv) családban képes átalakítani az XML fájlt megjelenítésre vagy nyomtatásra.

Az OpenOffice.org és az AbiWord natív fájlformátuma az XML. A Microsoft Office 2003-tól kezdve lehetőség van XML fájlba menteni (az Office 2007-től ez az alapértelmezett) és XML fájlokat szerkeszteni a felhasználó által definiált séma felhasználásával. Tucatnyi más XML szerkesztő is elérhető az előzőeken kívül.

XML verziók


Jelenleg két XML verzió létezik. Az XML 1.0-t 1998-ban definiálták, és azóta többször is módosították anélkül, hogy új verziószámot kapott volna. Jelenleg a 2004. február 4-én publikált harmadik kiadás az aktuális. Széles körben elterjedt, és még mindig ajánlják általános felhasználásra. Az XML 1.1-et egy napon adták ki az XML 1.0 harmadik kiadásával. Az XML 1.1 sok olyan – köztük néhány vitatott – tulajdonsággal bír, aminek célja az XML használatának egyszerűbbé tétele több felhasználói csoport (főleg mainframe programozók) számára. Az XML 1.1 nem túl elterjedt, és csak azoknak ajánlják, akik ki tudják használni az egyedi képességeit.

Az XML 1.0 és az XML 1.1 az elemek, attribútumok stb. nevében megengedett karakterekben különbözik. Az XML 1.0 csak a Unicode 2.0 szabványban megengedett karaktereket engedélyezi, ami magában foglalja a legtöbb világnyelvet, de nem tartalmazza azokat a nyelveket, melyeket a későbbi Unicode szabvány verzióban vezettek be. Ilyen nyelv a mongol, a kambodzsai, a burmai stb. Az XML 1.1 csak bizonyos vezérlő karakterek használatát tiltja, ami azt jelenti, hogy minden más karakter használható, még ha nem is definiálták az aktuális Unicode verzióban.

Meg kell jegyezni, hogy az XML 1.0 megkötései csak az elemek illetve attribútumok neveire vonatkoznak: mind az XML 1.0, mind az XML 1.1 megengedi a teljes Unicode készlet használatát a tartalomban. Így az XML 1.1 csak akkor szükséges, ha a Unicode 2.0 után publikált szöveghez szeretnénk elem és attribútum neveket fűzni.

Másik kisebb különbség az XML 1.0 és az XML 1.1 között, hogy a vezérlő karakterek nem szerepelhetnek, hacsak nem „escape” karakter formátumúak, és két speciális Unicode karaktert tartalmaz, amit üres helyként kezelnek.

Az XML 1.0 dokumentumok helyesen formázott XML 1.1 dokumentumok egy kivétellel: a nem "escape" formátumú Cl karakterek hibásak: az XML 1.1 megköveteli a Cl vezérlő karakterek számmal történő hivatkozását.

Megbeszélés folyik az XML 2.0 szabványról, bár nem látható előre, hogy egyáltalán létre fog-e jönni. Az XML-SW (SW: skunk works, titkos projekt) – amit az XML egyik eredeti szerzője írt – tartalmaz néhány utalást az XML 2.0 formátumára: a DTD kiküszöbölése a szintaxisból, névterek, XML Base és XML Information Set (infoset) integrációja az alap szabványba.

A World Wide Web Consortium (W3C) rendelkezik egy XML Binary Characterization Working Group-pal, ami bevezető kutatást végez a binárisan kódolt XML infoset-ek felhasználásának terén. A munkacsoportnak nem célja bármilyen szabvány létrehozása. Mivel az XML definíció szerint szöveg alapú, a Sun Microsystems a gyors infoset nevet adta a saját bináris infoset implementációjának, hogy elkerülje az összetévesztés lehetőségét, és az ISO-n keresztüli szabványosításán dolgozik.

További információk


Jegyzetek


  1. XML Media Types, RFC 3023 pp. 9–11. IETF, 2001. január 1. (Hozzáférés: 2010. január 4.)
  2. XML Media Types, RFC 3023 pp. 7–9. IETF, 2001. január 1. (Hozzáférés: 2010. január 4.)

Irodalom


Szeredi - Lukácsy - Benkő: A szemantikus világháló elmélete és gyakorlata. Typotex Kiadó, 2005. ISBN 963-9548-48-0

  • Informatikai portál • összefoglaló, színes tartalomajánló lap



Kategóriák: Fájlformátumok | XML-szabványok | Jelölőnyelvek | World Wide Web Consortium sztenderdek


Dátum: 27.03.2021 08:27:09 CET

Eredet: Wikipedia (Szerzői [Laptörténet])    Lizenz: CC-BY-SA-3.0

Változtatások: Az összes képet és a hozzájuk kapcsolódó legtöbb látványelemet eltávolítottuk. Néhány ikont a FontAwesome-Icons váltotta fel. Néhány sablont eltávolítottak (például „a cikk kibővítéséhez szükséges”) vagy hozzárendelte (mint például „hatjegyek”). A CSS osztályokat vagy eltávolították, vagy harmonizálták.
A Wikipedia-tól olyan linkeket, amelyek nem vezetnek cikkhez vagy kategóriához (mint például a „Redlinks”, „a szerkesztési oldalra mutató linkek”, „a portálok linkjei”), eltávolították. Minden külső linkhez tartozik egy további FontAwesome-Icon. Néhány apró változtatás mellett a médiatartályt, a térképeket, a navigációs dobozokat, a beszélt verziókat és a geomikroformátumokat eltávolítottuk.

Felhívjuk figyelmét: Mivel az adott tartalmat az adott időpontban automatikusan a Wikipedia veszi, a kézi ellenőrzés volt és nem lehetséges. Ezért a nowiki.org nem garantálja a megszerzett tartalom pontosságát és aktualitását. Ha van olyan információ, amely pillanatnyilag hibás, vagy pontatlan a képernyő, akkor nyugodtan lépjen kapcsolatba velünk: email.
Lásd még: Jogi nyilatkozat & Adatvédelmi irányelvek.