XML ( angol eXtensible Markup Language ) bővíthető jelölőnyelv | |
---|---|
Kiterjesztés | .xml |
MIME típusú | application/xml [1] , text/xml [2] (elavult egy lejárt piszkozatban) [3] |
Fejlesztő | World Wide Web Consortium |
közzétett | 1998 |
Formátum típusa | jelölőnyelv |
Kibontva innen | SGML |
ben fejlődött | XHTML , RSS , Atom , KML , SVG és sok más formátum |
Szabvány(ok) |
1.0 (ötödik kiadás), 2008. november 26. [4] 1.1 (második kiadás), 2006. augusztus 16. [5] |
nyílt formátum ? | Igen |
Weboldal | w3.org/XML _ |
Médiafájlok a Wikimedia Commons oldalon |
XML ( MFA : [ ˌ e k s . e m ˈ e l ], rövidítés az angolból. e X tensible Markup L Anguage ) - "extensible markup language ". A World Wide Web Consortium (W3C) ajánlása . Az XML specifikáció leírja az XML dokumentumokat, és részben leírja az XML processzorok (az XML dokumentumokat beolvasó és azok tartalmához hozzáférést biztosító programok) viselkedését. Az XML-t úgy tervezték, hogy egyszerű formális szintaxisú nyelv legyen , könnyen létrehozható és feldolgozható dokumentumok mind a programok , mind az emberek számára, különös tekintettel az internetes használatra. A nyelvet bővíthetőnek nevezzük, mert nem rögzíti a dokumentumokban használt jelöléseket: a fejlesztő szabadon készíthet jelölést egy adott terület igényei szerint, csak a nyelv szintaktikai szabályai korlátozzák. Az XML-kiterjesztés egy XML-alapú konkrét nyelvtan , amelyet a címkék és attribútumaik szótára, valamint egy olyan szabálykészlet képvisel, amely meghatározza, hogy mely attribútumok és elemek lehetnek más elemekben. Az egyszerű formális szintaxis, az emberbarát jelleg, a bővíthetőség és a dokumentumok tartalmának Unicode kódolásaira való támaszkodás kombinációja mind magának az XML-nek, mind az XML-eredetű speciális nyelveknek a széles körben való elterjedéséhez vezetett. szoftver eszközök.
Az XML az SGML egy részhalmaza .
Az XML specifikáció leírja a nyelvet és a dokumentumok kódolásával és feldolgozásával kapcsolatos számos kérdést. Az ebben a részben található anyag az XML-specifikáció nyelvi leírásának összefoglalása, ehhez a cikkhez igazítva.
A dokumentum angol nyelvű változata normatívnak minősül, ezért a főbb kifejezéseket az angol eredetivel együtt adjuk meg.
A főbb kifejezések fordítása alapvetően a specifikáció interneten elérhető orosz nyelvű fordítását követi, a tag és a deklaráció kifejezések kivételével . A tag kifejezéshez itt a fordítási címkét használjuk . A nyilatkozat kifejezésnél előnyben részesítjük a közös fordítási nyilatkozatot (a szintén általános pauszpapír nyilatkozattal szemben ).
A főbb kifejezések egyéb fordításai megtalálhatók a szakirodalomban és az interneten.
Fizikai szempontból egy dokumentum entitásokból áll , amelyek mindegyike hivatkozhat egy másik entitásra. Az egyetlen gyökérelem a dokumentumentitás . Az entitások tartalma szimbólumok.
Logikai szempontból a dokumentum megjegyzésekből ( English comments ), deklarációkból ( angol nyilatkozatok ), elemekből ( English elements ), entitáshivatkozásokból ( English character references ) és feldolgozási utasításokból ( angol feldolgozási utasítások ) áll. A dokumentumban mindezt jelölések strukturálják .
Fizikai szerkezetAz entitás a dokumentum legkisebb része. Minden entitás tartalmaz valamit, és mindegyiknek van neve (vannak kivételek, pl . dokumentum entitás ). Egyszerűen fogalmazva, az "esszencia" kifejezés a "létező dolgot", " valamit " írja le [6] .
A dokumentum olyan entitásokból áll, amelyek tartalma szimbólumokból áll. Minden karakter két típusra osztható: adatkarakterekre ( angol karakteradatok ) és jelölőkarakterekre. A jelölés a következőket tartalmazza:
A bizonylat nem jelölő része a bizonylat karakteradatai.
Logikai szerkezetA dokumentum összes alkotórészét a prológus és a gyökérelem foglalja össze . A gyökérelem a dokumentum kötelező része, ami a teljes lényegét alkotja (a prológus általában hiányozhat). A gyökérelem tartalmazhatja beágyazott elemeit, karakteradatait és megjegyzéseit, de nem. A gyökérelembe beágyazott elemek tartalmazhatnak beágyazott elemeket, karakteradatokat és megjegyzéseket stb. A Prolog tartalmazhat deklarációkat , feldolgozási utasításokat , megjegyzéseket . Egy XML-deklarációval kell kezdődnie , bár ez a deklaráció bizonyos helyzetekben elhagyható.
A dokumentumelemeket megfelelően be kell ágyazni : minden olyan elemnek, amely egy másik elemen belül kezdődik (vagyis a gyökérelemtől eltérő dokumentumelemeknél), abban az elemben kell végződnie, amelyen elindult. A karakteradatok az elemeken belül közvetlenül vagy speciális "CDATA" szakaszokban fordulhatnak elő . A nyilatkozatokhoz, feldolgozási utasításokhoz és elemekhez attribútumok rendelhetők. Az attribútumok a név-érték párok logikai szövegegységhez való társítására szolgálnak.
A jelölés mindig egy karakterrel kezdődik, és egy karakterrel <végződik >.
A és szimbólumok <mellett >a szimbólum is különleges szerepet játszik a jelölésben &. A szögzárójelek jelölik az elemek határait, a feldolgozási utasításokat és néhány más sorozatot. Az "és" jel lehetővé teszi a szöveg cseréjét entitásokkal ( angol entities ) [6] .
A jelölőkarakterek használata a karakteradatokban megnehezíti a jelölőkonstrukciók felismerését, és szerkezeti kétértelműségi problémát okozhat. Az XML-ben ezt a problémát a következőképpen oldják meg: a <, > és & nem jelenhetnek meg a karakteradatokban és az attribútumértékekben közvetlen formában, ezekben az esetekben speciális entitások vannak fenntartva az ábrázolásukra :
Szimbólum | Csere |
---|---|
< | < |
> | > |
& | & |
Ezenkívül a következő entitások használatosak aposztrófok és idézőjelek használatára az attribútumértékeken belül :
' | ' |
" | " |
A jelölőkarakterek jelölő entitásukra való cseréjének szabálya nem vonatkozik a „CDATA” szakaszok karakteradataira, de a dokumentum minden más helyén végrehajtódik.
A numerikus karakterhivatkozások a karakter kódpozícióját jelzik a dokumentum karakterkészletében. A numerikus karakterhivatkozások kétféle formában lehetnek [7] :
Példák numerikus karakterhivatkozásokra:
XML-ben minden névnek betűvel kell kezdődnie, az aláhúzás karakterrel (_) és csak olyan karakterekkel kell folytatódnia, amelyek a nevek számára megengedettek, nevezetesen: csak olyan betűket tartalmazhatnak, amelyek a Unicode betűszakasz részét képezik, arab számokat, kötőjeleket, aláhúzásjeleket. , pontok. Mivel a betűk nem korlátozódnak csak ASCII-karakterekre, a nevekben bármely nyelv betűi használhatók.
Az XML-deklaráció határozza meg, hogy a dokumentum milyen nyelven íródott. Mivel a dokumentum tartalmának értelmezése a nyelv verziójától függ, a Specifikáció előírja, hogy a dokumentumot XML deklarációval kell indítani. A nyelv első (1.0) változatában a deklaráció használata nem kötelező volt, a későbbiekben kötelező. Így a nyelvi változatot a deklaráció határozza meg, ha pedig nincs deklaráció, akkor az 1.0-s verziót feltételezzük.
Az XML-verzión kívül a deklaráció tartalmazhat információkat a dokumentum kódolásával kapcsolatban és arról is, hogy „a dokumentumnak saját DTD -vel kell-e maradnia , vagy egy benne lévővel”.
Példa:
<?xml version="1.1" encoding="UTF-8" ?>vagy:
<?xml version="1.0" encoding="windows-1251"?>Mindezekben a példákban hiányzott az „önálló” attribútum, amely csak azt határozza meg, hogy a jelölések leírását kívülről kell-e szerepeltetni a dokumentumban. Alapértelmezés szerint "nem":
<?xml version="1.0" encoding="windows-1251" standalone="no"?>Ha az XML dokumentum más DTD-kre hivatkozik, amelyek leírják, hogy a dokumentum mit tartalmazhat, meg kell adniastandalone="no"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Ha az XML-dokumentum nem hivatkozik más fájlokra, és a saját DTD-jét használja, meg kell adniastandalone="yes"
Dokumentumtípus nyilatkozatA bizonylattípus deklarálására külön utasítás vonatkozik !DOCTYPE. Lehetővé teszi, hogy a DTD nyelv használatával meghatározzuk, hogy mely elemek szerepeljenek a dokumentumban, milyen attribútumaik vannak, mely entitások használhatók, és még valami.
Például itt van a megfelelő dokumentum:
<?xml version="1.0"?> <köszöntés> Helló világ! </reeting>Van egy gyökéreleme <greeting>Hello, world!</greeting>, és logikailag a dokumentum létezik. Ez azonban nem érvényes ( eng. not valid ) [8] .
A Dokumentumtípus-nyilatkozat (DTD) segítségével lehetőség nyílik annak tartalmának és logikai felépítésének leírására, valamint egy név-érték pár társítására egy adott elemhez. Így néz ki a prológus a Backus-Naur bejegyzésben [9] :
prolog ::= XMLDecl? Egyéb* (doctypedecl Misc*)? XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"') Eq ::= S? '='S? VersionNum ::= '1.' [0-9]+ Egyéb ::= Hozzászólás | PI | S doctypedecl ::= '<!DOCTYPE' S név (S külső azonosító)? S? ('[' intSubset ']' S?)? '>' DeclSep ::= PEReference | S intSubset ::= (markupdecl | DeclSep)* markupdecl ::= elementdecl | AttlistDecl | EntityDecl | Jelölés Decl | PI | Megjegyzés extSubset ::= TextDecl? extSubsetDecl extSubsetDecl ::= ( markupdecl | conditionalSect | DeclSep)*Az XML-deklarációt megjegyzések, feldolgozási utasítások vagy üres szóközök követhetik [10] , de ezután jön a Document Type Declarations, ahol a "Name" a gyökércímke neve, az " ExternalID" a külső azonosító és az "intSubset" a jelölés deklarációja, vagy az entitás hivatkozása. Ahogy a specifikáció mondja, ha egy külső azonosítót egy belső deklarációval együtt deklarálunk, akkor az utóbbi az előbbi elé kerül [11] .
Például:
<?xml version="1.0"?> <!DOCTYPE üdvözlés SYSTEM "hello.dtd"> <köszöntés> Helló világ! </reeting>Itt a " SYSTEM "hello.dtd"" egy külső azonosító: a "hello.dtd" cím lehetővé teszi, hogy a "hello.dtd" dokumentumban lévő adatokat jelölődeklarációként használja.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE üdvözlés [ <!ELEMENT üdvözlés (#PCDATA)> ]> <üdv> Helló világ! </reeting>Itt a jelölést helyileg deklarálták a !DOCTYPE.
Feldolgozási utasításA feldolgozási utasítások ( eng. processing instruction, PI ), lehetővé teszik, hogy az alkalmazásokhoz tartozó utasításokat helyezze el a dokumentumban. A következő példa egy xml-stylesheet feldolgozási utasítást mutat be, amely a my-style.css fájlban lévő utasításokat a href attribútumon keresztül egy xml-stylesheet alkalmazásnak (például böngészőnek) adja át:
<?xml-stylesheet type="text/css" href="my-style.css"?> KommentárA megjegyzések ( eng. comment ) nem vonatkoznak a dokumentum karakteradataira. A megjegyzés "<!--" sorozattal kezdődik és "-->" sorozattal végződik, a "--" karakterek kombinációja nem fordulhat elő benne. A & karakter nem használható jelölésként a megjegyzésekben.
Példa:
<!-- ez egy megjegyzés -->Az elem egy dokumentum logikai szerkezetének fogalma. Minden dokumentum egy vagy több elemet tartalmaz. Az elemek határait kezdő és záró címkék jelzik . Az elem kezdő és záró címkéjében szereplő elem nevének egyeznie kell. Egy elem ábrázolható üres elemcímkével is, azaz nem tartalmaz más elemeket és karakteradatokat.
A címke ( angolul tag ) egy jelölőkonstrukció, amely egy elem nevét tartalmazza.
Kezdőcímke: <element1>
Végcímke: </element1>
Üres elemcímke: <empty_element1 />
Egy elemben az attribútumok csak a kezdő címkében és az üres elemcímkében használhatók.
Példa egy XML-lel megjelölt receptre:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE recept> <recept neve= "kenyér" preptime= "5 perc" cooktime= "180 perc" > <title> egyszerű kenyér </title> <összetétel> <összetevők mennyisége= "3" egység= "pohár" > Liszt </ingredient> <összetevők mennyisége= "0,25" egység= "gramm" > Élesztő </összetevő> <összetevő mennyisége= "1,5" unit= "glass" > Meleg víz </ingredient> </composition> <instructions> <step> Az összes hozzávalót összekeverjük és alaposan összegyúrjuk. </step> <step> Zárja le egy ruhával, és hagyja egy órán át meleg szobában. </step> <!-- <step> Olvassa el a tegnapi újságot. </step> egy kétes lépés... --> <step> Újra összegyúrjuk, tepsire tesszük és a sütőbe tesszük. </step> </instructions> </recipe> CDATA szekcióA CDATA szakasz nem a szöveg logikai egysége. Egy szakasz a dokumentumban bárhol előfordulhat, ahol a szintaxis lehetővé teszi karakteradatok elhelyezését. A szakasz kezdődik <![CDATA[és véget ér ]]>. E jelölés között karakteradatok találhatók; A karakteradat tehát < > &közvetlen formájukban tartalmazza a karaktereket.
A jól formázott dokumentum megfelel minden XML-dokumentumra vonatkozó általános XML szintaktikai szabálynak : helyes dokumentumstruktúra, egyező nevek a kezdő és záró elemcímkében stb. A nem megfelelően formázott dokumentum nem tekinthető dokumentum xml-nek.
Dokumentum példa:
<?xml version="1.0" encoding="UTF-8"?> <!-- bejelentkezési képernyő --> <edsscript> <sequence name= "start" > <action cmd= "triggeron" > bt* </action> <action cmd= "triggeron" > msg_generic </action> <action cmd= "disablenbb" > összes </action> <action cmd= "setscrtext" > @@System Giris@@ </action> <action cmd= "enablenbb" > előre, főmenü </action> <action cmd= "switchmsgtarget" > LOGIN_DLG </action> <action cmd= "sendmsg" > Rajt </action> <action cmd= "ugrás" > 2. lépés </action> </sequence> <sequence name= "step2" > <action cmd= "waittrigger" > btnforward </action> <action cmd= "triggeron" > Belépés* </action> <action cmd= "disablenbb" > összes </action> <action cmd= "sendmsg" > jelölje be </action> </sequence> <trigger name= "login_succeded" > <condition type= "appmsg" > login_succeeded </condition> <sequence> <action cmd= "endscript" /> </sequence> </trigger> <trigger name= "login_unknownuser" > <condition type= "appmsg" > login_unknownuser </condition> <sequence name= "login_unknownuser" > <action cmd= "disablenbb" > összes </action> <action cmd= "setscrtext" > @@hata@@ </action> <action cmd= "showhtml" > generic_neg.htm,@@Yanlış kullanıcı ismi@@,@@Lütfen kullanıcı ismini doğru giriniz.@@ </action> <action cmd= "enablenbb" > vissza </action> <action cmd= "waittrigger" > btnback </action> <action cmd= "ugrás" > Rajt </action> </sequence> </trigger> <trigger name= "login_incorrectpwd" > <condition type= "appmsg" > login_incorrectpwd </condition> <sequence name= "login_incorrectpwd" > <action cmd= "disablenbb" > összes </action> <action cmd= "setscrtext" > @@hata@@ </action> <action cmd= "showhtml" > generic_neg.htm,@@Hatalı parola@@,@@Lütfen parolanızı doğru giriniz.@@ </action> <action cmd= "enablenbb" > vissza </action> <action cmd= "waittrigger" > btnback </action> <action cmd= "ugrás" > Rajt </action> </sequence> </trigger> <!-- általános triggerek --> <trigger name= "btnback" > <condition type= "buttonclick" > vissza </condition> <sequence name= "btnback" > <action cmd= "triggeron" > btnback </action> </sequence> </trigger> <trigger name= "btnforward" > <condition type= "buttonclick" > előre </condition> <sequence name= "btnforward" > <action cmd= "triggeron" > btnforward </action> </sequence> </trigger> <trigger name= "btnmainmenu" > <condition type= "buttonclick" > főmenü </condition> <sequence> <action cmd= "jumpscript" > <value label= "mainmenuscript" range = "local" /> </action> </sequence> </trigger> <trigger name= "btnquitapp" > < condition type= "buttonclick" > kilép az alkalmazásból </condition> <sequence name= "btnquitapp" > <action cmd= "callscript" > quitapp.xml </action> <action cmd= "ugrás" > Rajt </action> </sequence> </trigger> <trigger name= "error_generic" > <condition type= "appmsg" > hiba* </condition> <sequence> <action cmd= "showhtml" > errdsc_null.htm,@@Hata@@ </action> <action cmd= "disablenbb" > összes </action> <action cmd= "enablenbb" > előre </action> <action cmd= "waittrigger" > btnforward </action> <action cmd= "endscript" /> </sequence> </trigger> <trigger name= "msg_generic" > <condition type= "appmsg" > msg_generic </condition> <sequence> <action cmd= "showhtml" > generic_msg.htm </action> <action cmd= "triggeron" > msg_generic </action> </sequence> </trigger> <!-- A rendszer egy kezeletlen kivételt dob a kemény kód oldaláról. --> <trigger name= "error_hardcodeside" > <condition type= "appmsg" > error_hardcodeside </condition> <sequence> <action cmd= "triggeroff" > * </action> <action cmd= "triggeron" > btnmainmenu </action> <action cmd= "triggeron" > btnquitapp </action> <action cmd= "disablenbb" > összes </action> <action cmd= "enablenbb" > főmenü </action> <action cmd= "showhtml" > errdsc_null.htm,Hata, @@İşlem sırasında bir hata meydana geldi.@@ </action> <action cmd= "waittrigger" > btnmainmenu </action> </sequence> </trigger> </edscript>Ez a rész összefoglalja a W3C ajánlásainak néhány, a dokumentumokkal való munkával kapcsolatos rendelkezését. A megfelelő ajánlások vonatkozhatnak mind az XML dokumentumokra, mind a dokumentumok szélesebb osztályára. Általában hivatkozások találhatók a W3C által ajánlott dokumentumkezelő eszközökhöz.
A specifikáció előírja, hogy a processzorok legalább két Unicode kódolást támogassanak: UTF-8 és UTF-16 .
Az XML specifikáció meghatározza az XML processzor és az alkalmazás fogalmát . Az XML processzor ( parser ) egy olyan program, amely elemzi a jelöléseket, és egy dokumentum szerkezetére vonatkozó információkat továbbít egy másik programnak, egy alkalmazásnak.
Az XML-specifikáció bizonyos követelményeket támaszt a processzorral szemben, anélkül, hogy befolyásolná az alkalmazás követelményeit.
Egy bizonylat akkor érvényes , ha van hozzá társított bizonylattípus-definíció , és ha a bizonylat megfelel a bizonylattípus-definícióban szereplő megkötéseknek.
Az XML processzorok két osztályba sorolhatók: érvényesítő és nem érvényesítő.
Az érvényesítő processzorok ellenőrzik a dokumentum érvényességét, és jelenteniük kell (a felhasználó választása szerint) a dokumentumtípus-definícióban szereplő korlátozások megsértését.
A nem érvényesítő feldolgozók nem ellenőrzik a bizonylat érvényességét, de a fent említett irat-előfeldolgozási feladatok rájuk maradnak.
A sémanyelvek a dokumentumtípusok leírására szolgálnak . Mivel az XML az SGML nyelv egy részhalmaza , örökli az SGML-hez kifejlesztett dokumentumtípus-meghatározási ( DTD ) nyelvet. Később más sémanyelveket fejlesztettek ki, a legismertebb az XML Schema , a RELAX NG .
Az XSLT -t arra tervezték, hogy megoldja az XML-dokumentumok másik sémává vagy más formátumba való átalakításának problémáját .
Formázott dokumentumhoz (megjelenítésre előkészített dokumentumhoz) az XSL-FO formátumot használják .
Az XPath egy szintaxis egy fa formájában ábrázolt dokumentum tartalmának címezésére. Az XPath kifejezések az XQuery nyelvben használatosak . Az XPath kifejezések általában minden olyan környezetben használhatók, ahol megfelelő a faelemekre való formális hivatkozások használata, különösen a dokumentumelérési interfészek metódusainak paramétereiként.
Az XQuery egy dokumentum-orientált programozási nyelv.
Három API -lehetőség létezik az XML olvasására [12] .
Event API ( eseményvezérelt API, push-stílusú API ) - XML-processzor olvassa az XML-t; egy bizonyos eseménynél (nyitó vagy záró címke, szöveges karakterlánc, attribútum megjelenése) a visszahívási függvény meghívódik.
Stream API (szintén pull-style API ) – I/O adatfolyamok módjára elrendezve . Az alkalmazás kódja az XML részeit kéri a processzortól, amely csak az XML-en keresztül haladhat előre, elfelejtve a már átadott részeket.
Object API ( Document Object Model , DOM, "dokumentumobjektum modell") - beolvassa az XML-t, és objektumstruktúraként újra létrehozza a memóriában.
Léteznek hibrid API-k is: a külső és nem fontos részek beolvasása a stream metódussal történik, míg a belső és fontos részek az objektum metódussal.
Példa kódra (C++, kitalált API) xml :: StreamReader olvasó ( "in.xml" ); std :: string név , érték ; olvasó . enterTag ( "dokumentum" ); while ( olvasó . getTag ( " dolog " ) { xml :: Elem * elThing = olvasó . readEntireSubtree (); dolgokat . emplace_back (); Dolog és dolog = dolgok . vissza (); dolog . név = elThing . requestStringAttr ( "név" ); dolog . érték = elThing . szöveg (); }A Direct Write API címkénként, attribútumonként írja az XML-címkéket.
Object API , más néven Document Object Model .
Az XML minden modern programozási nyelvhez rendelkezik elemző implementációkkal [17] .
CSS vagy XSL használata nélkül az XML-dokumentum a legtöbb webböngészőben egyszerű szövegként jelenik meg. Egyes böngészők, például az Internet Explorer , a Mozilla Firefox és az Opera (az Opera beépített Dragonfly eszköze ) a dokumentumszerkezetet faként jelenítik meg, lehetővé téve a csomópontok összecsukását és kibontását egérkattintással.
CSS-stílusok alkalmazásaA folyamat hasonló a CSS -nek egy HTML -dokumentum megjelenítéséhez történő alkalmazásához. A böngészőben megjelenített CSS alkalmazásához az XML-dokumentumnak tartalmaznia kell egy speciális hivatkozást a stíluslapra. Például:
<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>Ez eltér a HTML megközelítéstől, amely a <link> elemet használja.
Transzformációk alkalmazása XSL-FO formátumraA modern böngészők az XSLT-átalakításokat végrehajtó eszközök közé tartoznak. A böngészőben általában egy ilyen átalakítást hajtanak végre a dokumentum formázásához (a dokumentum átalakítása XSL-FO formátumba). Az XML-dokumentum prológusának következő utasítása utasítja a böngészőt a transform.xsl fájlban leírt XSLT-átalakítás végrehajtására:
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>Egy XML-dokumentummal dolgozhat normál szövegszerkesztőben, de a normál szerkesztők nem támogatják a dokumentum szerkezetét. Vannak speciális XML-szerkesztők , amelyek kényelmesebbé és hatékonyabbá teszik a dokumentumokkal való munkát.
A DB2 adatbázis-kezelő rendszer lehetővé teszi az adatok XML formátumban történő tárolását, és hozzáférést biztosít ezekhez az adatokhoz az XQuery nyelv használatával.
Az XML-t alacsony hardver-, firmware- és szoftverszinten támogatják a modern hardvermegoldások [18] .
Az XML egy jelölőnyelv, más szóval egy dokumentum leírásának eszköze. A dokumentumok, szövegek résében van, ahol a heterogén karakteradatok aránya nagy, és a jelölések aránya kicsi - az XML sikeres. Másrészt az adatcsere a nyílt rendszerekben nem korlátozódik a dokumentumok cseréjére. Az XML jelölés redundanciája (és nyelvi tervezési okokból kifejezetten kimondják, hogy a tömörség nem a projekt prioritása) olyan helyzeteket érint, amikor az adatok nem illeszkednek a hagyományos dokumentummodellbe. Az XML szintaxissal ( RSS , Atom formátumok ) formázott hírfolyam például nem a hagyományos értelemben vett dokumentum, hanem azonos típusú minidokumentumok folyama – a bőbeszédű és a redundáns jelölés ebben az esetben lényeges része. a továbbított adatokról.
A W3C aggódik az XML hatékonysága miatt, és az illetékes munkacsoportok vizsgálják ezt a kérdést (2013 elejéig még nem dolgoztak ki normatív dokumentumokat).
Egy másik helyzet, amikor az XML formátumok nem a legjobb megoldás, ha egyszerű szerkezetű és kis mennyiségű karakteres adattal (adatmezőkkel) dolgozunk. Ebben az esetben a jelölések aránya a teljes mennyiségben nagy, és az XML programozott feldolgozása indokolatlanul költséges lehet az egyszerűbb szerkezetű adatokkal való munkavégzéshez képest. Ezen a területen a fejlesztők olyan natív adatorientált eszközöket keresnek, mint az INI , YAML , JSON .
A W3C egy szkriptnyelv létrehozásán dolgozik az XML-lel való munkavégzéshez (2013 elejére nem készültek szabályozási dokumentumok).
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Termékek és szabványok |
| ||||||||||||||
Szervezetek |
| ||||||||||||||
TOVÁBB |
| ||||||||||||||
Konferenciák |
|
szemantikus web | |
---|---|
Alapok | |
alszakaszok |
|
Alkalmazások |
|
Kapcsolódó témák | |
Szabványok |
|
Web és weboldalak | |
---|---|
globálisan | |
Helyileg | |
Webhelyek és szolgáltatások típusai |
|
Alkotás és karbantartás | |
Elrendezések, oldalak, webhelyek típusai | |
Műszaki | |
Marketing | |
Társadalom és kultúra |
Dokumentum jelölőnyelvek | |
---|---|
irodai dokumentumok | |
közismert | |
Kevésbé ismert |