HTML eller XHTML?

28 juni, 2012

Tommy Olsson, ledare för arbetet med teknik och standarder i arbetsgruppen som tagit fram den nya versionen av Vägledningen för webbutveckling och även tidigare versioner av den har broderat ut texten lite kring HTML och XHTML. Till vardags arbetar Tommy på Bolagsverket och han har skrivit böcker med fokus på webbstandarder.

XHTML är förmodligen en av de mest missförstådda webbstandarderna. Det är en tillämpning av XML som använder samma semantiska elementmängd som HTML. Med andra ord är det XML som ”ser ut som” HTML. Oerhört många webbutvecklare tror att det är tvärtom: HTML som liknar XML.

Det enda egentliga skälet till att använda XHTML är om man behöver integrera elementtyper från andra XML-namnrymder i koden. Ytterst få har detta behov, särskilt nu när HTML5 gör det möjligt att integrera såväl SVG (vektorgrafik) som MathML (matematiska uttryck) även i HTML.

För att XHTML ska ge någon som helst verkan måste webbservern leverera dokumentet på ett sätt som talar om för mottagaren att det är XML. Om servern säger att det är HTML måste mottagaren att hantera det som HTML och inga som helst ”fördelar” med XML är möjliga.

Det finns en stor nackdel med att leverera webbsidor som XML: minsta lilla fel i koden gör att sidan inte kan visas. Det är ett oavvisligt krav i XML-standarden. XML kräver alltså i praktiken publiceringsverktyg som kan garantera så kallade välformade dokument.

XML är avsett för datalagring och överföring mellan program. Det bör skapas maskinellt för att garantera att koden blir välformad, eftersom en XML-tolk måste avbryta så snart den påträffar ett fel. Webben, å andra sidan, är till för att så många som möjligt ska kunna publicera. Feltolerans är något mycket grundläggande och är också en av de viktigaste orsakerna till att webben blivit så framgångsrik.

Vissa skribenter hävdar att de tycker XHTML är lättare (för människor) att läsa än HTML, eftersom man skriver ”<br/>” (eller till och med ”<br />”) i stället för ”<br>”. HTML5 tillåter detta skrivsätt, men bara för element som aldrig kan ha något innehåll. Den begränsningen gäller dock även för ”XHTML” som levereras som HTML, vilket uppskattningsvis är 99,999 procent av alla föregivna XHTML-sidor.

Den som absolut vill skriva ”<br/>” i stället för ”<br>” (och accepterar att inte kunna skriva ”<div/>”) bör hellre använda HTML5 än XHTML. I synnerhet är det helt meningslöst – ur teknisk synvinkel – att skriva XHTML-kod och leverera den som HTML. Det är inget annat än ogiltig HTML eller, som Henri Sivonen säger: ”taggsoppa med krutonger”. http://hsivonen.iki.fi/doctype/

Läs mer om rekommendation om standarder i R81 Utveckla webbplatsen enligt en standard snarare än för en webbläsare

 

Kommentarer (0)