XMLDTD osa 3 Teppo Risnen http www oamk

  • Slides: 18
Download presentation
XML/DTD – osa 3 Teppo Räisänen http: //www. oamk. fi/~teraisan/ Teppo. raisanen@oamk. fi

XML/DTD – osa 3 Teppo Räisänen http: //www. oamk. fi/~teraisan/ Teppo. raisanen@oamk. fi

Johdantoa n n n DTD (Document type definition) määrittää XML-dokumentin elementit Dokumentin on vastattava

Johdantoa n n n DTD (Document type definition) määrittää XML-dokumentin elementit Dokumentin on vastattava DTDmäärityksiä ollakseen validi DTD voidaan kirjoittaa n n samaan dokumenttiin kuin XML-sisällöt Ulkopuoliseen linkitettävään dokumenttiin

Esimerkki – sivunsisäinen DTD <? xml version="1. 0"? > <!DOCTYPE testi [ <!ELEMENT elem

Esimerkki – sivunsisäinen DTD <? xml version="1. 0"? > <!DOCTYPE testi [ <!ELEMENT elem (ala 1, ala 2)> <!ELEMENT ala 1 (#PCDATA)> <!ELEMENT ala 2 (#PCDATA)> ]> <elem> <ala 1>testi</ala 1> …

Esimerkki – ulkoinen DTD <? xml version="1. 0"? > <!DOCTYPE testi SYSTEM ”testi. dtd">

Esimerkki – ulkoinen DTD <? xml version="1. 0"? > <!DOCTYPE testi SYSTEM ”testi. dtd"> <elem> <ala 1>testi</ala 1> …

XML-rakenteet n DTD kuvaa XML-dokumentin seuraavilla kokonaisuuksilla: n n n Elementit Attribuutit Entiteetit PCDATA

XML-rakenteet n DTD kuvaa XML-dokumentin seuraavilla kokonaisuuksilla: n n n Elementit Attribuutit Entiteetit PCDATA

Elementit n n Elementit ovat XML-dokumentin perusyksiköitä Elementit voivat sisältää n n n Toisia

Elementit n n Elementit ovat XML-dokumentin perusyksiköitä Elementit voivat sisältää n n n Toisia elementtejä Tekstiä TAI olla nk. tyhjiä elementtejä

Elementit n n n Elementin nimi on vapaasti päätettävissä Samannimisten elementtien sisällöt ovat merkitykseltään

Elementit n n n Elementin nimi on vapaasti päätettävissä Samannimisten elementtien sisällöt ovat merkitykseltään samanlaisia esim. <viesti> => Viestejä ihmiseltä ihmiselle

Attribuutit (= määritteet) Attribuuteilla annetaan lisätietoja elementeistä n Attribuutit kuvataan avain-arvo –pareina esim. <viesti

Attribuutit (= määritteet) Attribuuteilla annetaan lisätietoja elementeistä n Attribuutit kuvataan avain-arvo –pareina esim. <viesti tyyppi=”tarkea”> n

Entiteetit n n Entiteetittien avulla parametrisoidaan sisältöjä HTML: ssä käytetään esim. entiteettiä &nbsp =>

Entiteetit n n Entiteetittien avulla parametrisoidaan sisältöjä HTML: ssä käytetään esim. entiteettiä &nbsp => ”non-breaking space” XML-standardissa on valmiiksi määritelty seuraavan dian entiteetit

XML: n entiteetit Viittaus < > & " &apos; Merkki < > & ”

XML: n entiteetit Viittaus < > & " &apos; Merkki < > & ” '

Entiteetit n n Entiteettien viittaukset tulkitaan XMLdokumentin parsimisvaiheessa Entiteettien käyttö voi olla myös esim.

Entiteetit n n Entiteettien viittaukset tulkitaan XMLdokumentin parsimisvaiheessa Entiteettien käyttö voi olla myös esim. n n omien vakiomerkkijonojen nimeämistä ja liittämistä viittauksia ei-XML-dokumentteihin (äänet, kuvat, ohjelmat)

PCDATA ja CDATA n PCDATA n n n Elementin alku- ja lopputagin väliin sijoitettavaa

PCDATA ja CDATA n PCDATA n n n Elementin alku- ja lopputagin väliin sijoitettavaa parsittavaa tekstiä Sisäkkäiset elementit parsitaan myös CDATA n ei-parsittavaa tekstiä

Elementtien määrittelyt n Riippuen siitä, sisältääkö elementti sisäkkäisisä elementtejä, se määritellään joko n n

Elementtien määrittelyt n Riippuen siitä, sisältääkö elementti sisäkkäisisä elementtejä, se määritellään joko n n <!ELEMENT nimi tyyppi> TAI <!ELEMENT nimi (sisällöt)>

Elementtien määrittelyt n Tyhjät elementit kuvataan avainsanalla EMPTY n n esim. <!ELEMENT br EMPTY>

Elementtien määrittelyt n Tyhjät elementit kuvataan avainsanalla EMPTY n n esim. <!ELEMENT br EMPTY> 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. <!ELEMENT teksti (#PCDATA)> n

Elementtien määrittelyt Pelkkää merkkidataa sisältävät elementit kuvataan #PCDATA-määreellä, esim. <!ELEMENT teksti (#PCDATA)> n

Attribuuttien määrittelyt n Attribuutit määritellään seuraavasti: <!ATTLIST nimi attribuutin-tyyppi oletusarvo> n Esimerkiksi <!ATTLIST viesti

Attribuuttien määrittelyt n Attribuutit määritellään seuraavasti: <!ATTLIST nimi attribuutin-tyyppi oletusarvo> n Esimerkiksi <!ATTLIST viesti tyyppi CDATA ”tarkea”>

Attribuuttien määrittelyt DTD-määrittely: <!ELEMENT tyhja EMPTY> <!ATTLIST tyhja leveys CDATA ” 50"> XML-dokumentissa: <tyhja

Attribuuttien määrittelyt DTD-määrittely: <!ELEMENT tyhja EMPTY> <!ATTLIST tyhja leveys CDATA ” 50"> XML-dokumentissa: <tyhja leveys="100" />

Attribuuttien määrittelyt n Lisäksi attribuuttien ilmentymiin voidaan vaikuttaa ’implied’, ’required’ ja ’fixed’ avainsanoilla, esim.

Attribuuttien määrittelyt n Lisäksi attribuuttien ilmentymiin voidaan vaikuttaa ’implied’, ’required’ ja ’fixed’ avainsanoilla, esim. DTD: <!ATTLIST viesti tyyppi CDATA #REQUIRED> validi XML: <viesti tyyppi=”tarkea"> ei-validi XML: <viesti>