Viimeksi päivitetty: 21 May, 2025

Otsikko - Mitä XML on: Kattava opas

Mitä XML on?

XML (Laajennettava merkintäkieli) on merkintäkieli ja tiedostomuoto, jota käytetään tietojen tallentamiseen, siirtämiseen ja rekonstruoimiseen. Se tarjoaa rakenteellisen lähestymistavan tiedon koodaamiseen, tehden siitä sekä ihmisluettavan että koneellisesti luettavan.

XML:n avainominaisuudet

1. Määritelty avoimilla standardeilla

  • Perustettu World Wide Web Consortium (W3C):n toimesta vuonna 1998 XML 1.0 -määrityksen alla.
  • Noudattaa tiukkoja sääntöjä, jotta tiedot ovat jäsenneltyjä ja helppoja tulkita.

2. Suunnittelutavoitteet

  • XML on suunniteltu yksinkertaisuudella, yleisyydellä ja käytettävyydellä eri alustoilla.
  • Käyttää tekstipohjaista formaattia, mikä tekee siitä helppolukuisen ja muokattavan.

3. Unicode-tuki

  • XML tukee Unicodea, jolloin se voi tallentaa ja käsitellä tekstiä useilla kielillä.

4. Monikäyttöisyys

  • Alun perin asiakirjoja varten luotu XML on nykyään laajasti käytössä tietojen esittämisessä eri aloilla, mukaan lukien verkkopalvelut, API:t ja konfiguraatiotiedostot.

5. Schemat ja API:t

  • XML-rakenteet voidaan määritellä Document Type Definition (DTD)-, XML Schema (XSD)- tai Relax NG -menetelmillä.
  • Erilaiset API:t, kuten DOM (Document Object Model) ja SAX (Simple API for XML), mahdollistavat XML:n käsittelyn.

6. XML:n yleiset käyttötarkoitukset

  • Tietojen vaihtaminen eri järjestelmien välillä (esim. verkkopalvelut, API:t).
  • Konfiguraatiotiedostot ohjelmistosovelluksissa.
  • Jäsennellyn tiedon tallentaminen (esim. RSS-syötteet, SVG-grafiikat, asiakirjamuodot kuten DOCX).
  • Verkkojen kehittäminen (esim. XHTML, SOAP, AJAX-pohjaiset sovellukset).

Kun tiedät, mitä XML on, opi miten luet ja muokkaat XML-tiedostoja tämän aloittelijaystävällisen oppaan avulla.

XML‑yleiskatsaus

1. XML:n päätarkoitus: sarjoitus

Sarjoitus XML:ssä tarkoittaa:

  • Tietojen tallentamista jäsennellyssä muodossa.
  • Tietojen siirtämistä eri järjestelmien välillä.
  • Tietojen rekonstruointia käyttökelpoiseksi muodoksi.

Kun kaksi järjestelmää tarvitsevat vaihtaa tietoa, XML tarjoaa standardoidun tiedostomuodon yhteentoimivuuden varmistamiseksi. Se toimii “kielten yhteisenä kielenä” jäsennellylle tietojenvaihdolle.

2. XML merkintäkielenä

XML on merkintäkieli, mikä tarkoittaa, että se:

  • Merkkaa tietoa tageilla selkeän rakenteen luomiseksi.
  • Järjestää tiedon hierarkkisesti.
  • Luokittelee tiedon metatietojen avulla.

Esimerkki:

<book>
    <title>XML Basics</title>
    <author>John Doe</author>
</book>

Tässä <book>, <title> ja <author> ovat tageja, jotka määrittelevät data‑elementit.

3. XML‑skeema (XSD) ja validointi

XML‑skeema (XSD) määrittelee rakenteelliset säännöt XML‑dokumenteille.

XML‑dokumentit voivat olla:

  • Hyvin muodostettuja → Noudattaa perussyntaksisääntöjä (oikea sisäkkäisyys, oikeat sulkevat tagit).
  • Validia → Täyttää skeeman säännöt (pakolliset elementit, oikeat tietotyypit).

XSD‑sääntöesimerkki:

<xs:element name="title" type="xs:string"/>

