XHTML

**XHTML** () on HTML:stä kehitetty verkkosivujen merkintäkieli, joka täyttää XML:n muotovaatimukset. Sen oli alun perin tarkoitus korvata HTML.

XHTML:n määrittelee W3C. XHTML 1.0:sta tuli World Wide Web Consortiumin (W3C) suositus 26. tammikuuta 2000. XHTML 1.1:stä tuli W3C:n suositus 31. toukokuuta 2001.

## XHTML:n ja HTML:n erot

XHTML eroaa HTML:stä tiukemmilla muotosäännöillään. Eroja ovat esimerkiksi viittaus käytettyyn XML-määrittelyyn, pakollinen pienten kirjainten käyttö kaikissa tunnisteissa, attribuuttien pakolliset arvot, attribuuttien arvojen pakollinen merkitseminen lainausmerkeillä ja elementtien pakollinen sulkeminen.

Siinä missä HTML-dokumenteissa tulisi käyttää MIME-tyyppiä 'text/html', XHTML-dokumenteissa tulisi käyttää tyyppiä 'application/xhtml+xml'. Käytännössä tämä on kuitenkin huonosta selaintuesta johtuen liki mahdotonta. Tästä syystä myös MIME-tyypin 'text/html' käyttö XHTML 1.0 -dokumenttien tyyppinä on sallittu.

W3C on julkaissut oman ohjeistuksensa HTML-yhteensopivan XHTML:n kirjoittamiseksi.

XHTML-dokumentit on helppo muokata jo olemassa olevista HTML-dokumenteista, mikäli niissä ei käytetä skriptausta. XHTML-tiedosto voidaan monesti jäsentää HTML-jäsentimellä.

## Miksi XHTML?

Tärkein syy XHTML:n kehittämiseen lienee se, että sen ajateltiin sopivan hyvin myös muihin medioihin kuin perinteisiin tietokoneisiin. Tällaisia ovat esimerkiksi matkapuhelin ja muut kannettavat päätelaitteet, televisio ja ns. PDA-laitteet. Käytännössä mobiiliselaimet eivät kuitenkaan ole toteuttaneet XHTML:ää määrittelyn mukaan. XML-työkalujen soveltaminen XHTML:ään nähtiin myös etuna.

## XHTML:n versiot
### XHTML 1.0
XHTML:n ensimmäinen versio oli käytännössä samanlainen kuin HTML 4.01. Eroja ovat lähinnä XHTML 1.0:n rajoitukset isojen ja pienien kirjainten käytössä sekä tägien sulkemisessa. Lisäksi XHTML 1.0 -dokumentit tulisi teoriassa tarjota asiakasohjelmistolle MIME-tyypillä *application/xhtml+xml*, joka sallii myös muiden XML-nimiavaruuksien käytön dokumentissa.

### XHTML 1.1
XHTML 1.1 on edeltäjäänsä hieman tiukempi dokumenttityyppi. Suositus ei sisällä enää ulkoasun määrittelyyn liittyviä elementtejä, joita oli vielä XHTML 1.0 Transitional- ja Frameset -dokumenttityypeissä. Kaikki ulkoasun määrittelyt tulee tehdä tyyliohjeiden avulla. XHTML 1.1 on jaettu osiin eli moduuleihin, joista jokainen sisältää vain tietyntyyppisiä määrityksiä. Tämä mahdollistaa tulevaisuudessa järkevämmän laajennettavuuden ja helpottaa erityislaitteille rakennettavien selainten toteuttamista.

XHTML 1.1 -dokumenttityyppimäärittely on:

:

### XHTML Basic

XHTML Basic on XHTML 1.1:stä supistettu versio, joka on tarkoitettu erityisesti mobiililaitteita varten. Se sisältää samoja osia kuin XHTML 1.1, joista osa on supistettuja.

XHTML Basic -dokumenttityyppimäärittely on:

:

### XHTML5

HTML 5 -luonnos määrittelee kaksi sarjallistusta: HTML5:n text/html:lle ja XHTML5:n application/xhtml+xml:lle.

XHTML5 ei edellytä dokumenttityyppimäärittelyä.

## Lähteet

## Aiheesta muualla

* Ohjelmointiputka: HTML:stä XHTML:ään
* Weppipakin XHTML 1.0 -materiaalia
* XHTML-tutoriaali  Suomenkielinen opas, joka johdattelee XHTML:n perusteisiin.
* Menthal27 Suomenkielinen perusteellinen opas XHTML-merkkauksesta sekä CSS-tyyleistä. Tietoa ja tutoriaaleja myös PHP:stä ja muuta vastaavaa.