[Alku]
Testaa CSS-oppaan navigoinnin toimivuutta!
 
   
 Etsi sivuiltani: [Apua]
AihepiiriluetteloCSS-oppaan etusivuOppaan lisäsivut > L Mikä on XML:n ja XSL:n nykytilanne

L Mikä on XML:n ja XSL:n nykytilanne

Aiheet

Yleistä

XSL:n nykytilanne on parantumassa. Se pitää jakaa kahteen osaan, muunnoskieleen ja varsinaiseen tyylikieleen.

Jos ajatellaan XSLT (eXtensibe Style Sheet Language Transformation) kielen perusolemusta, se ei ole varsinaisessa mielessä tyylisivukieli. Se on pikemminkin yleinen muunnoskieli (XTL eli eXtensible Transformation Language), jolla toki voi generoida tai muuntaa tyyleihin liittyviä elementtejä ja attribuutteja.

Sitä voi käyttää myös XML-muunnoksissa, joissa ei ole mitään tekemistä tyylien kanssa. Muunnokset voi useimmissa tapauksissa hoitaa serveripuolella muilla muutoksia toteuttavilla kielillä, vaikka muunnoskielenä XSLT on sangen selkeä. Olemuksensa vuoksi kieltä pitäisi käyttää mielestäni vain serveripuolella, sillä sen käyttö selaimessa muuttaa selaimen eräänlaiseksi palvelinohjelmaksi.

XSLT ei määrittele ainuttakaan tyyleihin liittyvää elementtien käyttäytymistapaa. XSLT:tä käytettäessä tyylin määrittelevät lopputuloksen elementit, attribuutit ja dokumentissa mahdollisesti käytetty CSS.

Varsinaisena tyylikielenä XSL:ssä on XSL-fo (fo = formatting objects = muotoiluobjektit). Toisin kuin CSS:ssä lopullisessa dokumentissa esitysasua, sisältöä ja rakennetta ei eroteta toisistaan. Tässä mielessä sen käyttäminen on tavallaan paluuta HTML 3.2 -tyyppiseen ajatteluun.

Jos XSL-fo dokumentti luodaan käsin, se merkitsee rakasta koodausta. Sitä ei ole kuitenkaan tarkoitettu toimimaan sellaisenaan vaan osana erilaisissa muunnoksissa yhdessä XSLT:n kanssa: XML > XLST > XSL-fo > PDF/RTF/TEX/DVI tai jokin muu dokumenttityyppi, joka tarvitsee ns. rivinsisäisiä sisäisiä tyylejä (inline styles). XSL-fo ei sovellu XHTML-dokumenttien tyylikieleksi.

Vaikka XSL-fo kieltä voidaan käyttää osana erilaisissa muunnoksissa, mielestäni muutoksetkin voitaisiin hoitaa toisella tavalla. Lue kommenttini sivulta Cascading Style Sheets with Transformation[S].

W3C on tehnyt vuoden 1999 lopussa XSLT ja XPath suositukset eli spesifikaatiot. W3C suosittaa CSS:n käyttämistä silloin kuin mahdollista ja XSL:n käyttämistä vain silloin kun on pakko. CSS on tarkoitettu myös WAP-laitteisiin, mutta niissä ei ole sille vielä tukea. XSL olisi järkevä sellaisissa tapauksissa, että sama dokumentti lähetettäisiin tietokoneille ja WAP-laitteille serverin tekeminä XSL:n avulla toteutettuina muunnoksina. Spesifikaatioiden ja ohjelmien puutteellisuuden vuoksi tämäkin on kyseenalaista.

MS IE 5.x

Vaikka XSLT-kieli kuuluu yksinomaan palvelinpuolelle, mutta jos sitä tuetaan, se tulee toteuttaa spesifikaation mukaan. MS IE 5.0 tukee vanhentunutta (vuodelta 1998) olevaa XSL-ehdotelmaa, jonka pahimmat puutteet ovat seuraavat:

MS IE:lle tehty XSL on todella kyseenalaista, sillä se on epästandardia. XML-tuki on tuotu markkinoille liian keskeneräisenä.

Testatessani InDelv-ohjelmalla tehtyä sivuja, MS IE näytti vain valkoisen taustavärin. Microsoftin yleinen toimintaperiaate näyttää olevan tuoda markkinoille aina uusia keskeneräisiä systeemejä ennen kuin entisetkään toimivat kunnolla.

Ongelmana on se, että ns. "official" versioon liitetään kokeilun alla olevia piirteitä, joita ei kuitenkaan voida päivittää riittävän usein. Tämä pilaa uusien järjestelmien toimivuutta ja uskottavuutta. Keskeneräisistä systeemeistä pitäisi tämän vuoksi olla erillisiä kokeellisia (experimental) versioita, joita päivitetään säännöllisesti. Lue tähän asiaan liittyvä valituslauluni[S].

MS IE 5.5:stä lähtien MS IE -selaimissa pitäisi olla spesifikaation mukainen toteutus. Aikaisemman version vanhentunut ja spesifikaation mukainen toteutus vaatii konversion.

Microsoft: Microsoft XML Parser, MSXML XSLT FAQ.

InDelv

