DTD Teppo Risnen http www oamk fiteraisan Liiketalouden

  • Slides: 27
Download presentation
DTD Teppo Räisänen http: //www. oamk. fi/~teraisan/ Liiketalouden yksikkö

DTD Teppo Räisänen http: //www. oamk. fi/~teraisan/ Liiketalouden yksikkö

Yleistä n DTD n n Document Type Definition Sillä määritellään mitä n n n

Yleistä n DTD n n Document Type Definition Sillä määritellään mitä n n n elementtejä (=tageja) attribuutteja entiteettejä ja dataa XML-dokumentissa voi olla

Yleistä n Elementtejä (=tageja) n n Attribuutteja n n <viesti pvm=” 4. 11. 2010”>

Yleistä n Elementtejä (=tageja) n n Attribuutteja n n <viesti pvm=” 4. 11. 2010”> Entiteetit n n <nimi>Teppo</nimi> ä Dataa n <nimi>Teppo</nimi>

Yleistä n n n Voidaan määritellä omassa tiedostossaan tai XML-dokumentin sisällä Jos määritellään XML-dokumentin

Yleistä n n n Voidaan määritellä omassa tiedostossaan tai XML-dokumentin sisällä Jos määritellään XML-dokumentin sisällä pitää käyttää seuraavaa syntaksia <!DOCTYPE root-element [elementdeclarations]>

Esimerkki <? xml version="1. 0"? > <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body>

