[[oktatas:számítástechnika|< Számítástechnika]] ====== DTD ====== * **Szerző:** Sallai András * Copyright (c) 2009, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Blokkok létrehozása az XML dokumentumban ===== A következő jelölőkből épülhet fel egy XML dokumentum: *elemek *tulajdonságok *elemzett adat (PCDATA) *adat (elemzés nélkül; CDATA) A HTML nyelvben elemekre példa a "body" és az "img". Egy XML dokumentumban például "megjegyzés" "üzenet", stb. Az elemek tartalmazhatnak szöveget, vagy újabb elemeket, de maradhatnak üresen is. Üres elemek a HTML nyelvben például a következők: "hr", "br" és az "img". Például:
szöveg <üzenet>szövegüzebnet> ===== Tulajdonságok ===== A tulajdonságok, másként attribútumok az elemekről még több információt adnak számunkra. A tulajdonságot mindig egy elemen belül hozunk létre, és mindig név és érték párokból épül fel.
A példában az elem neve az "img". Az tulajdonság az "src". A tulajdonság értéke "kep.jpg".
A végén az elem önmagát zárja, mivel üres elem.
===== Entitások (Egyedek) =====
Néhány karakternek speciális jelentése van az XML-ben, olyanok mint a (<). Ez a karakter például egy
tag kezdetét határozza meg.
A HTML is tartalmaz ilyen egyedeket (entitás), például a " ". Ez egy nem törhető szóközt jelöl.
Az XML-ben ezek előre definiáltak:
^ Entitás ^ Jelentés ^
| < | < |
| > | > |
| & | & |
| " | " |
| ' | ' |
===== PCDATA =====
A PCDATA jelentése elemzett karakteres adat (parsed character data).
Egy nyitó és egy záró elem közzé tesszük tartalomként.
Az PCDATA egy olyan szöveg amely elemezhető szöveget
tartalmazhat. A szöveg különböző entitásokat tartalmazhat.
Az entitásokat & vezeti be a szövegben. Így ez nem szerepelhet önálló karakterként.
De ilyen a <, > karakterek is.
Helyettük: < és >
===== CDATA =====
A CDATA jelentése karakteres adat (character data).
Nem tartalmaz elemzett részeket, nincsenek benne jelölök. Mindent úgy értelmezünk, ahogy az meg van adva.
===== DTD elemek =====
A DTD elemeket ELEMENT deklarációval adunk meg.
==== Elemek deklarálása ====
Egy DTD-ben az XML elemek megadása a következő szintaxis szerint történik:
vagy
==== Üres elemek ====
Üres elemeket az EMPTY kategóriával adunk meg.
Például:
XML példa:
==== Csak egy gyermekelem megadása ====
Példa:
Az üzenet gyermekelem csak egyszer szerepelhet a jegyzet elemben belül.
==== Egy elem minimum egyszer vagy többször ====
Példa:
A + jel azt jelenti, az elem többször is szerepelhet a jegyzet elemen beül, de egyszer minimum kötelező
szerepelnie.
==== Egy elem nullaszor vagy többször ====
Példa:
A * azt jelenti, hogy az "üzenet" elem többször is szerepelhet a "jegyzet" elemen belül, de ha egyszer sem
szerepel az sem baj.
==== Egy elem nullaszor vagy egyszer ====
Example:
A ? karakter azt jelenti az "üzenet" gyermekelem vagy egyszer szerepelhet, vagy egyszer sem a "jegyzet" elemen
belül.
==== Mindkettő/vagy megadása ====
Példa:
A példában a "jegyzet" elemnek tartalmaznia kell egy "kezdes", egy "vége", egy fej elemet és végül
vagy egy "üzenet" vagy egy "törzs" elem jön.
==== Kevert tartalom megadása ====
Példa:
A példában a "jegyzet" elem tartalmazhat nulla vagy több elemzett karaktert, "kezdet", "vége",
"fej" vagy "üzenet" elemet.
===== Tulajdonságok =====
Tulajdonságok vagy attribútumok meghatározása
==== Tulajdonság deklaráció ====
Az tulajdonság deklarációnak a következő a szintaktikája:
DTD példa:
XML példa:
Anna
Nagy
nő
Anna
Nagy
==== A legjobb út ====
A legjobb talán az adatokat gyermekelemekben tárolni.
A következőkben három XML dokumentumot látunk, amely ugyanazokat az információkat tárolják.
=== Tulajdonság használata ===
Emese
Jani
Emlékeztető
Ne feledkezz meg rólam a hétvégén!
=== Második példa ===
2011-10-03
Emese
Jani
Emlékeztető
Ne feledkezz meg rólam a hétvégén!
=== Legjobb példa ===
12
11
2002
Emese
Jani
emlékeztető
Ne feledkezz meg rólam a hétvégén!
===== Entitások használata =====
Az entitásokat változóként használjuk, amelyek gyorsbillentyűként szolgálnak
szabványos szövegek vagy speciális karakterek beillesztésére.
Az entitást internal és external módon deklaráhatunk.
==== Belső entitás deklaráció ====
=== Szintaktika ===
Példa
DTD példa:
XML példa:
&cr;&szerzo;
Megjegyzés: Egy entitás három részből áll: egy ampersand (&), egy név, és egy pontosvessző (;)
==== Külső entitás deklaráció ====
=== Szintaktika ===
Példa
DTD példa:
XML példa:
&cr;&szerzo;
===== Link =====
* http://www.w3schools.com/dtd/dtd_elements.asp