DTD Dokumentumtípus definició

Hasonló dokumentumok
Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint Bevezetés a nyelvtechnológiába 2. gyakorlat szeptember 20.

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

Az XML alapjai BME VIK BSc. Intelligens Rendszerek ágazat, Kooperatív rendszerek labor

XML sémák, adatmodellezés

Az XML alapnyelv. dr. Paller Gábor. XML technológiák

Az XML szabvány. Az XML rövid története. Az XML szabvány

Orvos Bejelentő Program (OBP) rekordkép 2. verzió XML formátum

XML sémanyelvek Jeszenszky, Péter

Az XML 1.0 szabvány. tanulmány. Készítette: Mészáros Tamás. Budapest, BME Méréstechnika és Információs Rendszerek Tanszék

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

Az XML dokumentumok adatmodellje

Lekérdezések az SQL SELECT utasítással

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

Az XML Bevezetés. Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Utolsó módosítás:

Formális nyelvek és automaták

Adatmodellezés. 1. Fogalmi modell

A szoftver és hardverfüggetlen adatbázis

XML. Document Type Definitions (DTD) XML séma

BASH script programozás II. Vezérlési szerkezetek

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

XML és XSLT (a színfalak mögül)

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

XML az Extensible Markup Language (Kiterjeszthet jelöl nyelv) szavak rövidítése. XML a World Wide Web Konzorcium (W3C) ajánlása, amely kompatíbilis

KML Keyhole Markup Language

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

KOVÁCS BÉLA, MATEMATIKA I.

Az XML kidolgozásakor a fejlesztés szempontjait tíz pontban foglalták össze:

CSS3 alapismeretek. Bevezetés a CSS-be. Mi is az a CSS? Alkalmazási formái, szintaxisa

Magas szintű adatmodellek Egyed/kapcsolat modell I.

az XML egy leírónyelv, másnéven meta-nyelv, mely segítségével új nyelveket írhatunk le egy XML dokumentum egy ilyen nyelvnek a példánya, a formális

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Interfészek. PPT 2007/2008 tavasz.

H N S A d a t K a p c s o l a t

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

XmlGessünk 13. rész - Az XML Schema II.

A normaszöveg Wordben történő szerkesztése során a következőkre figyelemmel lenni:

3. SZÁMÚ MELLÉKLET. Elektronikus számla - XML definíciók. a) Számla. 1. ábra Számla

XML. XML dokumentumok alapszerkezete. XML ( / ) 5

Adatbázismodellek. 1. ábra Hierarchikus modell

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

DIPLOMAMUNKA. Szűcs Béla. Debrecen PDF processed with CutePDF evaluation edition

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

Írásjelek helyes szedése. Szabó Csaba. Mondatvégi írásjelek. Központozás. Kötőjelfélék. Szabó Csaba november 18.

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

C programozási nyelv

Az XML-DTD áttekintése

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Adatbázisrendszerek 7. előadás: Az ER modell március 20.

EXtensible Markup Language (XML) 1.0 XML 1.0. Az angol változat nyersfordítása. Készült az Elektronikus Kereskedelmi Fórumban

34. Elsődleges kulcs megadása XMLSchema-ban Idegen kulcs megadása XMLSchema-ban Típusok kategóriái és saját típus megadásának

Bevezetés: az SQL-be

Regionális forduló november 19.

A PiFast program használata. Nagy Lajos

Regionális forduló november 19.

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved.

AWK programozás, minták, vezérlési szerkezetek

AWK programozás Bevezetés

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Occam 1. Készítette: Szabó Éva

Csima Judit október 24.

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

BASH SCRIPT SHELL JEGYZETEK

Formális nyelvek és automaták

Web-fejlesztés NGM_IN002_1

1. Alapok. #!/bin/bash

Adatbázis rendszerek 2. előadás. Relációs algebra

ColourSMS Protokol definíció. Version 1.2

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

Java II. I A Java programozási nyelv alapelemei

Regionális forduló november 18.

Az egyed-kapcsolat modell (E/K)

ADATBÁZIS-KEZELÉS. Relációs modell

1. Az XML és XHTML nyelvek. Az XML leíró nyelv Szabályok XHTML írásra. Tartalom Az XML leíró nyelv