Tämä varmistaa, että <title>‑elementti sisältää merkkijonoarvon.

4. XML‑mediatyypit (RFC 7303)

IETF RFC 7303 määrittelee XML‑mediatyypit tiedonsiirtoa varten:

  • application/xml → Vakio‑XML‑data.
  • application/xml-external-parsed-entity → Parsatut XML‑entiteetit.
  • application/xml-dtd → XML‑DTD‑dokumentit.

XML‑pohjaisissa formaateissa käytetään +xml‑päätettä (esim. image/svg+xml SVG‑kuvia varten).

5. XML verkko‑sovelluksissa (RFC 3470 / IETF BCP 70)

IETF BCP 70 (RFC 3470) esittelee parhaita käytäntöjä XML:n käyttöön verkko‑pohjaisissa sovelluksissa, varmistaen saumattoman tietoyhteentoimivuuden eri järjestelmien välillä.


Ohjelmallisesti XML:n kanssa työskennellessäsi tutustu parhaisiin XML‑parsijoihin Pythonille, Javalle ja JavaScriptille.

1. XML:n sovellukset

XML on joustava merkintäkieli, joka on suunniteltu tietojen vaihtamiseen Internetissä. Sen syntaksi on vaikuttanut lukuisiin asiakirjamuotoihin ja viestintäprotokolliin, tehden siitä perusteknologian monilla toimialoilla.

Yleisiä XML‑pohjaisia formaatteja:

  • Verkkosyötteet: RSS, Atom
  • Toimistoasiakirjat: Office Open XML, OpenDocument
  • Grafiikka ja 3D‑mallit: SVG, COLLADA
  • Web‑teknologiat: XHTML
  • Tietojen vaihtoprotokollat: SOAP, XMPP
  • AJAX: Käyttää XML:ää asynkroniseen tietojenvaihtoon

Toimialan standardit, jotka käyttävät XML:ää:

  • Terveydenhuolto: HL7 (Health Level 7)
  • Matkailuala: OpenTravel Alliance
  • Rahoitus: FpML (Financial products Markup Language)
  • Kiinteistöt & Asuntolainat: MISMO
  • Viranomaisten tietojenvaihto: National Information Exchange Model

XML tieteessä:

Meteorologiassa XML:ää käytetään operatiivisen säätiedon esittämiseen noudattaen IWXXM‑standardeja. Samoin Darwin Information Typing Architecture (DITA) on laajasti käytetty XML‑standardi julkaisemisessa.


Käytännön toteutusta varten tutustu oppaaseemme, jossa kerrotaan kuinka lukea ja muokata XML:ää Pythonissa, Javassa ja JavaScriptissä.

2. XML:n keskeinen terminologia

Ymmärtäminen XML:n peruskäsitteet on olennaista, jotta voit työskennellä XML‑dokumenttien kanssa tehokkaasti.

Merkki

XML‑dokumentti on Unicode‑merkkijonojen sarja. XML 1.1 sallii lähes kaikki Unicode‑merkit, lukuun ottamatta Null‑merkkiä (U+0000), joka on ehdottomasti kielletty.

Prosessori ja sovellus

  • XML‑prosessori (tai parseri) lukee ja analysoi XML‑merkintää.
  • Sovellus vastaanottaa prosessorilta jäsennellyt tiedot ja toimii niiden perusteella.

Merkintä ja sisältö

XML jakaa merkit merkintään ja sisältöön:

  • Merkintä: Sisältää elementit, attribuutit ja entiteetit (esim. <tag> ja &amp;).
  • Sisältö: Varsinaiset tiedot elementtien sisällä.
  • CDATA‑osat: Sallivat tekstin, jota ei pidä jäsentää merkintänä, ja ne on suljettu <![CDATA[ ... ]]>.

Tagit ja elementit

  • Tagit: Merkintärakenteet, jotka on suljettu < >.
    • <section> (Avaustagi)
    • </section> (Sulkutagi)
    • <line-break /> (Tyhjä‑elementti‑tagi)
  • Elementit: Tagien määrittämät loogiset komponentit.
    • Esimerkki: <greeting>Hello, world!</greeting>

Attribuutit

