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!

 

2kmediat.com, ©2000-2008 Koulutus- ja konsultointipalvelu KK Mediat.
Tekijänoikeuksia koskeva tiedonanto | Tietosuojalausunto | Sivukartta