Adatbázisok elmélete 12. előadás

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Forráskód formázási szabályok

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Az XCZ állományban szereplő állományok nevének UTF-8 kódolásúnak kell lennie. Probléma esetén használjon ékezet nélküli állományneveket.

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Térképek jelentése és elemzése

Listák, szótárak, fájlok Listák, szótárak, fájlok

Savaria Egyetemi Könyvtár Katalógusa. Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

ADATBÁZISKEZELÉS ADATBÁZIS

Kezelési útmutató Szabvány, törvény, rendelet megtekintése

Adatbázis rendszerek Definíciók:

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

Átírás:

DTD Dokumentumtípus definició

XML sémák - alapok jól formázott egy XML dokumentum, ha betartja a formai követelményeket minden nyitó címkének van záró párja az attribútumok ténylegesen kulcs-érték alakúak É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 segítségével

Dokumentumtípus definíció (DTD) Lehetővé teszi megszorítások definiálását a dokumentum logikai szerkezetére, valamint tárolási egységek használatát Megadása a dokumentumtípus deklarációban (külső, belső vagy mindkettő) Jelölés deklarációkat tartalmaz

pl. a wml kiterjesztés 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.

Érvényesség (1) Érvényességről akkor beszélhetünk, ha van dokumentumtípus deklaráció A dokumentum érvényes, ha megfelel a DTD által előírt megszorításoknak Az elemek tartalma és az elemek attribútumai kell hogy megfeleljenek a DTDben leírt megszorításoknak, továbbá vannak magukra a jelölés deklarációkra is bizonyos előírások Számos érvényességi megszorítást ír elő a szabvány, amelyeknek teljesülnie kell

Érvényesség (2) Dokumentum érvényessége nagyjából az alábbiakat jelenti: A gyökérelem neve megegyezik a dokumentumtípus deklarációban adott névvel Minden elem pontosan egyszer deklarált a DTD-ben, és tartalma megfelel a deklarációkban leírtaknak Minden elem minden attribútuma deklarált a DTDben, és az attribútumok értékeinek típusai a deklarációknak megfelelnek Ha egy elem egy attribútuma kötelezőként definiált, akkor az elem minden előfordulásánál meg van adva az attribútum

Jelölés deklarációk Elemtípus deklaráció Attribútum-lista deklaráció Entitás deklaráció

Külső és belső DTDk Azon DTDket, amelyeket az XML dokumentum közvetlenül tartalmaz, nevezzük belső DTD alkészletnek, azokat, amelyekre csak hivatkozás van az XML dokumentumban nevezzük külső DTD alkészletnek. A külső és belső DTD alkészletek együttes használata is lehetséges. A végső DTD a külső és belső DTD uniója lesz. Többszörös deklaráció esetén a belső DTD élvez nagyobb prioritást, tehát felülírja az azonos külső DTD alkészletben szereplő deklarációt.

Linkek zvon.org - The Guide to the XML Galaxy Szövegfeldolgozás XML alapokon - Bíró Szabolcs Az XML 1.0 ajánlás - Jeszenszky Péter prog.hu - Érvényes XML dokumentumok létrehozása Tanuljuk meg az XML használatát 24 óra alatt (Michael Morrison)

<?xml version="1.0" encoding="utf-8"?> <!ELEMENT Polcok (Polc+)> <!ELEMENT Polc (Konyv+)> <!ATTLIST Polc ID ID #REQUIRED> <!ELEMENT Konyv (Szerzo?, Masodik_szerzo?, Szerkeszto?, Cim, Sorozat_cim?, Kiado, Megjelenes_eve+, Dedikacio?, Bejegyzes?, Megjegyzes?, OPAC?, Egyeb?)> <!ATTLIST Konyv id NMTOKEN #REQUIRED> <!ELEMENT Szerzo (#PCDATA)> <!ELEMENT Masodik_szerzo (#PCDATA)> <!ELEMENT Szerkeszto (#PCDATA)> <!ELEMENT Cim (#PCDATA)> <!ELEMENT Sorozat_cim (#PCDATA)> <!ELEMENT Kiado (#PCDATA)> <!ELEMENT Megjelenes_eve (#PCDATA)> <!ELEMENT Dedikacio (#PCDATA)> <!ELEMENT Bejegyzes (#PCDATA)> <!ELEMENT Megjegyzes (#PCDATA)> <!ELEMENT OPAC (#PCDATA)> <!ELEMENT Egyeb (#PCDATA)>

