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 > E Millaista epästandardia CSS:ää on olemassa > Ohjelmistokohtainen koodi (jakso 5/5) |
|---|
Sen lisäksi, että selaimet tukevat epästandardia CSS:ää tai epästandardeja elementtimerkkauksia, tietyt ohjelmistot tukevat epästandardeja piirteitä. Osa piirteistä voi olla jonkun selaimen tukemia mutta osa on vain ohjelmiston omaan käyttöön.
Tarkastelen kahta tuntemaani tapausta. Ensimmäinen liittyy sekä HTML että CSS-koodaukseen. Jälkimmäisessä on kyse vain HTML-koodauksesta, joten sen mainitseminen menee hieman tämän sivun asian vierestä. Joissakin suhteissa toinen tapaus muistuttaa ensimmäistä. Asian vähäisyyden vuoksi en uhraa sille omaa liitesivua. Kyse on lähinnä jälkimmäisen tapauksen vertaamisesta edellisen kanssa.
Microsoft kirjoittaa MSHTML:stä. Sitä tuottaa MS Office 2000
sovellukset. MSHTML:ssä on tavanomaisten
HTML-merkkausten lisäksi ns. XML-saarekkeita (<xml> ...
</xml>) ja Office-ohjelmille suunnattua epästandardia CSS:ää (monissa
tapauksissa epästandin CSS:n etuliitteenä käytetään -mso-
saamaan tapaan kuin Mozilla Gecko -selaimet käyttävät -moz-
etuliitettä). Pääideana näyttää olevan se, että Office-tuoteilla luotu
MSHTML voidaan muuttaa takaisin
lähtöformaattiin, kuten esim. Word 2000 ja
Exel 2000 -dokumenteiksi siten että muotoilut säilyvät paremmin kuin
standardia HTML:ää
käytettäessä.
MS Office 2000:n tuottama MSHTML oli itse asiassa Microsoftin ehdotus HTML 5.0 spesifikaatioksi. Siitä keskusteltiin W3C parissa, mutta ehdotus hylättiin.
W3C: XML in HTML Meeting Report (W3C Note 11 May 1998).Tapa jolla MS Office 2000 yhdistää HTML:n ja XML:n on siten nykyisin täysin epästandardi. Jos käytetään XML:ää koko dokumentin tulee olla XML:ää, ei vain saarekkeet. MS Office XP:n tuottaa samanlaista MSHTML-koodia, joka ei täytä muodollisesti XML-kriteerejä.
Office 11:n tulee tietynasteinen XHTML-tuki myös Wordille InfoPath-sovelluksen kautta.
Cover Pages: Microsoft Office 11 and InfoPath [XDocs]; InfoWorld: Exploring XML in Office 11.MS IE 5.x+ ymmärtänee osan MSHTML:stä, mutta ei kaikkea. MS:n ajattelutapa näkyy CSS:n osalta siinä, että MS IE ei tue kunnolla sivutettua mediaa (kyse on käytännössä sivukatkojen tekemisestä tulostettaessa) mutta kun MSHTML otetaan Word 2000:een ja tulostetaan sillä, sivukatkot toimivat MS IE:tä paremmin erityisesti MS Office-sovelluksille tehdyn epästandardin CSS:n vuoksi. MSHTML-dokumentit on nimenomaisesti tarkoitettu tulostettavaksi MS Office tuotteilla.
MSHTML:ssä on erittäin suuri määrä pelkästään MS Office -ohjelmien sisäiseen käyttöön liittyviä merkkauksia. Poistin kerran puolet Word 2000:n luomasta kokonaiskoodimäärästä. Kun ottaa huomioon, että mukana oli tekstiä arviolta n. 70-80% merkkausten ja CSS-määritysten kokonaismäärästä oli erityistä MSHTML:ää.
MSHTML:n käyttö rasittaa Web-palvelimia syöttämällä internetiin selaimia ajatellen turhaa koodia. Jos Office tuotteilla tuotetaan MSHTML:ää ja tuotos lähetetään internetiin, internetiä käytetään tällöin ikään kuin MS Office tuotteiden intranetinä. Mielestäni MSHTML ei sellaisenaan kuulu internetiin vaan intranetiin. Saamani s-postin mukaan on olemassa ohjelmia, jotka muuntavat MSHTML:n tavalliseksi HTML:ksi, ainakin Microsoft Office HTML Filter 2.0.
Microsoft: Microsoft Office HTML Filter 2.0.Word 97 yrittää luoda lähes standardia HTML:ää. Mikäli on käytetty lihavointeja tms. muotoiluja lopputulos on yleensä virheellinen, mutta helposti jollakin standardia HTML:ää tuottavalla ja HTML-koodausvirheitä korjaavalla ohjelmalla asianmukaiseksi saatettavissa.
Koska millään Office-tuotteella ei saa suoraan standardia XHTML:ää Office-ohjelmien sijaan internetiin tarkoitettu (X)HTML tulisi mielestäni tehdä asianmukaisia (X)HTML editoreilla. FrontPage 2000 ei ole asianmukainen HTML-editori, sillä se ei käyttää Windows-merkistöä eikä koodaa ääkkösiä internetiin soveltuvalla tavalla (esim. "ä" pitäisi koodata ä jne.), jolloin teksti ei näy oikein Mac-selaimissa. Saamani s-postin mukaan FP 2002:ssa on kohtalainen entiteettituki.
Ainakin jotkin FrontPagen versiot toimivat muussakin mielessä epäasiallisesti. Löysin eräältä Web-sivulta alla olevan koodin:
<style fprolloverstyle>
A:hover {color: red; font-weight: bold}
</style>
Kyseessä on aivan normaali a:hover efekti.
Fprolloverstyle-attribuutti on täysin tarpeeton epästandardi "FPHTML" koodaus.
Kyse ei ole jollekin selaimelle tarkoitettu koodaus, sillä informaatio on relevanttia
vain sivuteko-ohjelmalle. Tällainen tieto pitäisi olla kuitenkin kommenttien sisällä.
Koodista puuttui puolestaan type="text/css", joka olisi asiallista laittaa STYLE
elementille. Tietyn tyylin mainitsemisen voisi määritellä täysin standardisti, esim. alla
olevalla tavalla:
<!-- fprolloverstyle -->
<style type="text/css">
A:hover {color: red; font-weight: bold;}
</style>
Yleensä informatiivisesta lisäkoodista ei ole haittaa vaan kyse on vain epäasiallisesta
koodauksesta. On huomattava, että fprolloverstyle ei ole edes HTML 4.01
spesifikaation näkökulmasta asianmukainen attribuuttisyntaksi. Jotkin vanhat HTML-spesifikaatiot
käyttivät yksiosaisia
attribuutteja, esim. <DL compact>, mutta HTML 4.x lätien syntaksin tulee olla aina
muotoa attribuutti="arvo" (lainausmerkit eivä ole aina
välttämättömiä). Muoto <style fpstyle="rolloverstyle"> olisi
jo vähän asiallisempi. Sivulla, jolla tällaisen attribuutin löysin, Mozilla
0.9 näytti sivun alun väärin. Kyse on todennäköisesti siitä,
että uudet Mozilla Gecko -selaimet toisinaan sekoavat elementtien
päätösmerkkauksien kohdasta. Ne näyttävät edellyttävän,
että attribuutit ovat kaksiosaisia. Tosin kun vierailin sivulla uudestaan, ongelmaa ei ollut, joten selaimen
ongelmakäytös saattoi johtua muista syistä.
En voi kuitenkaan suositella FrontPage 2002 vanhempien Microsoftin HTML-editorien käyttämistä. Uusimmilla FrontPage ja Macromedia Dreamweaver edutoreilla saa XHTML:ää, joten niitä voinee pitää erittäin suositeltavana WYSIWYG-editorina. Käyttämälläni HTML-Kit -koodieditorilla saa myös standardia HTML 4.0/HTML 4.01 tai XHTML 1.0 koodia.
Samaan tapaan ohjelmiston sisäiseen käyttöön tarkoitetua koodia luo Adobe
GoLive. Erona vain se, että mikään selain ei ymmärrä Adoben koodia
vaan koodi on pelkästään editorin omaan käyttöön. Mainitsen Adoben koodeja
eräässä englanninkielisessä kommentissa.
Olen löytänyt Adobe GoLiven tuottamia Web-sivuja, joissa n. 60% koodista oli selaimille turhaa - internetiä ajatellen turhan koodin määrä on suurusluokaltaan samaa luokkaa kuin MS Office sovellusten tuottama erityiskoodi. Olisi fiksua, jos Adoben tuotteissa olisi toiminto, jossa koodista siivostaan editorikohtainen koodi pois ennen kuin sivu lähetetään internetiin. En pidä GoLivea asianmukaisena HTML-editorina.
Osaakohan mikään softa poistaa Adobe GoLiven tuottaman turhan koodin ja luoda em. softan tuottamista epästandardista merkkauskielistä tavallista HTML:ää or XHTML:ää?