XML
- Tämä kirja perustuu W3C:n nykyisen suositukseen Extensible Markup Language (XML) 1.0 (Fourth Edition) (2006-08-16).
XML on laajennettava w:merkintäkieli, jolla datan joukkoon voidaan lisätä sen merkitystä kuvaavaa tietoa.
Ominaispiirteitä
[muokkaa | muokkaa wikitekstiä]XML on suunniteltu datan säilykseen ja siirtämiseen ei sen esittämiseen. XML tulee sanoista EXtensible Markup Language eli laajennettava merkintäkieli. XML on W3C:n suositus. XML:n ei ole tarkoitus korvata HTMLää.
XML ei tee mitään. XML-tiedosto on pelkkää tekstidataa.
XML-tagit eivät ole ennalta määrättyjä vaan ne tulee määritellä kussakin XML-tiedostossa. Täten XML-tiedosto kuvailee itsensä.
Merkintä
[muokkaa | muokkaa wikitekstiä]XML-data koostuu elemeteistä ja niille annetusta sisäsällöstä sekä elementtejä määrittävistä attribuuteista.
Sisältö on elementin avauksen ja sulkemisen välissä.
<elmentti>sisältö</elementti>
Attribuutit ovat elementin avauksen sisässä ja niiden arvo on aina lainausmerkeissä
<elementti attribuutti="arvo">
Pääsääntönä data merkitään elementtien sisältönä ja metadata elementtien attrbibuutteina.
Elementtien nimet ovat case-sensitive eli iso ja pieni kirjain ovat eriasioita.
Elementtien nimien tulee noudattaa seuraavaa:
- ei saa alkaa numerolla tai välimerkillä
- ei saa alkaa kirjaimilla xml (oli kirjaimet sitten suuria tai pieniä)
- ei saa sisältää välilyöntejä.
Yhteen sopivuussyistä vältettäviä merkkejä ovat myös "-", "." ja ":". Muuten nimet voivat sisältää kirjaimia, numeroita ja muita merkkejä vapaasti. Koska välilyöntejä ei saa olla merkitään sanayhdistelmät yleensä alaviivalla "_".
Elementin eivät saa ristetä
- ei näin
vaan<pre><code></pre></code><pre><code></code></pre>
.
Tiedostolla tulee olla yksi ja vain yksi juuri (root) -elementti. Alun julistuksia ei lasketa elementeiksi.
Kommentointi merkitään
<!--kommentti-->
Ylimääräiset välilyönnit säilyy näkyvissä.
XML-tiedosto oikealla syntaksialla on hyvin muodostettu (Well Formed). XML-tiedosto tarkastettuna jotain DTDä vastaan on validi (Valid).
Sivun perusrakenne
[muokkaa | muokkaa wikitekstiä]<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE viesti SYSTEM "Viesti.dtd"> <viesti> <keneltä>Tove</keneltä> <kenelle>Jani</kenelle> <otsikko>Muistutus</otsikko> <leipäteksti>Älä unohda!</leipäteksti> </viesti>
missä
- <?xml version="1.0" encoding="ISO-8859-1"?>
- on XML-julistus, joka kertoo XMLn version ja käytettävän koodauksen
- <!DOCTYPE viesti SYSTEM "Viesti.dtd">
- on DTD eli Document Type Definition -julistus, kertoo käytettävän DTDn
- <viesti>
- on juuri (root) -elementin avaus
- <keneltä>, <kenelle> ja <otsikko>
- ovat juurielementin lapsielementtejä ja sisaruksia keskenään
- </viesti>
- on juuri-elementin sulkeminen
Erikoismerkit
[muokkaa | muokkaa wikitekstiä]Seuraavat merkit tulee antaa koodina.
Koodi | Merkki | Nimi |
---|---|---|
< | < | pienempi kuin |
> | > | suurempi kuin |
& | & | ampersandi eli et-merkki |
' | ' | apostrofi eli heittomerkki |
" | " | lainausmerkki |
Document Type Definition eli DTD
[muokkaa | muokkaa wikitekstiä]Imoittaminen
- <!DOCTYPE note SYSTEM "Note.dtd">
dtd-tiedoston rakenne
<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>
XML Schema
[muokkaa | muokkaa wikitekstiä]XML Scheman rakenne, tiedostopääte xsd
<xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Esittämien
[muokkaa | muokkaa wikitekstiä]XML-datan esittämiseen on kaksi tapaa, CSS ja XSLT.
CSS
[muokkaa | muokkaa wikitekstiä]XSLT
[muokkaa | muokkaa wikitekstiä]eXtensible Stylesheet Language Transformations
Parserointi / XML JavaScript
[muokkaa | muokkaa wikitekstiä]Nimiavaruudet
[muokkaa | muokkaa wikitekstiä]Nimiavaruus (namespace) on elementtien nimien merkityksen määrittelevä avaruus. Se merkitään juuri-elementtiin tai muuhun haluttuun elementtiin xmlns-attribuutilla, jonka arvona on nimiavaruuden määrittelevän datan sijainti URI-osoite. Määrittely periytyy elementin lapsille. Nimiavaruus merkitään <nimiavaruus:elementti>.
Tietotyypit
[muokkaa | muokkaa wikitekstiä]XML-parseri parseroi oletuksena kaiken XML-datan sillä data on oletuksena parseroitavaa merkkidataa (Parsed Character Data eli PCDATA). Mikäli dataa ei haluta parseroitavan tulee se merkitä parseroimattomaksi merkkidataksi (Character Data eli CDATA). Merkitseminen tehdään muodossa:
<script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> </script>
eli datan CDATAn merkitä aloitetaan merkinnällä
- <![CDATA[
ja päätetään merkinnällä
- ]]>.
Tästä johtuen annettava CDATA ei voi sisältää ]]> merkkijonoa. Parseri jättää huomiotta CDATA-tekstin.
Merkistökoodaus
[muokkaa | muokkaa wikitekstiä]XML-käyttää oletuksena unicode-merkistöä. xml-julistuksessa on syytä aina ilmoittaa käytettävä merkistökoodaus encoding attribuutilla.
XML-kieliä ja sovelluksia
[muokkaa | muokkaa wikitekstiä]- XHTML (Extensible HTML)
- Tiukemmennin määritelty ja puhtaampi versio HTMLstä.
- XML DOM (XML Document Object Model)
- A standard document model for accessing and manipulating XML.
- XSL (Extensible Style Sheet Language)
- XML-datan ulkoasun määrittely tai rakennemuutoksen tekeminen, koostuu kolmesta osasta:
- XQuery (XML Query Language)
- XML-pohjainen XML-data kyselykieli
- DTD (Document Type Definition)
- XMLssä sallittujen elementtien määrittämistandardi
- XSD (XML Schema)
- XML-pohjainen XMLssä sallittujen elementtien määrittämistandardi
- XLink (XML Linking Language)
- Kieli hyperlikkien tekemiseksi XML-tiedostoihin
- XPointer (XML Pointer Language)
- Allows the XLink hyperlinks to point to more specific parts in the XML document.
- XForms (XML Forms)
- SOAP (Simple Object Access Protocol)
- XML-pohjainen protokolla sovellusten tiedonvaihtoon HTTPn kautta
- WSDL (Web Services Description Language)
- XML-pohjainen kieli WWW-palvelujen kuvaamiseen
- RDF (Resource Description Framework)
- WWW-resurssien kuvailukieli
- RSS (Really Simple Syndication)
- verkkosyöte
- WAP (Wireless Application Protocol)
- XML-pohjainen matkapuhelinten tapaisissa laitteissa käytettävä internet-protokolla
- SMIL (Synchronized Multimedia Integration Language)
- multimediaesityksiä varten kehitetty ohjauskieli
- SVG (Scalable Vector Graphics)
- XML-pohjainen verktorigrafiikka