HTML

Wikipediasta
Tämä on arkistoitu versio sivusta sellaisena, kuin se oli 3. kesäkuuta 2011 kello 16.51 käyttäjän Anr (keskustelu | muokkaukset) muokkauksen jälkeen. Sivu saattaa erota merkittävästi tuoreimmasta versiosta.
Siirry navigaatioon Siirry hakuun
Esimerkki HTML-koodista

HTML (lyhenne sanoista Hypertext Markup Language, suomennettuna hypertekstin merkintäkieli) on avoimesti standardoitu kuvauskieli, jolla voidaan kuvata hyperlinkkejä sisältävää tekstiä eli hypertekstiä. HTML:llä voidaan myös merkitä tekstin rakenne eli esimerkiksi, mikä osa tekstistä on otsikkoa ja mikä leipätekstiä. HTML tunnetaan erityisesti kielenä, jolla webbisivut on koodattu.

HTML 5:tä edeltävien HTML-versioiden syntaksi on määritelty SGML:n sovelluksina. HTML 4.01:stä on muokattu myös XML:n sovellukseksi luokiteltava versio XHTML 1.0, ja HTML 5:n luonnoksesta on rinnakkainen XML-versio XHTML 5.

Rakenteisuus ja merkkaus

Elementit ja tunnisteet

HTML-koodi on rakenteista tekstiä, joka muodostuu sisäkkäisistä ja perättäisistä elementeistä. Koodauksen tasolla elementtejä edustavat kulmasulkein merkityt tunnisteet eli tägit, jotka nimeävät elementin tyypin. Selaimet eivät näytä tunnisteita sellaisinaan vaan käsittelevät niitä teknisinä ohjeina, joiden mukaan sivun varsinainen sisältö tulee jäsentää.

Tavallisesti elementissä on erikseen aloitustunniste ja vinoviivalla merkitty lopetustunniste sekä niiden väliin jäävä sisältö (jossa voi olla tekstiä ja myös muita HTML-elementtejä):

<tunniste>elementin sisältö</tunniste>

Aloitustunnisteeseen saattaa lisäksi sisältyä attribuutteja, jotka määrittävät elementin ominaisuuksia tarkemmin kuin tunnisteen nimeämä elementin tyyppi:

<tunniste attribuutti="arvo">elementin sisältö</tunniste>

Eräissä HTML-elementeissä ei ole mitään sisältöä. Sisällyksetöntä elementtiä edustaa esimerkiksi pakollisen rivinvaihdon muodostava <br>-tunniste. Sisällyksettömät elementit eivät tarvitse lopetustunnistetta, paitsi jos kyse on XHTML-koodista. Tällöinkin erillinen lopetustunniste voidaan korvata siten, että lopetusmerkkinä toimiva vinoviiva merkitään heti aloitustunnisteen loppuun:

<tunniste/>

Rakenteellinen merkkaus määrittää elementin tarkoituksen. Esimerkiksi merkintä <h2>Golf</h2> tarkoittaa, että sana Golf on toisen asteen otsikko (joka näkyy selaimessa samanlaisena kuin Merkintä ja koodaus -otsikko tämän osion alussa). Rakenteellinen merkkaus ei periaatteessa määritä sitä, miltä tekstin pitää selaimessa näyttää, mutta yleensä selaimet noudattavat jotain oletusarvoista tapaa esittää erityyppisiä elementtejä. Tekstien ulkoasua voidaan lisäksi säädellä tarkemmin CSS (Cascading Style Sheets) -tyyliohjeilla.

Esityksellinen merkkaus määrittää elementin ulkoasun, mutta ei tarkoitusta. Esimerkiksi <b>sisältö</b> tarkoittaa, että elementin sisältö tulisi näyttää lihavoituna tekstinä. Esityksellinen merkkaus ei kuitenkaan ota kantaa siihen, miten sisältö pitäisi esittää, jos tulostuslaite ei pysty lihavoimaan sisältöä (ei ole itsestään selvää, miten esimerkiksi puhesyntetisaattorin pitäisi käsitellä lihavointia, kun se muuntaa tekstin ääneksi). Sen sijaan rakenteellinen merkkaus <strong>sisältö</strong> tarkoittaa, että sisältö tulee esittää voimakkaasti, mutta ei ota kantaa siihen, tarkoittaako voimakkuus tekstin lihavointia vai puheen painokkuutta. Suurin osa esityksellisistä merkkauksista katsotaankin HTML 4.0 -spesifikaatiossa vanhentuneeksi.

Hypertekstuaaliset merkkaukset linkittävät osia dokumentista toisiin dokumentteihin. Hyperlinkki luodaan erityisellä ankkurielementillä <a>, jossa href-attribuutti määrittää kohdedokumentin URL:n. Elementin sisältö hahmottuu selaimessa linkkisanaksi:

<a href="http://en.wikipedia.org/">Wikipedia</a>

Merkki- ja nimiviittaukset

HTML-koodiin voi sisällyttää erikoismerkkejä merkki- tai nimiviittauksilla, jotka alkavat &-merkillä (et eli ampersandi) ja loppuvat puolipisteeseen. Esimerkiksi nimiviittauksella &Omega; voidaan tuottaa kreikkalainen suuraakkonen Ω eli oomega (jota kansainvälisen yksikköjärjestelmän mukaan käytetään myös ohmin tunnuksena).

Koodaus

HTML-dokumentteja on mahdollista kirjoittaa millä tahansa tekstieditorilla, mutta käytettävissä on myös erityisiä HTML-editoreja. Periaatteessa HTML-koodin tulisi aina läpäistä validointi, mutta käytännössä monet selaimet hyväksyvät myös dokumentteja, joiden HTML-koodi ei ole standardin mukaista. Perinteisesti HTML:n validointi on ollut sikäli työlästä, että sen jäsentäminen ei ole aivan triviaalia. HTML:n säännönmukaisempi muunnelma XHTML sen sijaan perustuu XML-kieleen, jolle on olemassa huomattava joukko hyviä jäsentimiä ja validaattoreita, joten XHTML:ää voi kirjoittaa helposti myös millä hyvänsä XML-editorilla.

Jos koodissa on kaksi tai useampia peräkkäisiä välilyöntejä, ne näyttävät selaimessa yhdeltä välilyönniltä. Myös koodiin sisältyvät rivinvaihdot ilmenevät selaimessa pelkkänä välilyöntinä, ja jos rivinvaihdon halutaan näkyvän selaimessa, se on tuotettava erityisellä merkinnällä.

Historia ja standardointi

HTML:n historia alkoi vuonna 1989, kun Tim Berners-Lee ja Robert Caillau hahmottelivat korviketta CERNin dokumenttien kirjavalle formaatille. Rinnalle suunniteltiin yksinkertainen verkkoprotokolla HTTP. HTML-dokumenttien verkkoa internetissä kutsutaan World Wide Webiksi eli lyhyesti webiksi. Joillekin se on yhtä kuin Internet. CERN käynnisti oman WWW-palvelimensa vuonna 1991, ja monet ideasta kiinnostuneet liittyivät siihen nopeasti. HTML-standardia ylläpitää vuonna 1994 perustettu kansainvälinen yritysten ja yhteisöjen yhteenliittymä W3C (World Wide Web Consortium).

HTML:n alkuperäinen tarkoitus oli pikemminkin kuvata WWW-sivun rakennetta kuin sen ulkoasua, mutta sivujen kirjoittajat halusivat ennen pitkää paremmat mahdollisuudet vaikuttaa myös dokumenttiensa ulkoasuun. Selainvalmistajat vastasivat tarpeeseen esittelemällä HTML-määritykseen kuulumattomia elementtejä, joilla esitystapaa saattoi kuvailla. Monet näistä elementeistä jouduttiin myöhemmin ottamaan mukaan viralliseen HTML-määritykseen käytännön standardeina. Nykyisin monia elementtejä jälleen puuttuu itse HTML:sta, sillä ulkoasun kuvailussa on siirrytty erillisiin tyyliohjeisiin, jotka kuvataan CSS-kielellä. CSS:ään siirtyminen paitsi yksinkertaisti HTML:ää, myös helpotti sivujen luomista ja päivittämistä.

Ensimmäiset määrittelyt

Berners-Lee julkaisi ensimmäisen kuvauksen HTML:sta Internetissä vuoden 1991 lopulla.[1] Siinä oli 22 elementtityyppiä, joista 13 on edelleen käytössä HTML 4:ssä. Berners-Lee suunnitteli HTML:n SGML:n sovellukseksi, mutta vasta IETF toteutti määrittelyn sen avulla vuonna 1993. IETF:n määrittely oli vedos, joka raukesi kuuden kuukauden päästä. Se sisälsi NCSA Mosaicin tukeman kuvien lisäyksen dokumentteihin. Dave Raggett julkaisi kilpailevan HTML+:n, joka sisälsi myös jo käytössä olleet taulukot ja lomakekentät.

HTML 2.0

Alkuvuodesta 1994 IETF muodosti HTML-työryhmän laatimaan "HTML 2.0" -määritelmän, joka julkaistiin vuonna 1996 koodinimellä RFC 1866. Siihen tehtiin joitain lisäyksiä, kuten tiedoston tallennus palvelimelle, RFC 1867; taulukot, RFC 1942; kuvakartat, RFC 1980; merkistömäärittelyt ja LANG-attribuutti, RFC 2070.

HTML 3.0 ja 3.2

IETF julkaisi huhtikuussa 1995 myös standardiehdotuksen HTML 3.0:sta, mutta sekin raukeni viiden kuukauden kuluttua ilman toimenpiteitä. Tämä standardiehdotus sisälsi monia Raggettin HTML+:n ominaisuuksista, kuten matemaattisten kaavojen sisällyttämisen dokumenttiin, taulukot ja tekstin sijoittelun kuvien ympärille. Ainoa selain joka osasi HTML 3.0:aa oli W3C:n Arena.

IETF:n työryhmän toiminta hiipui, ja työryhmä lakkautettiin syyskuussa 1997. Pitkään HTML:n kehittäminen oli omia koodejaan määritelleiden selainvalmistajien, lähinnä Netscapen ja Microsoftin, varassa.

Standardointityö jatkui, kun W3C julkaisi HTML 3.2:n tammikuussa 1997.[2] Siitä jätettiin kokonaan pois matematiikan tuki ja siihen lisättiin pääosa Netscapen määrittelemistä sivun ulkomuotoa kuvaavista koodeista.

HTML 4.0

Loppuvuodesta 1997 julkaistiin HTML 4.0. Siinä on kolme tasoa: tiukassa versiossa monia vanhentuneita elementtityyppejä on määritelty laittomiksi, kun taas siirtymävaiheen versiossa näiden käyttö on yhä sallittu; kolmas versio sallii lisäksi Netscape 2.0:n aikoinaan esittelemät kehykset, joiden avulla sivun voi koostaa useasta erillisestä osasivusta.

HTML 4:aa päivitettiin huhtikuussa 1998 ja joulukuussa 1999 HTML 4.01:ksi. Siitä julkaistiin myös toukokuussa 2000 tiukkaan standardiin perustuva ISO-standardi ISO/IEC 15445:2000. HTML 4.01 määriteltiin myös XML:n avulla, jolloin syntyi XHTML.

HTML 5

Ensimmäinen versio HTML 5:n vedoksesta julkaistiin tammikuussa 2008.[3] HTML 5:n uusia ominaisuuksia ovat muun muassa CANVAS- ja VIDEO-elementit, joiden avulla sivulle voidaan sijoittaa piirtoalue ja videopätkä.

Hypertext Application Technology Working Group aloitti HTML 5:n kehitystyön vuonna 2004, kun W3C keskittyi kehittämään XHTML 2.0:aa ja kun HTML 4.01:tä ei ollut päivitetty vuoden 2000 jälkeen.[4] XHTML 2.0:n kehitys lopetettiin ja nykyisin kehittäjät työskentelevät HTML 5:n kehitystyössä.[5]

HTML 5 on vastaus HTML:n ja XHTML:n yleiselle käytölle. Se on sekoitus erilaisten spesifikaatioiden ominaisuuksista www-selaimien käyttöönottamine ominaisuuksineen, käytänteineen sekä monine html-sivujen syntaktisine virheineen. HTML 5 määrittelee myös yksinkertaisen merkkauskielen, jota voi kirjoittaa niin HTML- kuin XHTML-syntaksilla. Se sisältää yksityiskohtaisia prosessimalleja vuorovaikutuksellisempiin toteutuksiin; se laajentaa ja parantaa sekä rationalisoi dokumenttien merkkausta ja esittelee monimutkaisten www-sovellusten merkkausta ja API-määrityksiä.[6]

HTML 5 sisältää monta uutta syntaktista ominaisuutta. Nämä sisältävät <video>-, <audio>- ja <canvas>-elementit sekä SVG-muotoisen sisällön integroinnin, joka on suunniteltu parantamaan multimedian ja graafisen sisällön yhdistämistä ja käsittelyä WWW:ssä ilman patentoituja liitännäisohjelima ja API-rajapintoja. Muut uudet elementit kuten <section>, <article>, <header> ja <nav> on suunniteltu rikastamaan dokumenttien merkityksellisyyttä. Muut elementit on poistettu.selvennä Uusia attribuutteja on esitelty ja toisia poistettu semanttisuuden parantamiseksi ja yksinkertaistamiseksi. Muutamia elementtejä, kuten <a>, <cite> ja <menu>, on muutettu, määritelty uudelleen tai standardoitu. API-rajapintoja ja DOM-määrittelyjä ei ole enää, mutta ne ovat keskeisiä osia HTML 5 -spesifikaatioissa.[6]

Ne määrittelevät muutamia yksityiskohtia, joita tarvitaan virheellisten html-dokumenttien käsittelyssä, jotta syntaksivirheet käsitellään yleisellä tavalla yhdenmukaisesti kaikissa selaimissa ja muissa sovelluksissa.[7]

Katso myös

  • XHTMLXML-standardiin sovitettu HTML
  • CSS – HTML-merkityn tekstin muotoilukieli
  • BBCode – keskustelusivukäyttöön kehitetty merkkikieli
  • JavaScript – Selaimella ajettava skripti

Viitteet

Aiheesta muualla

Malline:Link GA