Attribuutit tarjoavat metatietoa elementeille nimen‑arvo‑pareina. Esimerkki:

<img src="image.jpg" alt="Description" />

src="image.jpg" ja alt="Description" ovat <img>‑elementin attribuutteja.


3. Merkit ja niiden koodaus XML:ssä

Sallitut Unicode‑merkit XML:ssä

XML‑dokumentit sallivat vain tietyt Unicode‑merkit oikean jäsentämisen varmistamiseksi.

Sallitut merkit XML 1.0:ssa:

  • Ohjausmerkit:
    • U+0009 (Tab)
    • U+000A (Rivinvaihto)
    • U+000D (Carriage Return)
  • Tekstimerkit:
    • U+0020–U+D7FF
    • U+E000–U+FFFD
    • U+10000–U+10FFFF

XML 1.1 –parannukset:

  • Salli kaikki U+0001–U+001F‑ohjausmerkit, mutta ne on koodattava.
  • U+0000 (Null‑merkki) pysyy kiellettynä.

4. Koodaus XML:ssä

Yleiset XML‑koodaukset:

XML tukee Unicode‑pohjaisia koodauksia, kuten:

  • UTF-8 (Suositeltu oletus)
  • UTF-16 (Kaikkien XML‑parserien on tuettava)
  • ASCII, ISO-8859‑X (Vanhemmat koodaukset)

Koodausilmoitus XML:ssä:

XML‑otsikko voi määrittää koodauksen:

<?xml version="1.0" encoding="UTF-8"?>
  • Jos koodausta ei ole määritetty, oletuksena on UTF-8.
  • UTF-16 vaatii BOM‑merkin (Byte Order Mark) oikeaa tunnistusta varten.

5. Erikoismerkkien koodaus XML:ssä

Koska XML‑syntaksi varaa tietyt merkit, ne on koodattava ristiriitojen välttämiseksi.

Ennalta määritellyt XML‑entiteetit:

MerkkiKoodattu muotoEsimerkki
< (pienempi kuin)&lt;I &lt;3 XMLI <3 XML
> (suurempi kuin)&gt;x &gt; yx > y
& (et‑merkki)&amp;AT&amp;TAT&T
' (yksittäinen lainausmerkki)&apos;"O&apos;Reilly"O’Reilly
" (kaksoislainausmerkki)&quot;She said &quot;hello&quot;She said “hello”

Numeraaliset merkkiviitteet:

Erikoismerkeille, joita ei voi kirjoittaa suoraan, käytetään numeraalisia viitteitä:

  • Desimaali:
    &#20013;  <!-- Chinese character "中" -->
    
  • Heksadesimaali:
    &#x4E2D;  <!-- Chinese character "中" -->
    
  • Esimerkki:
    <message>I &lt;3 J&#xF6;rg</message>
    
    Näkyy: I <3 Jörg

Binääridatan käsittely:

XML ei tue raakaa binääridataa. Sen sijaan käytetään Base64‑koodausta.


6. Kommentit XML:ssä

XML‑kommentin syntaksi:

<!-- Tämä on kelvollinen XML‑kommentti -->

Säännöt XML‑kommenteille:

  • Ei voi esiintyä ennen XML‑määritystä.
  • Ei saa sisältää -- (kaksoisviivaa) kommentin sisällä.
  • Entiteettiviitteet jätetään huomiotta kommenteissa.

Esimerkki:

<!-- Tämä on kommentti, jossa on < ja & -merkkejä -->

Yhteenveto

XML on olennainen teknologia jäsennellyn tiedon vaihtoon, jonka avulla toteutetaan verkkosyötteitä, toimistoasiakirjoja, tieteellisiä tietoja ja toimialan standardeja. Keskeisten XML‑terminologioiden, koodauskäytäntöjen ja merkkien koodaamisen ymmärtäminen takaa hyvin muodostetut XML‑dokumentit, jotka toimivat oikein eri järjestelmissä.

Noudattamalla parhaita käytäntöjä merkistökoodauksessa ja merkkien koodauksessa, kehittäjät voivat välttää jäsentämisvirheitä ja varmistaa yhteensopivuuden XML‑pohjaisissa sovelluksissa.