Author: Teppo Kurki

# SGML ja HTML

1.6. Funetin ja Suomen Internet yhdistyksen järjestämän ensimmäisessä WWW-päivässä pidetty seminaariesitys

teppo.kurki@vtt.fi

## Mikä on SGML?

- Standard Generalized Markup Language
- ISO-standardi tekstin geneeriseen koodaamiseen (1986)
- siirrettävä tapa koodata tekstidokumentteja
- metakieli
- rakenteinen koodaustapa
- ei sivunkuvauskieli!

## Rakenteinen koodaaminen?

- koodataan dokumentin looginen rakenne
- dokumentti koostuu osista, jotka liittyvät toisiinsa
- puumainen rakenne
- riippumaton ulkoasusta

## Esimerkki rakenteisesta koodaamisesta

    <message>
     <header>
      <recipient>
       <address>teppo.kurki@vtt.fi</address>
       <name>Teppo Kurki</name>
      </recipient>
     </header>
     <body>
      <para>Tässä viestin eka kappale</para>
      <para>Ja myös toinen kappale</para>
     </body>
    <message>

## Siirrettävyys?

- laite- ja ohjelmistoriippumaton
- kestää informaation elinkaaren ajan
- uudelleenkäytettävyys
- sopii eri lopputuotteisiin
- standardi

## Laajennettavuus

- räätälöitävissä eri sovelluksiin
- laajennettava
  - erikoismerkit
  - kuvat
  - hyperlinkit
  - etc

## SGML:n soveltaminen

- tietyn tyyppisten dokumenttien rakenteen määrittely -> Document Type Definition
- dokumenttien koodaaminen SGML:n syntaksin mukaisesti

## Document Type Definition

- dokumentin rakenteen määritys
- mitä elementtejä missä järjestyksessä
- attribuutit
  - <a href="...

## SGML ja HTML

- HTML SGML:n sovellus
- HTML DTD /IETF/DTD HTML 2.00/EN
- Laajimmalle levinnyt SGML:n sovellus
- SGML käyttäjille näkymätön

## HTML SGML:n sovelluksena

- geneerinen DTD
- monikäyttöinen
  - kaikille kohtalaisesti
  - ei kenellekään täydellisesti
- rakenteessa ei minkään alan erikoisuuksia

## Oikein kirjoitetun HTML:n merkitys

- ulos oikeanmuotoista tietoa
- sisään vaikka vähän huonompaakin materiaalia
- paljon browsereita, servereitä, proxyja, robotteja, agentteja...
- uudelleenkäytettävyys
- automaattiset muunnokset

## HTML:n kehittyminen...

- HTML 3.0
  - taulukot
  - matemaattiset kaavat
  - parempi kuvien hallinta
  - tarkempi ulkoasun kontrolli
  - tyylit
- valmistajakohtaisia laajennuksia (NetScape!)
- enemmän ulkoasua kuin rakennetta

## Ulkoasu vastaan rakenne

- Rakenteen koodaaminen
  - enemmän todellista informaatiota
  - sopii eri käyttöympäristöihin
  - informaatiota helpompi hyödyntää uudelleen
    - muunnokset
    - haut
- Ulkoasu
  - muoto osa viestiä
  - kaupalliset sovellukset

## Ulkoasun koodaaminen WWW:ssä

- muotoilua tukeva DTD (esim. Netscape)
  - spesifinen ratkaisu
- tyylimäärittelyt
  - joustava ratkaisu
  - mahdollisuus erottaa sisältö ja ulkoasu
  - HTML 3.0 + DSSSL-Lite
- muiden tiedostomuotojen käyttö (Acrobat)

## SGML osana WWW:tä

- Ensimmäinen vapaa SGML-selailuohjelma saatavilla
  - NCSA Mosaic + SoftQuadin Panorama Free
  - dokumentti + tyylimäärittely
  - enemmän mahdollisuuksia kuin pelkällä HTML:llä

## Yhteenveto

- ulkoasu <> rakenne
- WWW SGML:n näkyvin sovellus
- koodatkaa oikeaa HTML:ää!
- kaupalliset intressit vastaan informaation vapaa jakelu
- kehitys keskittynyt ulkoasuun
- pois SGML:n perusajatuksista

## SGML-materiaalia ja muita

- SGML-arkisto Norjassa - kaikki mitä ikinä olet halunnut tietää SGML:stä ja enemmän
- WWW ja SGML - SoftQuadin asiaa käsittelevä sivu, josta linkkejä eri puolille
- comp.text.sgml - perinteisesti asiapitoinen ja tekninen uutisryhmä, toukokuun lopulla kiivasta ja osin asiallistakin keskustelua akselilla SGML - HTML - PDF (Acrobatin tiedostomuoto)

Herättikö kysymyksiä? Ota yhteyttä minuun niin voin yrittää vastata.