Esimerkki <? xml version="1. 0"? > <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note […]> <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note […]> <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note [ <!ELEMENT note (to, from, heading,

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note [ <!ELEMENT note (to, from, heading, body)> ]> <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note [ <!ELEMENT note (to, from, heading,

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note [ <!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> ]> <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note> PCDATA tarkoittaa “Parsed Character Data”

Esimerkki n n XML-dokumentti voi sisältää kahta erityyppistä dataa PCDATA n n n “Parsed

Esimerkki n n XML-dokumentti voi sisältää kahta erityyppistä dataa PCDATA n n n “Parsed Character Data” Datan sisältämät elementit ja entiteetit tulkitaan elementteinä ja entiteettinä Esim jos data sisältää merkin ä se tulkitaan ä-kirjaimeksi Lähtökohtaisesti käytetään PCDATAa CDATA n n ”Character Data” Datan sisältämät elementit ja entiteetit tulostetaan sellaisenaan Esim jos data sisältää merkin ä sitä ei tulkita ä-kirjaimena vaan se printataan sellaisenaan Käytetään lähinnä attribuuttien yhteydessä

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note [ <!ELEMENT note (to, from, heading,

Esimerkki <? xml version="1. 0"? > <!DOCTYPE note [ <!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

Esimerkki n DTD määrittelyt voi olla myös ulkoisessa tiedostossa note. xml: <? xml version="1.

Esimerkki n DTD määrittelyt voi olla myös ulkoisessa tiedostossa note. xml: <? xml version="1. 0"? > <!DOCTYPE note SYSTEM "note. dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

Esimerkki n DTD määrittelyt voi olla myös ulkoisessa tiedostossa note. dtd: <!ELEMENT note (to,

Esimerkki n DTD määrittelyt voi olla myös ulkoisessa tiedostossa note. dtd: <!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

Esimerkki <!ELEMENT note (to, from, heading, body)> n n to, from, heading ja body

Esimerkki <!ELEMENT note (to, from, heading, body)> n n to, from, heading ja body tagien pitää löytyä note-elementin sisältä Niiden täytyy esiintyä järjestyksessä to, from, heading ja body <!ELEMENT note (message+)> n Noten sisältä täytyy löytyä yksi tai useampi message-elementti <!ELEMENT note (message*)> n Noten sisältä voi löytyä nolla, yksi tai useampi message-elementti <!ELEMENT note (message? )> n Noten sisältä voi löytyä nolla tai yksi message-elementti <!ELEMENT note (to, from, header, (message|body))> n Noten sisältä pitää olla to, from ja header sekä message tai body

DTD attribuutit n Attribuutit tarjoavat lisätietoa elementeistä n <img src='data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20415%20289%22%3E%3C/svg%3E' data-src=”computer. gif” />

DTD attribuutit n Attribuutit tarjoavat lisätietoa elementeistä n <img src=”computer. gif” />

DTD attribuutit n Muodollinen syntaksi n n n <!ATTLIST element-name attribute-type default-value> Element-name viittaa

DTD attribuutit n Muodollinen syntaksi n n n <!ATTLIST element-name attribute-type default-value> Element-name viittaa siihen elementtiin, mille haluamme tehdä attribuutin Attribute-name on haluttu nimi

DTD attribuutit n <!ATTLIST element-name attribute-type default-value>

DTD attribuutit n <!ATTLIST element-name attribute-type default-value>

DTD attribuutit n <!ATTLIST element-name attribute-type default-value>

DTD attribuutit n <!ATTLIST element-name attribute-type default-value>

DTD attribuutit <note date=“ 4. 11. 2010”> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body>

DTD attribuutit <note date=“ 4. 11. 2010”> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

DTD attribuutit <!ELEMENT note (to, from, heading, body)> <!ATTLIST note date CDATA #REQUIRED> <note

DTD attribuutit <!ELEMENT note (to, from, heading, body)> <!ATTLIST note date CDATA #REQUIRED> <note date=“ 4. 11. 2010”> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

DTD attribuutit <note date=“ 4. 11. 2010”> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body>

DTD attribuutit <note date=“ 4. 11. 2010”> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note> <date>4. 11. 2010</date> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

DTD attribuutit <note> <day>4</day> <month>11</month> <year>2010</year> </date> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body>

DTD attribuutit <note> <day>4</day> <month>11</month> <year>2010</year> </date> <to>Teppo</to> <from>Aila</from> <heading>Reminder</heading> <body>Pay me more salary!</body> </note>

DTD attribuutit n Nyrkkisääntö on että metadata kannattaa laittaa attribuutiksi, “oikea” data elementeiksi n

DTD attribuutit n Nyrkkisääntö on että metadata kannattaa laittaa attribuutiksi, “oikea” data elementeiksi n n Metadata on “tietoa tiedosta” Viestillä voisi olla vaikka juokseva id-numero, joka tallennetaan attribuuttiin

Entiteetit n Entiteettien syntaksi n <!ENTITY entity-name ”entity-value”> n <!ENTITY writer ”Teppo”> <!ENTITY copyright

Entiteetit n Entiteettien syntaksi n <!ENTITY entity-name ”entity-value”> n <!ENTITY writer ”Teppo”> <!ENTITY copyright ”OAMK”> n <author>&writer; &copyright; </author> n

Entiteetit n Vakiot < > & ” ’ n = = = < >

Entiteetit n Vakiot < > & ” ’ n = = = < > & " &apos; &-merkki + nimi + ;

Miksi DTD? n XML-dokumenttien verifiointi n n Onhan dokumentissa kaikki kentät Tiedonsiirto n n

Miksi DTD? n XML-dokumenttien verifiointi n n Onhan dokumentissa kaikki kentät Tiedonsiirto n n Ohjelmat vaihtavat tietoja monesti XML: n avulla, jolloin on hyvä tietää missä formaatissa tiedot on lähetettävä Toimii myös ihmisten kesken

Harjoitus n Tee DTD määrittely seuraavalle XML: lle <opiskelija> <nimi > <etunimi /> <sukunimi

Harjoitus n Tee DTD määrittely seuraavalle XML: lle <opiskelija> <nimi > <etunimi /> <sukunimi /> </nimi> <opiskelijanumero /> <aloitusvuosi /> </opiskelija>

Validaattori n http: //www. w 3 schools. com/xml_val idator. asp

Validaattori n http: //www. w 3 schools. com/xml_val idator. asp