<?xml version="1.0" encoding="utf-8"?> <!ELEMENT Polcok (Polc+)> <!ATTLIST Polc ID ID #REQUIRED> <!ELEMENT Konyv (Szerzo?, Masodik_szerzo?, Szerkeszto?, Cim, Sorozat_cim?, Kiado, Megjelenes_eve+, Dedikacio?, Bejegyzes?, Megjegyzes?, OPAC?, Egyeb?)> <!ATTLIST Konyv id NMTOKEN #REQUIRED> <!ELEMENT Szerzo (#PCDATA)> A PCDATA, vagyis Parsed Character DATA kifejezésben a parsed (értelmezett) szó arra utal, hogy a dokumentumnak azt a részét az XML alkalmazás a feldolgozás során értelmezni fogja. Az XML dokumentumok szöveges tartalmának jelentős része ilyen értelmezett tartalom, beleértve a karakteregyedeket is. Az értelmezési folyamat során az alkalmazás először eldobja az összes fölösleges üres karaktert (szóköz, tabulátor), majd a karakteregyedeket azok megfelelőjével helyettesíti. A PCDATA ellentéte a CDATA (Character DATA), ami az XML alkalmazás által fel nem dolgozandó szöveget jelöl. Később megtanuljuk, pontosan mire is jó ez az utóbbi adattípus. Kerek zárójelek (()) - Gyermekelemek sorozatát (sequence) vagy egy választási csoportot (choice group) zárnak közre. Vessző (,) - Egy sorozat elemeit választja el egymástól. A sorozat az elemek kötelező sorrendjét írja elő. Szűrőkarakter ( ) - Az alternatívákat választja el egy választási csoportban. Nincs szimbólum - Azt jelzi, hogy egy gyermekelem pontosan egyszer fordulhat elő. Kérdőjel (?) - Azt jelzi, hogy a kérdéses gyermekelem pontosan egyszer fordulhat elő, vagy egyszer sem. Pluszjel (+) - Azt jelzi, hogy a gyermekelemnek legalább egyszer elő kell fordulnia. Csillag (*) - Az adott gyermekelem tetszőlegesen sokszor fordulhat elő.

Az ID problémája: Az ID elem a könyv esetében a bepecsételt azonosítószámmal egyenlő, ám ennek az XML fájlban szemantikailag nincs jelentősége, ezért áttettem azt jelölőnek. Ugyanígy jelölőt kapnak a polcok is. A polcok esetében az ID tokentípust, míg a könyv esetében a NMTOKEN típust alkalmaztam. Ennek az az oka, hogy a tulajdonságok teljesen megfeleljenek a könyvlista leírásainak, így a polcok megkaphatták a dolgozószoba d jelölését a polcszámozással együtt: <Polc ID="d11">, Ezzel szemben a könyveknél azt az azonosítót alkalmaztam, amit bepecsételtünk a könyvekbe azonosítás céljából. Ez egy négyjegyű számot jelent, ezért nem lehetett ID típusú csak NAMETOKEN típusú, amikor is lehetséges a jellemző bármilyen karakterrel, így akár numerikus karakterrel kezdeni. Ez nem lehetséges az ID esetében, mert ott az XML szigorúbb szabályai érvényesülnek.

Letöltések XML Notepad Butterfly XML Editor

