XML-perusteet. 3 XML-merkintäkieli



Samankaltaiset tiedostot
P e d a c o d e ohjelmointikoulutus verkossa

Epäyhtälön molemmille puolille voidaan lisätä sama luku: kaikilla reaaliluvuilla a, b ja c on voimassa a < b a + c < b + c ja a b a + c b + c.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML johdatus: DTD. Jaana Holvikivi

Lisää segmenttipuusta

2.2 Täydellinen yhtälö. Ratkaisukaava

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

M. Merikanto 2012 XML. Merkkauskieli, osa 2

Käyttöjärjestelmät: Virtuaalimuisti

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Hae Opiskelija käyttöohje

Oletetaan, että funktio f on määritelty jollakin välillä ]x 0 δ, x 0 + δ[. Sen derivaatta pisteessä x 0 on

XML rakenteen suunnittelu. Jaana Holvikivi

Sähköpostiohjeet. Tehokas ja huoleton sähköposti

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

Johdatus rakenteisiin dokumentteihin

MS-A Matriisilaskenta Laskuharjoitus 3

monissa laskimissa luvun x käänteisluku saadaan näyttöön painamalla x - näppäintä.

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

MAA10 HARJOITUSTEHTÄVIÄ

Extensible Stylesheet Language (XSL)

Merkintöjen tekeminen pohjakuvaan Libre Officella v.1.2

Massaeditorikoulutus KANSALLISKIRJASTO - Kirjastoverkkopalvelut

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Johdatus diskreettiin matematiikkaan Harjoitus 7,

Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena

Verkkosivut perinteisesti. Tanja Välisalo

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Matematiikan tukikurssi 3.4.

XML-perusteet. 2 Rakenteiset dokumentit. 2.1 XML-standardi

8 XSLT-muunnoskieli XSLT-muunnoskieli

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

c) Määritä paraabelin yhtälö, kun tiedetään, että sen huippu on y-akselilla korkeudella 6 ja sen nollakohdat ovat x-akselin kohdissa x=-2 ja x=2.

Testitapaukset. Hannu Hautakangas Nikolai Koudelia Joel Lehtonen Johan Nysten. Versio 0.1 Julkinen

VUOSI-ILMOITUS TYÖNANTAJAN VUOSI-ILMOITUKSEN MAKSAJAKOHTAISET TIEDOT (VSPSVYHT)

(x 0 ) = lim. Derivoimissääntöjä. Oletetaan, että funktiot f ja g ovat derivoituvia ja c R on vakio. 1. Dc = 0 (vakiofunktion derivaatta) 2.

Kuntosaliharjoittelun kesto tunteina Kokonaishyöty Rajahyöty

Sonera Hosted Mail -palvelun käyttöohje

XML / DTD / FOP -opas Internal

Windows Live SkyDrive - esittely

-versiot) Mozilla Firefox Safari Chrome. selaimista. Windows. Windows. Vista. Windows

Kuvapankki Imagebank Independent

Webforum. Version 16.2 uudet ominaisuudet. Päivitetty:

Merkkien ja merkkijonojen käsittelyä Javalla

OHJ-1151 Ohjelmointi IIe

SKYPE-RYHMÄN LUOMINEN

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti

(UlQNl\QWLl3RKMRODVVD

1 / 11. Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto. Pikaopas Maxwelliin. ARK-A2500 DA-alkeet Elina Haapaluoma, Heidi Silvennoinen Syksy 2015

Tietokannan rakenteen suunnittelu

3. Muuttujat ja operaatiot 3.1

Esimerkkejä derivoinnin ketjusäännöstä

TW- EAV510: WDS- TOIMINTO KAHDEN TW- EAV510 LAITTEEN VÄLILLÄ

Aluksi Kahden muuttujan lineaarinen epäyhtälö

Trust PhotoCam 1300 TRUST PHOTOCAM Pika-asennusohje. Versio 1.0

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen

Excel PowerPivot. PowerPivot

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Luento 2: XML:n syntaksi

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

AC-HOST-vinkkejä eape3 Milla Ahola 2014

9 XML perusteet

Luento 7: XML-ohjelmointirajapinnat

Arkkitehtitoimistojen Liitto ATL ry Julkisten hankintojen lainsäädännön vaikutus arkkitehtipalveluihin Kesä-elokuu 2010, vastaajia: 66

Web-teknologiat. XML-datan kysely Topi Sarkkinen

AJOK/KEAJ/IAJOK. Koetallennus

Hyvällä mielellä vai pahalla päällä!

Moodle HOPS-työskentelyn tukena

Johdatus L A TEXiin. 6. Omat komennot ja lauseympäristöt Markus Harju. Matemaattiset tieteet

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista.

Väli- ja loppuraportointi

Diskreetit rakenteet

Ala- ja loppuviite. Viitteen lisääminen

6 XML-työkalut 1. 6 XML-työkalut

Lue ohjeet huolellisesti ennen laitteen käyttöä.

11.4. Rakenteellista käsittelyä tilavuusrenderöintialgoritmeissa

Mobiiliturva Palvelun käyttöönotto

Graafinen ohjeisto ( )

SUOMALAISET PK-YRITYKSET EIVÄT LUOTA PILVIPALVELUIHIN

Optima: kirjoitusalue työkalu Opettajalle ohjeet

Lastensuojelun edunvalvonnan tarpeen arvioiminen lastensuojeluprosessissa Marjukka Heikkilä

Kesäkuu Synkka Tuote Pakkaushierarkia yksittäin ja monipakkauksissa myytäville tuotteille

Asenna myös mikroskopian lisäpala (MBF ImageJ for Microscopy Collection by Tony Collins)

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen

Paikallissivuston kumppanin starttipaketti

Työtapaturman ilmoittaminen 2016-> Uusi sähköinen lomake, täyttäminen esimies ja palkkahallinto

Algoritmit ja tietorakenteet Copyright Hannu Laine. 1, kun n= 0. n*(n-1)!, kun n>0;

Java-kielen perusteet

MITÄ JAVASCRIPT ON?...3

Installation instructions, accessories. Kattolaatikko. Volvo Car Corporation Gothenburg, Sweden. Ohje nro Versio Osa nro

Suunnistaminen peukalokompassilla Peukalokompasseissa on eroa

Avaruus eli stereoisomeria

Esiopetuksen arvot. Arvokysely tammikuu 2015

Ajankohtaista tukien maksamisesta

Nuorten tieto- ja neuvontatyön osaamiskartta Pirjo Kovalainen

TG8200NE_QG_(fi-fi).fm Page 1 Friday, September 7, :21 PM. Koukut ( V, 50 Hz)

Derivaatta, interpolointi, L6

Transkriptio:

12 XML-perusteet 3 XML-merkintäkieli XML on merkintäkieli eikä ohjelmointikieli. XML-dokumenttia kirjoitettaessa pitää tuntea XML-kielen syntaksia. Kuvassa 3.1 on esimerkki XML-dokumentista. Ensimmäisellä rivillä on XML-versio (version), kirjaimisto (encoding) ja ulkoinen riippuvuus (standalone). Dokumentin juurielementti on KIRJA, jonka lapsielementit ovat TEKIJA, NIMI ja KUSTANTAJ. Elementillä TEKIJA on lapsielementti NIMI. Elementillä on sekä alku- ja loppukoodi. Elementin KIRJA alkukoodi on <KIRJA> ja loppukoodi </KIRJA. Elementin tietosisältö on alku- ja loppukoodin välinen osa. Alkukoodissa voi myös olla attribuutteja esimerkiksi seuraavasti <imc src= hello.gif alt= hello world > tai <henkilo id= 99923 >. Kuvassa 3.2 dokumentti 03-01.xml on avattu kansiosta C:\xml Internet Explorer 5 -selaimella. Internet Explorer 5 osaa näyttää sivun täydellisesti vasta sen jälkeen, kun sivuun on liite tty XSL- tai CSS-tyylipohja. Kuva 3.1 XML-dokumentti 03-01.xml Kuva 3.2 XML-dokumentti 03-01.xml on avattu IEE 5 -selaimella

3 XML-merkintäkieli 13 3.1 Kommentit XML-kommentti on samankaltainen kuin HTML:ssä. Se alkaa merkkijonolla <!-- ja päättyy merkkijonoon -->. XML-prosssori jättää kaikki alku- ja loppukommenttimerkkien välissä olevan osan käsittelemättä. Kommentit eivät voi edeltää XML-määritystä eli riviä, jossa on <?xml version= 1.0 standalone= yes?>. Kommentteja ei saa sijoittaa merkintäkoodien sisään. Kommenteilla voidaan ympäröidä ja piilottaa merkintäkoodeja. Komentin sisällä ei saa esiintyä kahta yhdysmerkkiä (--). [2] 3.2 Entiteettiviittaukset Entiteettiviittaukset ovat merkintöjä, jotka korvataan merkkimuotoisella tiedolla dok u- mentin jäsennyksessä. XML:n ennalta määritettyjä entiteettiviittauksia on viisi. Viittaus & tarkoittaa merkkiä &, viittaus < on merkki aidosti pienempi kuin (<), viittaus > on merkki aidosti suurempi kuin (>), viittaus " on lainausmerkki ( ), viittaus &apos; on pilkku (,). 3.3 CDATA Useimmissa tapauksissa merkkien aidosti pienempi kuin (<) ja aidosti suurempi kuin välillä on merkintäkoodia (tag). Kaikki muu on merkkimuotoista tietoa yhtä poi k- keusta lukuun ottamatta, joka on osio CDATA. Osiossa CDATA kaikki merkit ovat merkkimuotoista tietoa eikä XML-prosessori erota tässä osassa merkintäkoodeja tai entiteettiviitauksia. Osiota käytetään, kun halutaan, että kaikki merkit tulkitaan tekstiksi. CDATA-osioissa ei saa kuitenkaan esiintyä merkkijonoa ]]>, joka päättää osion. 3.4 Merkintäkoodit Jokaisella merkintäkoodilla pitää olla nimi. Nimi on merkkijono, joka alkaa kirjaimella tai alaviivalla (_).Muut merkit voivat olla kirjaimia, numeroita, alaviivoja, tavuviivoja ja pisteitä. Nimessä ei saa olla välilyöntejä. 3.5 Elementit Jokaisella XML-dokumentilla on yksi ja vain yksi juurielementti (document element). Kaikki muut elementit ovat lapsielementtejä (child element). Jokaisella lapsielementillä on isäelementti (parent element). XML-kielen elementtien (elements) tunnistamiseen käytetään tunnistimia ja erottimia (delimiters). Tunnisteissa merkki < on alkutunnisteen avaava erotin, merkkijono </ on lopputunnisteen avaava erotin, merkki > on tunnisteen sulkeva erotin ja merkkijono /> on tyhjän tunnisteen sulkeva erotin.

14 XML-perusteet Jos elementin nimi on KIRJA, niin <KIRJA> on elementin aloittava tunniste ja </KIRJA on elementin lopettava tunniste. Elementin alku- ja lopputunnisteen väliin jäävä osa on elementin sisältö. Elementin alku- ja lopputunnisteessa esiintyvä el e- mentin nimen pitää aina olla sama. XML-dokumentissa voidaan käyttää myös tyhjiä elementtejä. Esimerkiksi <kuva/> tarkoittaa tyhjää elementtiä kuva. [3] 3.6 Attribuutit Aloitus- ja lopetuskoodeissa voi olla attribuutteja. Attribuutit ovat nimi- ja arvopareja, joissa nimen ja arvon välissä on yhtäsuuruusmerkki (=). Tarkastellaan esimerkiksi attr i- buuttimääritystä <tervehdys kieli="suomi">, missä < on alkutunnisteen avaava erotin, tervehdys on elementin nimi, kieli on attribuutin nimi, = on arvon osoitin, on literaalisen merkkijonon erotin, suomi on attribuutin arvo ja > on alkutunnisteen sulkeva erotin. Attribuutin nimi on merkkijono, joka noudattaa samoja sääntöjä kuin merkintäkoodin n i- mi. Attribuutin nimi pitää alkaa kirjaimella tai alaviivalla (_). Muut merkit voivat olla kirjaimia, numeroita, alaviivoja, tavuviivoja ja pisteitä. Attribuutin arvo on myös merkkijono, joten attribuuttimäärityksessä <TUKKI PITUUS= 35 > elementin TUKKI attribuutin PITUUS arvona on kahden merkin mittainen merkkijono, jonka merkit ovat 3 ja 5. Attribuutin arvona ei siis ole kokonaisluku 35. 3.7 Entiteetit Loogisella tasolla esitettynä XML-dokumentti koostuu johdannosta ja juurielementistä, joka seuraa johdantoa ja joka sisältää kaikki muut elementit. Käytännössä XMLdokumentin varsinaiset tiedot voivat olla useassa eri tiedostossa. XML-dokumentin osia sisältäviä tallennusyksiköitä kutsutaan entiteeteiksi. Entiteetti voi olla tiedosto, tiet o- kannan tietue tai mikä tahansa tietoja sisältävä yksikkö. XML-määrityksen, dokumentin tyyppimäärityksen ja juurielementin sisältävä tallennusyksikkö on dokumenttientiteetti. 3.8 XML-dokumentin looginen rakenne HTML käyttää merkintäkoodeja ikään kuin ne olisivat kytkimiä, jotka vaihtavat tyyliä. Alkukoodi laittaa ominaisuuden voimaa. Tällainen ominaisuus voi olla alleviivaus <U>. Loppukoodi </U> laittaa ominaisuuden pois päältä. XML käyttää alku- ja loppukoodeja ympäröimään asioita. Alkukoodi, tietosisältö ja loppukoodi muodostavat yhdessä elementin. Elementit ovat osia, joista XML-dokumentti on rakennettu. Joka isessa XMLdokumentissa saa olla siis vain yksi juurielementti. Muiden elementtien täytyy olla tä y- sin elementin sisällä. Tämä tarkoittaa, että jos elementti sisältää muita elementtejä, ni i- den täytyy olla kokonaan tämän elementin sisällä. Kuvan 3.3 XML-dokumentin 03-02.xml looginen rakenne (logical structure) on esitetty kuvassa 3.4.

3 XML-merkintäkieli 15 Kuva 3.3 XML-dokumentti 03-02.xml Kuva 3.4 XML-dokumentin 03-02.xml looginen rakenne

16 XML-perusteet Kuvasta 3.4 nähdään, että dokumentilla on puumainen rakenne, jossa juurielementti <KIRJAT> on puun latvassa tai juuressa tarkastelutavasta riippuen. Kaikki tämän el e- mentin sisältämät elementit ovat siististi toistensa sisällä. XML-dokumentissa saa olla vain yksi juurielementti ja sen edessä tai jäljessä ei saa olla mitään elementtejä, jotka ovat osittain tai kokonaan ulkopuolella. Elementtien välisiä suhteita voisi selventää sanomalla, että elementti on sen sisältä i- en elementtien vanhempi (parent). Elementit, jotka ovat toisen elementin sisällä ovat tämän elementin lapsia (children). Elementit, joilla on sama vanhempi ovat sisaruksia (siblings). Kuvasta 3.4 nähdään, että <KIRJAT> on kaikkien muiden elementtien vanhempi, <TE- KIJA> on <NIMI>-elementin vanhempi, <KUSTANTAJA> on <KIRJA>-elementin lapsi sekä <TEKIJA> ja <KUSTANTAJA> ovat sisaruksia. Kun elementtipuuta tarkastellaan alaspäin, niin huomataan, että kaikkien lapsielementtien täytyy olla täysin vanhempielementin sisällä. Sisaruselementit eivät saa olla toistensa päällä. Elementtien järjestelyä XML-dokurnentissa kutsutaan siis loogiseksi rakenteeksi. Se u- raavassa tarkastellaan XML-dokumentin fyysistä rakennetta (physical structure). Dokumentti on oikeamuotoinen (well-formed) ja käyttökelpoinen, jos XML-dokumentin looginen ja fyysisen rakenne ovat synkroniset (synchronous). Rakenteiden täytyy toisin sanoen täydellisesti ja kunnolla sijaita toistensa sisällä. 3.9 XML-dokumentin fyysinen rakenne Yksi XML:n avainkäsite on entiteetti (entity). XML:ää voi ymmärtää kunnolla vain, jos ymmärtää mitä entiteetit ovat. Entiteetit ovat paljon tärkeämpiä kuin elementit, kun määritellään miten XML-prosessori käsittelee XML-koodia. Tässä vaiheessa riittää, että entiteettiä tarkastellaan fyysisenä säilytysyksikkönä. Se on objekti, vaikka itse asiassa useimpia entiteettejä voi yleensä ajatella erillisinä tietokoneen tiedostoina. Entiteetti on olennaisesti informaatioyksikkö, mutta virallisesti XML-kielen määrittelyissä entiteetti on säilytysobjekti (storage object). Tämä objekti voi olla elementti tai XML ENTITY objekti, joka tavallisesti on jäsentämätön ulkoinen tiedosto. Tärkein entiteetti on dokumenttientiteetti eli juurientiteetti, joka jakautuu loogisesti elementteihin. Entiteetit voivat viitata (reference) muihin entiteetteihin ja aiheuttaa niiden sisältymisen XML-dokumenttiin. Entiteettiviittausten yhteydessä tarkasteltiin ennalta määriteltyjä entiteettejä, joita käytettiin merkkausmerkkien kiertämiseen normaalitekstissä. Ne ovat i t- se asiassa sisäisiä entiteettejä. Katsotaan nyt yksinkertaista viittausta kuvatiedostoon <tausta source="maisema.jpg"/>, joka on yleinen HTML:llä tehdyillä verkkosivuilla. Tässä tausta-elementin source-attribuutti viittaa ulkoiseen entiteettiin maisema.jpg, joka on kuvatiedosto. Kuvatiedosto ei sisälly kyseiseen dokumenttiin. Jos tämä olisi HTML-koodia, kuva näkyisi selaimessa tässä kohtaa dokumenttia. XML-termejä käyttäen kuvatiedostoa kutsutaan jäsentämättömäksi entiteetiksi (unparsed entity). XMLprosessori jättää huomiotta entiteetin sisällön ja siirtää sen edelleen sovellukselle.

3 XML-merkintäkieli 17 XML-dokumentti voi sisältää entiteettejä, joissa on XML-koodia, tekstiä, HTMLkoodia ja melkein mitä tahansa. Riippuen siitä, miten XML-koodia sisältävä viitattu entiteetti identifioidaan, niin entiteetti voidaan jäsentää XML-prosessorilla aivan kuin ko o- di olisi alkuperäisessä dokumentissa eli juurielementissä. Edelleen tämä XML-entiteetti voi viitata toiseen entiteettiin jne. Aivan kuten elementtienjärjestäminen tuottaa loogisen rakenteen, samoin entiteeteistä syntyy fyysinen rakenne. Oletetaan, että sisällytetty entiteetti sisältää myös elementtejä. Tämä ei vaikuta pinnallisesti katsoen erityisellä ongelmalta. Siitä todellakin tulee ongelma, jos sisällytetty entiteetti sisältää elementtejä, joissa on samoja elementtityy p- pien nimiä kuin juuren entiteetissä tai muissa entiteeteissä olevilla elementeillä ja lisä k- si sovelluksen täytyy havaita niiden erot. Tämä ongelma on ratkaistu mekanismilla, jota kutsutaan nimiavaruuksiksi. Edelleen tilanteessa, jossa juurientiteetissä on elementin aloitustunniste ja viitataan sen sisällä ulkoiseen entiteettiin. Jos tämä ulkoinen entiteetti sisältää lopputunnisteen elementille, joka avattiin, niin looginen rakenne on pilalla. Näiden ongelmien esiintymistä on rajoitettu sillä, että XML-entiteettien loogisen ja fy y- sisen rakenteen täytyy olla synkroniset: loogiset entiteetit eivät voit ylittää fyysisten entiteettien rajoja ja fyysisten entiteettien täytyy olla täysin loogisten entiteettien sisällä. Toisinaan on vaikea selvittää, onko näin. Jos vastaus on ei, niin seurauksena saattaa olla monia ongelmia. Tämä vaatimus on ominainen vain XML:lle. SGML- tai HTMLkoodaajille tämä on ehkä hankalin asia käsittää ja yleisin virheiden lähde.

Tiedostonimi: XML-03.DOC Hakemisto: D:\EVITECH\MONISTE\XML\XML03 Malli: C:\Ohjelmatiedostot\Microsoft Office\Mallit\Normal.dot Otsikko: Aihe: Tekijä: Pasi Ranne Avainsanat: Kommentit: Luontipäivä: 12.07.01 10:21 Version numero: 9 Viimeksi tallennettu: 24.07.01 13:06 Viimeksi tallentanut: Pasi Ranne Kokonaismuokkausaika: 18 minuuttia Viimeksi tulostettu: 31.07.01 11:55 Viimeisestä täydestä tulostuksesta Sivuja: 6 Sanoja: 1 553 (noin) Merkkejä: 8 855 (noin)