Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Hernyák Zoltán XML validálás.

Hasonló előadás


Az előadások a következő témára: "Hernyák Zoltán XML validálás."— Előadás másolata:

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:


Letölteni ppt "Hernyák Zoltán XML validálás."

Hasonló előadás


Google Hirdetések