XML/DTD – osa 3 Teppo Räisänen
Johdantoa DTD (Document type definition) määrittää XML-dokumentin elementit Dokumentin on vastattava DTD- määrityksiä ollakseen validi DTD voidaan kirjoittaa samaan dokumenttiin kuin XML-sisällöt Ulkopuoliseen linkitettävään dokumenttiin
Esimerkki – sivunsisäinen DTD ]> testi …
Esimerkki – ulkoinen DTD testi …
XML-rakenteet DTD kuvaa XML-dokumentin seuraavilla kokonaisuuksilla: Elementit Attribuutit Entiteetit PCDATA CDATA
Elementit Elementit ovat XML-dokumentin perusyksiköitä Elementit voivat sisältää Toisia elementtejä Tekstiä TAI olla nk. tyhjiä elementtejä
Elementit Elementin nimi on vapaasti päätettävissä Samannimisten elementtien sisällöt ovat merkitykseltään samanlaisia esim. => Viestejä ihmiseltä ihmiselle
Attribuutit (= määritteet) Attribuuteilla annetaan lisätietoja elementeistä Attribuutit kuvataan avain-arvo – pareina esim.
Entiteetit Entiteetittien avulla parametrisoidaan sisältöjä HTML:ssä käytetään esim. entiteettiä   => ”non-breaking space” XML-standardissa on valmiiksi määritelty seuraavan dian entiteetit
XML:n entiteetit ViittausMerkki << >> && "” ''
Entiteetit Entiteettien viittaukset tulkitaan XML- dokumentin parsimisvaiheessa Entiteettien käyttö voi olla myös esim. omien vakiomerkkijonojen nimeämistä ja liittämistä viittauksia ei-XML-dokumentteihin (äänet, kuvat, ohjelmat)
PCDATA ja CDATA PCDATA Elementin alku- ja lopputagin väliin sijoitettavaa parsittavaa tekstiä Sisäkkäiset elementit parsitaan myös CDATA ei-parsittavaa tekstiä
Elementtien määrittelyt Riippuen siitä, sisältääkö elementti sisäkkäisisä elementtejä, se määritellään joko TAI
Elementtien määrittelyt Tyhjät elementit kuvataan avainsanalla EMPTY esim. Käyttötilanteessa tagi on muotoa (huom. välilyönti ennen kauttaviivaa)
Elementtien määrittelyt Pelkkää merkkidataa sisältävät elementit kuvataan #PCDATA- määreellä, esim.
Attribuuttien määrittelyt Attribuutit määritellään seuraavasti: Esimerkiksi
Attribuuttien määrittelyt DTD-määrittely: XML-dokumentissa:
Attribuuttien määrittelyt Lisäksi attribuuttien ilmentymiin voidaan vaikuttaa ’implied’, ’required’ ja ’fixed’ avainsanoilla, esim. DTD: validi XML: ei-validi XML: