Luettelen alla aihealueittain tekemäni aihepiirit. Paluulinkkeinä tähän aihepiiriin on tämä valikko ja sivun yläreunassa oleva linkki Aihepiiriluettelo.
|
![]() | Aihepiiriluettelo > CSS-oppaan etusivu > Oppaan lisäsivut > L Mikä on XML:n ja XSL:n nykytilanne |
---|
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.
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.
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:
xml:sort
ei toimi ja
sen sijaan MS IE käyttää ordered-by
attribuuttia, jota ei enää löydy uusista
spesifikaatioehdotelmista)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.
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.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:
<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'>
Text()
InDelvin mukaan väärin
käytetty MS:n tavoin. Ohjelma ei tarvitse sitä.
Todennäköisesti vika MS IE:n.P
). Vika MS
IE:n.P
ei toimi näin:
<xsl:template
match="p">
<p style="display:block; margin:10pt; width:100%">
<xsl:apply-templates />
</xsl:template>
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.Myös eräitä muita on saatavissa ja muutamia kommentteja:
Tein eräästä sivusta useita versioita, joiden pitäisi näyttää suurin piirtein samanlaisilta:
Kokonaisuutta ajatellen toimivuus on paljon pahempi kuin CSS:n kohdalla.