Latasin kyseisen nimisen kanadalaisen InDelv-ohjelman, jossa on mukana sekä selain että editori. Ohjelma tukee uusinta 1999 ehdotelmaa, joka on siis lähes lopullinen. Selaimessa on ajan tasalla olevat ohjeet. Samat ohjeet tosin löytää myös uusimmista W3C spesifikaatioehdotuksista. Ohjelmasta saa koeversion.

Melkein täydellinen XLink ja XPointer toteutus. Tukee muotoiluolioita formatting objects (fo).

Ohjelma kaatui MS:lle tehdyistä XSL-tiedostoista. Joistakin se näytti vain tekstin mutta ei muotoilua. MS IE 5.0:lle tekemistäni XSL-tiedostoista se ei näyttänyt mitään.

Varoitus. Mikäli sinulla on ennestään Java 1.x virtual machine asennettuna, poista alihakemisto /jre InDelv-hakemistosta. Ohjelma kaatuu, mikäli se löytää kaksi Java-tuki tiedostoa.

Ohjelma näyttää HTML-dokumentit puutteellisesti. Sen XSL-tiedostoissa on seuraavia yleisiä erilaisuuksia tai ongelmia suhteessa MS 5.0:aan:

  1. InDelv nimiavaruustiedot ennakoivat standardia:
    <xsl:stylesheet xmlns:xsl='http://www.w3.org/XSL/Transform/1.0' xmlns:fo='http://www.w3.org/XSL/Format/1.0' result-ns='fo'>
    MS viittaa vanhentumassa oleviin tietoihin:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns:fo='http://www.w3.org/XSL/Format/1.0' result-ns='fo'>
  2. Text() InDelvin mukaan väärin käytetty MS:n tavoin. Ohjelma ei tarvitse sitä. Todennäköisesti vika MS IE:n.
  3. MS IE sekoilee joistakin fo-object-määrittelyistä, vaikka se ei niitä ymmärrä (esim. elementti P). Vika MS IE:n.
  4. InDelv ei toteuta kunnolla XSLT-piirteitä. Esim. elementti P ei toimi näin:
    <xsl:template match="p">
    <p style="display:block; margin:10pt; width:100%">
    <xsl:apply-templates />
    </xsl:template>
  5. Fo-XSL:lle ei ole määritelty riittävästi ominaisuuksia (poikkeavat jostakin syystä CSS:n ominaisuuksista - mikähän vitsi siinäkin on, että samat ominaisuudet kirjoitetaan joskus eri lailla?).
InDelv.

HTML-Kit

HTML-kit -ohjelmaan on mahdollista rakentaa omia valikoita. Siihen saa mm. XSL(T)-valikon, mutta se perustuu vanhentuneeseen W3C XSLT spesifikaatioehdotukseen vuodelta 1998 (virallinen W3C:n suositus on marraskuulta 1999). Se on tarkoitettu vain MS IE 5.0 varten, sillä siinä on useita sovelluskohtaisia ominaisuuksia, jotka eivät toimi muissa kuin em. selaimessa. En suosittele sen lataamista. Tein paremman valikon. Se on saatavissa zip-tiedostona. Jotta voit muokata sitä helposti, lataa HTMK-Kit -ohjelman sivuilta myös Plugins Generator.

Sille on olemassa tekemäni CSS-valikko. Saat sen zip-tiedostona (sinun täytyy ehdottomasti lukea ensin README_NOW.txt tiedosto). Se löytyy myös HTML-kitin sivuilta (sieltä saa myös lähdekoodin)

HTML-kit Home Page, HTML-Kit Plugins page.

Muita sovelluksia

Myös eräitä muita on saatavissa ja muutamia kommentteja:

Saxon.

Testisivuja

Tein eräästä sivusta useita versioita, joiden pitäisi näyttää suurin piirtein samanlaisilta:

W3C: XML Path Language (XPath) Version 1.0, Extensible Stylesheet Language (XSL) Version 1.0, XSL Transformations (XSLT) Version 1.0.
Muita sivustoja: Netscape, Opera Softaware.

Kokonaisuutta ajatellen toimivuus on paljon pahempi kuin CSS:n kohdalla.

[Alku]
   
Copyright Tapio Markula 1999-2003, Salo (kotisivu, s-posti - lisää s-postiosoiteeseen pisteellä erotettuna nimeni, Tapio Markula) (@dnainternet.net) - ei julkiskäyttöön ilman sopimusta.
Get Expression!
Editori, jolla saa luotua standardit täyttäviä HTML ja XML dokumentteja. Tämän sivuston sivut on useimmissa tapauksissa tarkastettu Dave Raggetin (W3C) tekemällä HTML-Tidy apuohjelmalla ja satunnaisesti W3C-organisaation virallisella koodintarkastusohjelmalla. Useimpien sivujen syntaksin pitäisi olla sopusoinnussa W3C:n XHTML 1.0 spesifikaation kanssa. Testaa tämä sivu!
Informaatiota selaimista, jotka näyttävät tai tulostavat tämän sivuston parhaiten.
[Hae Opera] [Hae Mozilla!]
CSS-opasta on viimeksi muutettu 20.12.2004