fr hu hu hu hu hu hu hu hu hu hu en en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en de en en fr hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu
Ez a cikk a W3C által ajánlott XML Schema nyelvről, az XSD-ről (XML Schema Definition) szól. Az XML sémáról szóló bővebb információért nézze meg az XML-séma szócikket.
Az XML Schema egy a sok XML sémanyelv közül. A W3C ajánlásával publikálták, 2001 májusában.[1] Ez volt az első olyan sémanyelv az XML-hez, amely "Ajánlás" státuszba került a W3C által. Az XML Schema mint W3C specifikáció és az általános XML séma fogalmak összekeverését elkerülendő, a specifikáció 1.1-es verziójától kezdve a W3C XSD-ként hivatkozik a nyelvre. Az XSD az "XML Schema Document" rövidítésből származik, amely egy XML Schema nyelven írt dokumentum, amely általában az "xsd" XML névtér előtagot tartalmazza.
Az XSD segítségével felírhatók olyan szabályrendszerek, melynek meg kell feleljen egy XML dokumentum ahhoz, hogy „érvényes” legyen az adott sémában.
2 Sémák és Séma Dokumentumok
5 XML sémák egyéb felhasználásai
5.2 XML struktúra dokumentáció készítése
Az XSD-re hatással volt a Document Type Definiton és más korai XML sémarendszerek, mint a DDML, SOX, XML-Data és XDR. Ezen rendszerekből vett át jellemzőket, ugyanakkor egy kompromisszum ezen rendszerek között. Az XSD publikálása és bevezetése után az XDR-t és az SOX-et használták és támogatták egy ideig. A Microsoft termékei az XDR-t használták 2006 decemberéig, az MSXML 6.0-s verziójáig, amelyben lecserélték az XDR-t az XSD-re.[2] A Commerce One Inc. a saját maga által kifejlesztett SOX sémanyelvét használta, amíg be nem csődölt 2004-ben.
A legszembetűnőbb újdonságok az XSD-ben, melyek nem megtalálhatók a Document Type Definition-ben, az a névterek használata, valamint adattípusok, melyek segítségével az attribútumok típusát megadhatjuk dátumnak vagy egész számnak az egyszerű szöveg helyett.
Az XSD 1.0-s specifikációját 2001-ben publikálták, majd 2004-ben adták ki a második kiadást, amely sok hibát javított. Az XSD 1.1-es verziója 2012 áprilisában lett W3C ajánlás.
Definíció szerint a séma metaadatok egy absztrakt gyűjteménye, amely sémakomponensekből áll, amelyek főként elem- és attribútumdeklarációk valamint egyszerű és összetett típusdefiníciók. Ezeket séma dokumentumok feldolgozása közben kapjuk, amelyek ezen komponensek definícióit tartalmazza. A nyelvben viszont a séma dokumentumot is gyakran sémának nevezik.
A séma dokumentumok névterek által vannak rendszerezve: adott megnevezett séma komponensek egy adott névtérhez tartoznak, valamint a névtér az egész séma dokumentum egy része. Egy séma dokumentum hivatkozhat más dokumentumokra ugyanabban a névtérben és importálhat más séma dokumentumokat más névterek eléréséhez.
XML Schema dokumentumok kiterjesztése általában ".xsd". Nincs még egyedi MIME-típus az XSD-hez, tehát az RCF 3023 szerint az "application/xml" vagy "text/xml" használata szükséges hozzájuk.
A DTD-kkel ellentétben XSD használata esetén egy elem vagy attribútum tartalmát egy adattípushoz lehet egyeztetni. Például egy attribútumra kiadhatunk olyan megkötést, hogy csak dátumot vagy egész számot tartalmazhat.
Az XSD 19 primitív adattípust támogat: anyURI, base64Binary, boolean, date, dateTime, decimal, double, duration, float, hexBinary, gDay, gMonth, gMonthDay, gYear, gYearMonth, NOTATION, QName, string, és time. Új adattípusokat ezen primitív adattípusok és a következő módszerek segítségével készítnetünk:
megszorítás (a lehetséges értékekre),
lista (értékek adott sorozatát), és
unió (többféle adattípus közül lehet választani).
A specifikáción belül huszonöt ilyen származtatott típust találhatunk, valamint a felhasználók is hozhatnak létre saját típusokat a sémáikban.
Az alábbi egy egyszerű séma dokumentum példa arra, hogyan adhatunk meg egy címet.
Itt pedig egy XML, amely megfelel ennek a sémának:
Mr. Walter C. Brown   49   Featherstone Street   LONDON   EC1Y 8SY   UK
XML sémák egyéb felhasználásaiSzerkesztés
Az XML Sémák elkészítésének elsődleges célja, hogy formálisan leírjunk egy XML dokumentumot, viszont az így létrehozott sémának lehetnek egyéb felhasználásai is a validáláson kívül.
A séma segítségével forráskód készíthető, ennek neve XML Adatkötés. Az így generált forráskód segítségével XML dokumentumokat objektumokként kezelhetünk a fejlesztői környezetekben.
XML struktúra dokumentáció készítéseSzerkesztés
A sémákat felhasználhatjuk arra, hogy egy XML dokumentumból ember számára is jól olvasható kimenetet hozzunk létre. Ez akkor hasznos, ha a szerzők rengeteg annotációs elemet használtak fel. Az ilyen dokumentáció készítésére nincs norma, de több felhasználói eszköz is a rendelkezésünkre áll, például az Xs3p stylesheet, melynek segítségével minőségi HTML és nyomtatott oldalakat tudunk készíteni.
Habár az XML Sémát nagyon sok helyen használják és elérte azokat a célokat, melyeket maga elé tűzött, mégis rengeteg kritikát kapott.
A kritikák egy jó összefoglalását James H. Clark[3] fogalmazta meg, aki mellesleg a saját RELAX NG formátumát támogatja:
Rengeteg meglepetés van a nyelvben, például az, hogy az elemek megszorítása és az attribútumok megszorítása különböző módszerekkel történik.
A W3C Ajánlás roppant nehezen olvasható. A felhasználók többsége a W3C által kiadott XML Schema Primer-t használja.
Az XSD-hez semmiféle formális matematikai specifikáció nem tartozik. Ennek hiányában nehéz a sémák kapcsolatairól beszélni, például belátni, hogy egy sémán végzett módosítás visszafelé kompatibilis.
Az XSD-ben nem tudunk olyan megszorítást adni, amellyel azt várjuk el, hogy adott attribútum létezése vagy értéke függjön más attribútumok létezésétől vagy értékétől. (Ezek az ún. együttes előfordulás (co-occurrence) megkötések.
Az XSD nem sok támogatást nyújt a rendezetlen adatok tárolására.
A validációt és az augmentációt (típus információk és alapértelmezett értékek hozzáadása) együtt kezeli.
Az XSD 1.1 egy W3C Ajánlássá vált 2012 áprilisában. Ez azt jelenti, hogy a W3C által elfogadott specifikáció lett.
Az XSD 1.1 főbb új funkciói:
A dokumentum tartalmára vonatkozó kijelentéseket tehetünk Xpath 2.0 kifejezésekkel.
Megadhatjuk, hogy mely adattípus ellen fogjuk validálni az adott elemet, az elem attribútumainak értéke alapján. ("feltételes típushozzárendelés")
Helyettesítő elemeket (wildcard) adhatunk meg az elemekre és az attribútumokra egyaránt, amelyek az egész sémára vonatkoznak. Ezek segítségével később könnyen kiterjeszthetjük a sémát.
Lazíthatunk a szabályokon úgy, hogy egyes külön kijelölt elemeknek nem kell a helyettesítő elemek által definiált szabályokra illeszkedniük.
RELAX NG - egy másik XML sémanyelv (ISO nemzetközi szabvány), melyet gyakran használnak XML Schema adatokkal.
Definitive XML Schema, Priscilla Walmsley, Prentice-Hall, 2001, ISBN 0-13-065567-8
XML Schema, Eric van der Vlist, O'Reilly, 2001, ISBN 0-596-00252-1
The XML Schema Companion, Neil Bradley, Addison-Wesley, 2003, ISBN 0-321-13617-9
Professional XML Schemas, Jon Ducket et al., Wrox Press, 2001, ISBN 1-86100-547-4
XML Schemas, Lucinda Dykes et al., Sybex, ISBN 0-7821-4045-9
↑ XML and Semantic Web W3C Standards Timeline, 2012. február 4. (Hozzáférés: 2012. május 19.)
↑ Removal of XDR Schema Support in MSXML 6.0. (Hozzáférés: 2010. szeptember 19.)
↑ Archivált másolat. [2007. szeptember 27-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. május 19.)
Informatikai portál • összefoglaló, színes tartalomajánló lap
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=XSD&oldid=25295957”
Utoljára szerkesztve 2022. szeptember 20., 20:42-kor
A lap utolsó módosítása: 2022. szeptember 20., 20:42
A lap szövege CC BY-SA 3.0 alatt érhető el, ha nincs külön jelölve.