Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Hernyák Zoltán http://aries.ektf.hu/~hz hz@aries.ektf.hu XML validálás
2
Az XML alapkövetelménye a jól formázottság Ha nem jól formázott, a feldolgozó szoftver be sem olvassa Ha jól formázott, még nem biztos hogy olyan a szerkezete, mint amilyet várunk A szerkezet persze betölthető, és ha nem feldolgozható, akkor a feldolgozó szoftver hibát jelezhet ki De egyszerűbb ha egy szabályrendszerrel írjuk elő a szerkezeti elvárásainkat A szabályrendszert a kliens is át tudja venni, és ellenőrízni tudja, hogy amit előállít, az megfelelő-e a nélkül, hogy a feldolgozó szoftverrel ténylegesen rendelkezne Így univerzális szerkezet-ellenőrző program írható, amelynek két paramétere van - egy konkrét xml file - egy szerkezet-leíró file (szintén xml formájú)
3
XML DTD DTD – Document Type Definition Szabályok gyűjteménye Megadja hogy kell az XML-nek megírva lennie XML struktúrát ír le (Jellemzően) külső file-ban tároljuk A benne szereplő szabályokat összevetjük egy konkrét XML dokumentummal Ezt végzi az XML PARSER jellegű program Ha az XML dokumentum megfelel a szabályoknak, azt mondjuk rá: VALID Egy XML dokumentumot a parser csak akkor tud ellenőrízni, ha jól formázott (well-formed)
4
XML – belső DTD A DTD leírást beszúrhatjuk az XML file belsejébe
5
XML – külső DTD Vagy csatolhatjuk külső file-ként is:
6
XML DTD DTD elem alakja:
7
XML DTD > Belső DTD leírás: Külső privát DTD file: Külső publikus DTD file: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” >
8
XML DTD Publikus DTD esetén: név (részek // elválasztva): prefix (előtag) ISO: ISO elfogadott név +: elfogadott, de nem ISO szabvány -: nem elfogadott, nem ISO szabvány a DTD tulajdonosa a DTD leírása ISO 639 nyelvi leírás uri: a DTD elérési útja, ha név alapján nem azonosítható <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” >
9
XML DTD – entitás definíció Entitás: név-érték páros Az entitás értékére nevével lehet hivatkozni &név; formában.
10
XML DTD – külső entitás definíció Az entitás értékét külső fileban is lehet tárolni:
11
XML DTD – NDATA külső entitás definíció Nem elemzett külső entitás-tartalom:
12
XML DTD – paraméter entitás Egy általános entitás nem használhtó a DTD definícióban, csak az XML-ben magában A paraméter entitás csak a DTD belsejében használható A paraméter entitás deklarációjában a % jel fel van tüntetve Ezt külső file-ban kell tartani!
13
XML DTD - elemleírás Elemleírás: name: az elem neve content-model: EMPTY: üres, nem lehet tartalma ANY: bármi lehet PCDATA: parsed character data (feldolgozott text) vagyis tartalmazhat gyerek-elemeket CDATA: plain text, szimpla szöveg, nem tartalmazhat gyerek elemeket
14
XML DTD - elemleírás HTML elem leírása: Konkrét gyerek elemek felsorolása (ebben a sorrendben): … …
15
XML DTD - elemleírás Előfordulhat (vagy 0 vagy 1 előfordulás): Pontosan egy előfordulás: Legalább egy (vagy 1 vagy több előfordulás): Tetszőleges sok (vagy 0, vagy 1, vagy több előfordulás):
16
XML DTD - elemleírás Vagy ez vagy az: Óvatosan kezeljük a * és egyéb karakterekkel: Kevert tartalom: Komplex példa:
17
XML DTD – példák
18
XML DTD – attribútum-leírás Attribútum-leírás: Általánosan:
19
XML DTD – attribútum-leírás !ATTLIST elem neve: a tartalmazó elem neve attribútum neve: az attribútum neve attribútum értéke: mi lehet a tartalma? flag: kötelező / lehetséges / …
20
XML DTD – attribútum-leírás Attribútum értéke lehet: CDATA: tetszőleges string Felsorolás: megadjuk a lehetésges értékeket NMTOKEN: (name token) az érték első betűje spec kar lehet csak NMTOKENS: felsorolás (white-space elválasztóval) ID: az érték egyedi kell legyen ezen XML-en belül IDREF: hivatkozás egy ID elemre (értékével) IDREFS: felsorolás ENTITY: egy entitás neve (lásd !ENTITY definiálás) ENTITIES: entitás-nevek felsorolása Attribútum flag lehet: #REQUIRED: kötelező megadni #IMPLIED: opcionális attribútum #FIXED: az értéket nem lehet megváltoztatni
21
XML DTD – CDATA példa
22
XML DTD – ID példa ID: ilyenből elemenként csak egy lehet csak #IMPLIED vagy #REQUIRED lehet az érték első karaktere betű, aláhúzás, vagy kettőspont lehet további karakterek: a..z, A..Z, 0..9, _, -, : az értéke egyedi kell legyen az XML dokumentumban
23
XML DTD – IDREF példa IDREF: csakis olyan értéke lehet, amely ID-ként szerepel valahol
24
XML DTD – ATTLIST felsorolás vagy kiírjuk minden attribútum definíciónál az elem nevét is vagy adott elemnévhez soroljuk fel az attribútumokat
25
XML DTD – felsorolás példa
26
XML DTD – NMTOKEN (name token) NMTOKEN: a tartalma akár xml tag név is lehetne névképzési szabályoknak meg kell felelnie a..z, A..Z, 0..9, _, -, : stb
27
XML DTD – alapértelmezett érték alapértelmezett: a status értéke csak normal vagy important lehet ha nincs kitöltve, akkor olyan, mintha normal lenne írva
28
XML DTD – fixed alapértelmezett érték Kitölteni sem érdemes, kötelezően ”monthly” értékű
29
XML DTD – ENITIÁSOK NMTOKEN: a tartalma akár xml tag név is lehetne névképzési szabályoknak meg kell felelnie a..z, A..Z, 0..9, _, -, : stb
30
XML DTD – feldolgozási utasítás Feldolgozási utasítás Tartalma „bármi” lehet A megnyitó alkalmazásnak szól
31
XML DTD – ![CDATA[ … ]] nem feldolgozandó
32
XML DTD – NOTATION megjegyzés NOTATION: nem feldolgozott tartalom típusát írja le
33
XML DTD – feladat FELADAT: készítsünk DTD-d az alábbi XML file-hoz csak elemek vannak benne útvonal: FELADAT: készítsünk DTD-d az alábbi XML file-hoz attribútumok is vannak benne: útvonal:
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.