XML
XML KOULUTUSTA VUONNA 2008
Kysy myös tuotekohtaisia koulutuksia, kuten Altova XMLSpy tai Cladonia Exchanger.
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi !
IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat
Yksinkertainen esimerkki xml-datan esittämisestä www-selaimessa
Alla olevassa esimerkissä kuvataan XML-datan avulla yksinkertaisen dokumentti sisältämä data. Dokumentin sisältö on XML:n normaalista hyödyntämisestä (=ohjelmallinen käsittely, datan vaihto sovellusten kesken) poiketen suunniteltu datan esittäminen www-selaimessa CSS-tyylimäärittelyjä hyödyntäen.
XML-data
Tallenna alla oleva tiedosto nimellä projekti.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- liitetään tyylimäärittely -->
<?xml-stylesheet type="text/css" href="testi2.css" ?>
<!-- varsinainen dokumentti -->
<artikkelidata>
<dokumentti otsikko="testi" kirjoittaja="Keijo Kortelainen" pvm="17.6.2000" tyyppi="webbisivu">
<kappale>Ensimmäinen kappale, jossa on jotain riittävän pitkää tekstiä, jotta saamme aikaiseksi rivikatkon. </kappale>
<kappale>Toinen kappale, jossa on jotain riittävän pitkää tekstiä, jotta saamme aikaiseksi rivikatkon. </kappale><muistiinpanot>Dokumenttia päivitetään noin kerran kuussa.</muistiinpanot>
</dokumentti>
</artikkelidata>
CSS
Jotta XML-data esitettäisiin HTML/XHTML-sivun tavoin www-sivulla, on käytettävä CSS-tiedostossa määriteltävä miten elementit esitetään (ovatko ne lohkoelementtejä vai rivinsisäisiä elementtejä). Muilta osin CSS-tyylimäärittelyjen käyttäminen XML:n kanssa ei juurikaan eroa normaalista www-sivujen yhteydessä käytöstä.
Tallenna alla oleva tiedosto nimellä projekti.css :
dokumentti {
display: block;
border:4px solid black;
width:50%;
font-family:Verdana;
}
kappale {
display: block;
margin: 0.5em;
}
muistiinpanot {
display: block;
background-color:red;
color:yellow;
margin:1em;
font-weight:bold;
}
Dokumentin katselu selaimen avulla
Kun avaat tiedoston projekti.xml www-selaimessa, pitäisi sinun nähdä sivu joka muistuttaa yksinkertaista HTML/XHTML-sivua. Selaimesta (ja selaimen asetuksista) riippuen on mahdollista, että näet erikoismerkit, kuten skandit, kysymysmerkkeinä tai neliöinä. Tämä johtuu siitä, että oletusarvoisesti XML-datassa käytettävät esimerkit tulisi esittää nk. entiteetteinä.
Jotta entiteetit saataisiin käyttöön, on dokumenttiin liitettävä joko DTD tai schema, jossa käytettävät entiteetit on määritelty. Vaihtoehtoisesesti erikoismerkit on esitettävä datassa W3C:n määrittelelemillä entiteeteillä, esim. ä kirjain esitetään entiteellä ä.
DTD-määrittely
DTD:n liittäminen dokumenttiin tapahtuu nk. !DOCTYPE - komennolla. Kyseessä on mm. HTML/XHTML-kielestä tuttu komentomäärittely. Komennon yhteyteen lisättävällä avainsanalla "SYSTEM" ilmaistaan, että kyseessä on yksityinen DTD-määrittely (toisin kuin esim. HTML:n julkinen (PUBLIC) määrittely), jota tulee etsiä määritetystä tiedostopolusta. !DOCTYPE-komento liitetään xml-dokumentin alkuun heti dokumenttityypin määrittävän PI-komennon jälkeen:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE artikkelidata SYSTEM "projekti.dtd">
<!-- liitetään tyylimäärittely -->
<?xml-stylesheet type="text/css" href="testi2.css" ?>
...
Itse DTD-määrittely tulee tallentaa tiedostoon projekti.dtd
<!-- juurielementilla voi olla n kappaletta lapsielementtia dokumentti -->
<!ELEMENT artikkelidata (dokumentti)+>
<!-- elementilla dokumentti on lapsielementit kappale ja muistiinpanot-->
<!ELEMENT dokumentti (kappale, muistiinpanot)>
<!-- dokumentilla voi olla parametreina pvm ja luokka, kirjoittaja pakollinen -->
<!ATTLIST dokumentti kirjoittaja CDATA #REQUIRED>
<!ATTLIST dokumentti pvm CDATA #IMPLIED>
<!ATTLIST dokumentti luokka CDATA #IMPLIED>
<!ELEMENT KAPPALE (#PCDATA)>
<!ELEMENT MUISTIINPANOT (#PCDATA)>
Yllä oleva tiedosto ei ole missään nimessä kattava DTD-määrittely yllä kuvatulle XML-datalle, vaan keskittyy ainoastaan elementtikuvauksiin ja jättää attribuuttirakenteet käsittelemättä.
Tutustu artikkelin muihin osiin:
»»» XML »»» XML-dokumentin rakenteen yleisesittely
»»» XML »»» XML-dokumentin dokumenttipuu
»»» XML »»» Hyvin muotoiltu ja validi XML-data
»»» XML »»» DTD ja schemat
»»» XML »»» Pieni käytännön esimerkki
Tallenna tämä sivu kirjanmerkkeihin!