Next: 5.2 Erilaisista formaateista SGML:ksi Up: 5 Muut muunnokset Previous: 5 Muut muunnokset

5.1 SGML:stä julkaisuksi

Koska SGML-dokumentit ovat pelkkää tekstiä rakennemerkintöjen lisäksi, niitä ei kannata sellaisenaan tulostaa tai laittaa näytille minnekään. Julkaisua varten onkin jouduttu muuttamaan SGML-dokumentti ensin sellaiseen muotoon, että se voidaan tulostaa tai esittää näyttöpäätteellä. Jo edellä mainitut Linuxdoc-SGML ja Sgmlspl pystyvät tähän, Linuxdoc-SGML suoraan formaateiksi LaTeX, groff ja puhdas ASCII-teksti.

Nämä muunnokset asettavat tietysti erilaisia vaatimuksia muunnosten suhteen kuin puhtaat SGML-muunnokset. Koska SGML:ssä ei oteta tekstin asetteluun mitään kantaa, joutuu käyttäjä itse määrittelemään, kuinka hän haluaa tietyt elementit esitettävän. Toisaalta, jos on käytössä jokin tunnettu DTD ja tiedetään, mihin formaattiin se halutaan muuttaa, voidaan tehdä erikoiskäyttöinen ohjelma hoitamaan tämä automaattisesti.

Nykyään ollaan myös siirtymässä järjestelmiin, joissa SGML-dokumenttien tekstin asettelu voidaan kuvata mukana seuraavalla tyyli-DTD:llä tai tyylidokumentilla. Vakiintunutta käytäntöä näitä varten ei vielä ole, vaan kukin valmistaja esittää asiat omalla tavallaan. Siisti toteutus on esimerkiksi Synex ViewPort -tuotteessa [Syn96].

Standardien kehitys on tässä jäänyt ehkä hieman jälkeen, mutta Document Style Semantics and Specification Language (DSSSL) [ISO95] antanee osviittaa siitä, mihin ollaan menossa. DSSSL-standardi määrittelee kyllä muutakin kuin dokumenttien tyylejä: sen Turing-täydellinen kieli esimerkiksi mahdollistaa periaatteessa minkä tahansa DTD:n mukaisen osadokumentin luomisen olemassa olevasta SGML-dokumentista. Eli samasta SGML- dokumentaatiosta voidaan DSSSL:n avulla tehdä kaksi ``näkymää'', toinen esimerkiksi tehtaan johtajalle ja toinen työntekijälle. Ongelmiakin tässä on. On nimittäin huomattu, että ei ole mahdollista laskennallisesti päätellä, vastaako jokin mielivaltainen muunnos jotakin mielivaltaista DTD:tä [Ray96].


Heikki Toivonen -- Last modified 28.1.1997 --