Az alapértelmezett érték mellett az attribútumlista deklarációjának tartalmaznia kell az attribútumok típusát is. Összesen 10 különféle típust használhatunk: CDATA Nem értelmezett (unparsed) szöveges adat Enumerated Karakterláncok sorozata NOTATION Egy a DTD más pontján megadott jelölés ENTITY Külső bináris egyed ENTITIES Több különféle külső bináris egyes üres karakterekkel elválasztva ID Egyedi azonosító IDREF Egy a DTD más pontján deklarált ID-ra mutató hivatkozás IDREFS Több különböző, máshol deklarált ID-ra mutató hivatkozás NMTOKEN XML tokenekből (számok, betűk, pontok, kötőjelek, kettőspontok és aláhúzásjelek) felépített név NMTOKENS Több XML tokenekből felépített név Ahhoz, hogy megérthessük az attribútumtípusok közötti különbségeket, célszerű azokat három csoportra osztani. Vannak karakterláncok, felsorolt típusok és tokenizált típusok. A karakterláncok jelentik az attribútumok legközönségesebb és leggyakrabban használt típusát. Ide tartozik a CDATA típus, amely egy karakterláncból álló attribútumot takar. A következő példa azt mutatja, hogyan deklarálhatunk education elemhez tartozó CDATA típusú attribútumot: <!ATTLIST education school CDATA #REQUIRED> Ebben a példában annak az iskolának a nevét, amelyben az illető a tanulmányait végezte az education elem egy kötelezően megadandó attribútuma (school) hordozza. Ha az attribútum megadását opcionálissá akarjuk tenni, az #IMPLIED szimbólumot kell használnunk: <!ATTLIST education school CDATA #IMPLIED> A felsorolt típushoz tartozó attribútumok értéke csak bizonyos előre meghatározott halmazelemek közül kerülhet ki. A felsorolt típusok amúgy hasonlítanak a CDATA típushoz, a különbség csak annyi, hogy a deklaráció részeként lehetséges értékeket is meg kell adnunk egy felsorolás formájában. Korábbi példánknál maradva nézzük, miként adhatunk meg egy az illető végzettségének típusát tároló attribútumot (degree): <!ATTLIST education degree (associate bachelors masters doctorate) "bachelors">

Amikor egy dokumentumban a degree attribútumot használjuk, annak értékét a fent látható felsorolásból kell választanunk. Ha nem adunk meg semmit, még az attribútum nevét sem, akkor annak alapértelmezett értéke bachelors lesz. A tokenizált attribútumokat az XML alkalmazások nevüknek megfelelően tokenekként kezeik, vagyis eltávolítják előlük és mögülük az összes üres karaktert, a bennük előforduló több összefüggő üres karakterből álló részeket pedig egyetlen szóközre cserélik. Az üres részek eltávolításán túl az alkalmazás validálja is a tokenizált attribútumot annak deklarált típusa alapján. Ez utóbbi lehet ENTITY, ENTITIES, ID, IDREF, IDREFS, NMTOKEN, vagy NMTOKENS. A token az információnak az a legkisebb egysége, amit egy XML alkalmazás képes feldolgozni. A tokenizált attribútum ennek megfelelően olyan attribútum, amelynek értékét az alkalmazás ilyen tokenekre bontja. Az üres karakterek említett eltávolítása ennek a felbontásnak a mellékhatása. (Üresnek számít a szóköz, a tabulátor és az új sor.) A közönséges karakterláncok ezzel szemben feldolgozatlanul jutnak át a folyamaton, így az összes üres karakter is megmarad bennük. Az ENTITY és ENTITIES típusok egyedekre hivatkoznak. A képek tipikusan bináris egyedekként jelennek meg az XML dokumentumokban. Ilyen esetben az ENTITY kulcsszót használjuk a kép és az elem összerendelésre: <!ATTLIST photo image ENTITY #IMPLIED> Az ENTITIES típus hasonló az ENTITY-hez, de lehetővé teszi több egyed felsorolását. Az ID, IDREF és IDREFS attribútumtípusok egyedi azonosítókat jelölnek. Az ID olyan egyedi azonosító, amely segítségével egyedileg hivatkozhatunk a dokumentum valamely elemére: <!ATTLIST part id ID #REQUIRED> Egy adott elemtípushoz csak egyetlen ID típus tartozhat. Az NMTOKEN és NMTOKENS típusok olyan attribútumokkal kapcsolatban használatosak, amelyek név jellegű tokenértékeket hordoznak. A név jellegű tokenérték egyetlen nevet tartalmaz, vagyis nem lehet benne szóköz vagy bármely más üres karakter. Kicsit konkrétabban egy ilyen érték betűket, számokat és a következő karaktereket tartalmazhatja:., -, _ és :.