Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
?HTML-ben a Flash átméretezés torzul
Eredeti mezőnevek lekérdezése
?Input mezőből visszakapott adat probléma
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
Cikkek
»Bevezetés a genetikus algoritmusokba
»Bevezetés az adatkezelésbe
»Bevezetés a CSS alapjaiba
»GroupWise-kiegészítők készítése Python-ban
»Aspektus-orientált programozás
» több cikk
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Cikkek

»

Adatbázisok

»

XML

»

Érvényes XML dokumentumok létrehozása

A sorozat további cikkei:
szerző: balazsy, idő: 2004.06.03., értékelés: 5 (3 szavazat)
  Betűméret növelése Betűméret csökkentése Kapcsolódó fórum Felvétel kedvencekhez Küldés emailben Nyomtatható verzió
Az XML-t bemutató sorozatunkban ezúttal az érvényes XML dokumentum létrehozásával, ellenőrzésével és értelmezésével, a dokumentum típus definíció (DTD) létrehozásával, az elemtípusok és jellemzők deklarációjával, valamint a névterek és egyedek deklarálásával és használatával ismerkedünk meg.
Érvényes XML dokumentum létrehozása, ellenőrzése és értelme

Mielőtt megismerkednénk a dokumentum típus definíció létrehozására használandó nyelv szintaktikájával, határozzuk meg, mely dokumentumok nevezhetők érvényesnek.
   Érvényes XML dokumentumnak nevezzük azon jólformázott XML dokumentumokat, melyek logikai felépítése és tartalma teljes mértékben megegyezik az XML dokumentumban meghatározott (vagy külső fájlban meghatározott és az XML dokumentumhoz csatolt) szabályoknak. Ezen szabályok megfogalmazhatóak (megírhatóak) Dokumentum Típus Definíció (rövidebb nevén DTD) vagy XML-séma (cikksorozat következő részében fogjuk tárgyalni) segítségével.

Az XML dokumentumok érvényességének ellenőrzését maga a böngésző nem végzi el a dokumentum értelmezésekor, csupán jólformázottsági ellenőrzést hajt végre a dokumentumon és az esetleges DTD-n (amennyiben tartalmaz ilyet a dokumentum). Az XML dokumentum érvényességének ellenőrzése a feldolgozó program (például egy weblapszkript) feladata. Az esetleges érvényességi hibák esetén hibaüzenetet kapunk, de a dokumentum feldolgozása folytatódhat. A következőkben bemutatunk egy rövidke weblapszkriptet JavaScript nyelvben megírva, amely segítségével nagyon egyszerűen megállapíthatjuk, hogy a dokumentum érvényes-e vagy sem:

<HTML>
<HEAD><TITLE>DTD szerinti érvényesség-ellenőrző</TITLE>

<SCRIPT LANGUAGE="JavaScript">

function DTD_ellenor(DSO_obj)
{
  if(DSO_obj.XMLDocument.parseError.errorCode != 0)
   {
    var msg;
    msg = "Hibaszám: "     + DSO_obj.XMLDocument.parseError.errorCode + "\n"
       + "fájlpozíció: "   + DSO_obj.XMLDocument.parseError.filepos   + "\n"
       + "sor: "           + DSO_obj.XMLDocument.parseError.line      + "\n"
       + "karakter: "      + DSO_obj.XMLDocument.parseError.linepos   + "\n"
       + "leírás: "        + DSO_obj.XMLDocument.parseError.reason    + "\n"
       + "forrás szöveg: " + DSO_obj.XMLDocument.parseError.srcText   + "\n"
       + "URL: "           + DSO_obj.XMLDocument.parseError.url;         

    return alert(msg);
   }else return alert("OK");
}       
</SCRIPT>

</HEAD>
<BODY onLoad="DTD_ellenor(document.getElementById('DSO_obj'))">

<!--Az SRC tulajdonságnak adjuk meg az ellenőrizendő XML dokumentum URL-jét: -->
<XML ID="DSO_obj" SRC="Leltar Ervenyes.xml"></XML>

<H2>DTD-t használó érvényesség-ellenőrző</H2>

</BODY>
</HTML>
A forrással kapcsolatban érjük be annyival, hogy az XML objektum SRC tulajdonságában adjuk meg az ellenőrizni kívánt XML dokumentum elérési útját (URL). A weblap böngészőben való megnyitása után hibajelentést kapunk az érvényességi hibákról, ellenkező esetben az "OK" üzenet értesít arról, hogy a dokumentum érvényes! Ezen szkript magyarázatába azért nem kívánok belebonyolódni, mivel a cikksorozat későbbi részeiben részletesen fogunk foglalkozni a DSO és weblapszkriptek használatával.

Bizonyára sokakban felmerült a kérdés, vajon mire is jó ez a sok felesleges munka?
Vegyünk rögtön egy példát:
Gondolom sokak számára ismerős a wml kiterjesztés. Akiknek mégsem, azoknak elárulom, hogy a WAP (mobil internet) oldalalak leírására szolgáló jelölőnyelv. Egy WML dokumentum nem más, mint egy DTD-vel ellátott XML dokumentum. Ilyen oldalat bárki bármikor írhat, viszont a feldolgozó szoftver egy bizonyos adatstruktúrát vár el az összes feldolgozandó dokumentumtól. A DTD segítségével biztosítva van, hogy a megírt vagy feldolgozni kívánt dokumentum megfelel az elvártaknak. Ráadásul az egyes DTD-k ismerete alapján bárki készíthet érvényes dokumentumot vagy akár feldolgozó alkalmazást, vagyis a DTD nem más mint egy tervrajz az XML dokumentumokhoz. A DTDnek tartalmazni kell az összes elemet és  jellemzőt, amelyet a dokumentum tartalmazhat.

Küldés emailben Küldés emailben Nyomtatható verzió Nyomtatható verzió
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Hack100
»Riha60
»Akhiles50
»mrchandra50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen