onsdag 13 oktober 2010

XHTML5?

Om man av någon anledning skulle vara tvingad att använda sig av xml så är det faktiskt inte särskilt svår att göra om ett helt vanligt html5-dokument till xml med html5-syntax, så kallad xhtml5. Först och främst måste man se till att alla element är stängda (vilket inte krävs i alla fall i html5). Man måste även se till att alla attribut är "fnuttade".

För att det ska få kallas xhtml5 så måste det skickas av servern med content-type application/xhtml+xml istället för text/html som brukar vara default. Detta är lätt ändrat med någon rad php-kod:
<?php
$charset = "utf-8";
$mime = (stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")) ? "application/xhtml+xml" : "text/html";
header("content-type:$mime;charset=$charset");
?>
Ovanstående kod är lite väl snäll. Kan mottagaren inte klara av att läsa xml så använder man content-type text/html istället vilket gör att sidan fungerar i läsare så som Internet Explorer men kan inte längre kallas xhtml5.

Nästa steg:
Doctype behövs inte i xhtml5 men om du väljer att låta den vara kvar så måste just doctype stå med stora bokstäver:
<!DOCTYPE html>
Sista steget för att göra om din html5-sida till xhtml5 är att lägga till ett xml namespace genom attributet xmlns på din html-tagg:
<html xmlns="http://www.w3.org/1999/xhtml">
Här är en fullständig xhtml5-sida:
<?php
$charset = "utf-8";
$mime = (stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")) ? "application/xhtml+xml" : "text/html";
header("content-type:$mime;charset=$charset");
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body></body>
</html>
W3C har ännu inte någon validator för xhtml5 men på http://validator.nu/ går det alldeles utmärkt att validera xhtml5 förutsatt att man väljer preset "XHTML5".

Du kan testa en xhtml5-sida på följande länk: Testa att validera en xhtml5-sida

Inga kommentarer:

Skicka en kommentar