| Johdatus XML-tekniikkaan > Johdanto > XML-määrittelyt > Luokittelemattomia määrittelyjä | Sivukartta |
W3C Recommendation - marraskuu 1999
XPath on kieli XML-dokumentin osien paikantamiseen ja valintaan. Sen avulla voidaan paikantaa esimerkiksi kaikki tietyn tyyppiset elementit, yksittäinen määrite tai kaikki tiettyä elementtiä edeltävät elementit. XPath-määrittely sisältää myös muutaman yksinkertaisen funktion dokumentin sisältämän datan - kuten merkkijonojen - käsittelyyn. XPath voidaan nähdä yksinkertaisena kyselykielenä.
XPath mallintaa XML-dokumentin puurakenteeksi, jossa voidaan liikkua XPath:n ominaisuuksien avulla. XPath:n luoma puurakenne on abstrakti malli, eikä välttämättä vastaa alkuperäistä rakennetta. Monista muista XML:ään liittyvistä kielistä poiketen XPath ei pohjaudu XML-syntaksiin vaan käyttää omaa, paljon tiiviimpää syntaksia.
Alunperin XPath luotiin käytettäväksi XPointerin ja XSLT:n kanssa mutta sittemmin sille on löytänyt käyttöalueita myös muualta. XSLT:n mukana myös XPath on kerännyt suosiota mutta se on itsessäänkin varsin näppärä pieni kieli, joka ei ole saanut osakseen kovinkaan monta haukkumasanaa. Nykyään XPath tuntuu kuuluvan XML-perustyökalujen joukoon mm. nimiavaruuksien ja XSLT:n kanssa.
Kenelle tarkoitettu: Niille, jotka tarvitsevat XPath:a käyttäviä määrittelyjä tai sovelluksia. XPath:a ei kannata lukea pelkästään sen itsensä takia.
Määrittely:XML Path Language (XPath)
W3C Recommendation - maaliskuu 2001
Määrittely kuvaa tavan luoda tai muuntaa XML-dokumentteja muotoon, jossa niillä on täsmälleen samassa muodossa oleva syntaksi ja niitä voidaan vertailla tavu tavulta. Tällainen vertailu on mahdollista tehdä esimerkiksi monissa tekstieditoreissa.
Normaalisti täysin toisiaan vastaaville XML-dokumenteille ei tavu tavulta -vertailua voida luotettavasti tehdä, sillä niissä voi esimerkiksi olla jonkin elementin määritteet eri järjestyksessä tai toisessa dokumentissa määritteiden arvot suljetaan heittomerkkien (') ja toisessa lainausmerkkien (") sisään. Kummassakin tapauksessa syntaksi ja sisältö ovat täsmälleen vastaavat mutta esitysmuodot estävät yksinkertaisen vertailun tekemisen. Canonical XML mahdollistaa tällaisen tavu tavulta -vertailun mutta määrittely ei takaa, että dokumentit käsittelyn jälkeen olisivat myös sisällöllisesti (tai merkitykseltään) täsmälleen vastaavia.
Tavalliset käyttäjät tuskin koskaan tulevat törmäämään tähän määrittelyyn, mutta olettaisin monessa muussa määrittelyssä ja sovelluksessa käytettävän tai ainakin viitattavan "dokumentin kanoniseen muotoon." Ei ole tarpeen täsmälleen tietää miten se saadaan aikaan ja millainen Canonical XML -määrittelyn kuvaama kanoninen muoto on, mutta sen idean tunteminen on hyödyllistä: mikäli dokumentit ovat kanonisessa muodossa, voidaan olla varmoja, että ne ovat tietyssä muodossa ja kaikki niiden väliset erot johtuvat sisällön tai syntaksin merkittävistä eroista.
Kanoninen muoto mahdollistaa muutosvertailun lisäksi vielä tärkeämmän käyttömahdollisuuden, joka tulee kasvattamaan merkitystään: kanonisen muodon perusteella XML-dokumentille voidaan laskea sähköisiä allekirjoituksia, jotka ovat keskenään vertailukelpoisia. Allekirjoituksilla voidaan varmistua, ettei esimerkiksi dokumenttia ole muutettu lähettämisen jälkeen. Niitä voidaan hyödyntää myös dokumentin salaamisessa.
Määrittelyssä käytetään tietomallina XPath:n tietomallia, joten sen tunteminen helpottaa lukemista.
Kenelle tarkoitettu: Sovellusten ja määrittelyjen tekijöille, joiden on käsiteltävä XML-dokumentteja yhtenäisessä muodossa. Ehkä vähän myös niille käyttäjille, joiden on voitava vertailla XML-dokumentteja mahdollisten muutosten löytämiseksi.
Määrittely:Canonical XML
Muita läheisiä määrittelyjä:XML
W3C Recommendation - kesäkuu 1999
Määrittely kuvaa miten XML-dokumentteihin voidaan liittää ulkoisia tyyli- ja muunnossäännöstöjä (esimerkiksi CSS- tai XSLT-säännöstöjä). Käytännössä määrittelyn versio 1.0:n kuvaama tapa on samanlainen kuin HTML 4.0:ssa. Määrittely itsessään kertoo hyvin vähän, sillä se vain viittaa vastaavaan kohtaan HTML 4.0:ssa ja antaa muutaman esimerkin - tämän määrittelyn lisäksi on siis luettava myös pala HTML:ää. Erona HTML:n esittämälle tavalle on lähinnä syntaksi, sillä tiedot annetaan elementin määritteiden sijaan prosessointikomennon arvona.
Kaiken kaikkiaan varsin pienimuotoinen määrittely, jossa ei paljoa lukemista ole. Silti tärkeää asiaa, jos aikoo näyttää XML-dokumenttejaan muillekin.
Kenelle tarkoitettu: Kaikille, jotka haluavat näyttää tai muuntaa XML-dokumenttinsa esimerkiksi selaimessa.
Määrittely:Associating Style Sheets with XML documents
Resource Directory Description Language 1.0 (RDDL) - RDDL:llä voidaan kuvata joukko resursseja, niiden sijainti ja käyttötarkoitus. Sen avulla voidaan esimerkiksi kuvata mitä nimiavaruuden tunnisteena käytetyn URL:n päästä löytyy. RDDL mahdollistaa resurssien kuvausten kirjoittamisen sekä ihmislukijan että sovellusten ymmärtämään muotoon. RDDL astuu vielä ensiaskeliaan, joten sitä käytetään hyvin vähän. Käyttömahdollisuuksia kuitenkin riittää vaikka kuinka.
Lisätietoja RDDL:stä saa esimerkiksi lyhyestä esittelystä, jonka olen kirjoittanut.
XML.com: XML Protocol Technology Reference (XML protokollat) - XML-pohjaisia tai siihen läheisesti liittyviä protokollia löytyy jo vino pino. En itse ole tutustunut niihin lainkaan, mistä syystä olen jättänyt ne pois esittelyistä. XML.com:sta löytyy lyhyt kuvaus monista protokollista, joten kiinnostuneet voivat suunnata sinne.
Protokollat ovat tällä hetkellä kiivaan kehityksen kohteena, joten XML.com:n tiedot vanhenevat nopeasti.
Uniform Resource Identifiers (URI): Generic Syntax (URI) - URI-määrittely kuvaa yleisen kehyksen, jonka mukaan voidaan rakentaa erilaisia tunnistetyyppejä, kuten URL- ja URN-tunnisteet . Monet XML-määrittelyt käyttävät hyväkseen URI- tunnisteita, parhaimpana esimerkkinä nimiavaruudet . Määrittelyä ei tarvitse lukea, ellei ole toteuttamassa URI-tunnisteita käsittelevää sovellusta. Lähinnä kannattaa muistaa, että URI:eista puhuttaessa voidaan tarkoittaa hyvin monenlaisia (esim. täysin abstrakteihin kohteisiin liittyviä) tunnisteita eikä vain URL:ä.
Uniform Resource Locators (URL) (URL) - URL:t ovat yksikäsitteisiä tunnisteita, jotka kertovat datan sijainnin ja käsittelyprotokollan. Tunnetuin esimerkki on HTTP-protokollaan liittyvät URL:t, joita käytetään WWW-sivujen paikantamiseen ja hakemiseen. URL:t ovat osa URI-tunnisteita , samoin kuin vähemmän tunnetut URN-tunnisteetkin . URL-määrittely kuvaa URL-tunnisteiden yleisen ja muutamiin tiettyihin protokolliin (HTTP, FTP, MAILTO, jne.) liittyvän syntaksin. Sitä ei tarvitse lukea, ellei ole toteuttamassa URL-käsittelijää. URL:eihin liittyy myös suhteellisten URL:ien syntaksin kuvaava määrittely.
URN Syntax (URN) - URN:t ovat yksikäsitteisiä ja pysyviä tunnisteita, joita voidaan käyttää niin abstraktien kuin konkreettistenkin olioiden tunnistamiseen. URN-tunnisteet eivät välttämättä ole sidottuja kohdeolion sijaintiin - toisin kuin esimerkiksi URL:t - vaan niitä voidaan käyttää tunnisteina samaan tapaan kuin esimerkiksi kirjojen ISBN-numeroita. URN-tunnisteet kuuluvat URI-tunnisteisiin . URN-määrittely kuvaa URN-tunnisteiden syntaksin. Määrittelyä ei kannata lukea, ellei ole suunnittelemassa omaa URN-tunnistettaan tai toteuttamassa URN-tunnisteita käsittelevää sovellusta.
XML Fragment Interchange (XFragment) - Fragment Interchange -määrittely kuvaa tekniikan välittää XML-dokumentin katkelma siten, että tieto katkelman sijainnista koko dokumentissa välittyy vastaanottajalle asti. Määrittely on ollut pitkään kesken ja näillä näkymin kiinnostus määrittelyä kohtaan ja työn loppuunsaattamiseksi on lähes olematon. Tietääkseni on olemassa vain yksi määrittelyä noudattava, keskeneräinen sovellus.
Sivua on edellisen kerran päivitetty:
17.06.2001
Kommentteja voi lähettää Henri Ruinille osoitteeseen
ruini@iki.fi