<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>Virtual Library</title>
</head>

<body>

<p>
Tanto rumor per poco.
<br/>
poco rumor per poco.
</p>

<hr/>

<p>
altro rumor per tanto.
</p>

</body>
</html>


L'elemento radice (root element) del doc XHTML deve contenere una dichiarazione di "namespace".

Il namespace per XHTML e'        http://www.w3.org/1999/xhtml.

L'elemento radice e' sempre il caro vecchio "html" (minuscolo e senza virgolette!), con qualche aggiunta (namespace e linguaggio usato nel documento).
Dal linguaggio dipende il set di caratteru usato nella visualizzazione.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Prima dell'elemento radice deve esserci una dichiarazione di "tipo di documento" (DOCTYPE).

L'ident. PUBLIC dovra' corrispondere ad una delle tre possibili DTD ("document type description").

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

L'ident. SYSTEM puo' cambiare per riflettere convenzioni locali.

La dichiarazione XML non e' sempre strettamente necessaria.

E' richiesta quando il "character encoding" e' diverso da quelli di default (UTF-8, UTF-16) senza che sia stato gia' implicito per effetto di un protocollo a piu' alto livello. e non ci sono altre codifiche inferite.

Il suo uso e' comunque incoraggiato sempre, per questioni di correttezza formale.