XHTML
Fabio Giovanetti
Liceo di Luino
Cos'è XHTML
- XHTML
è una riformulazione di HTML secondo la sintassi di XML
- XHTML richiede maggior rigore sintattico di HTML
- XHTML è supportato da tutti i browser attuali
- XHTML prevede la possibilità di estenderlo con altri linguaggi XML (es. SVG o MathML)
Differenze con HTML
- Chiusura degli elementi
- Uso del minuscolo
- Valori degli attributi tra virgolette
- Obbligatorietà della DTD
Chiusura degli elementi
- Gli elementi devono avere tutti la chiusura
- In HTML potevo scrivere:
<p>Primo Paragrafo
<p>Secondo Paragrafo
- In XHTML devo scrivere:
<p>Primo Paragrafo</p>
<p>Secondo Paragrafo</p>
- Anche gli elementi che non hanno chiusura vanno chiusi in linea:
es. <br /> invece di <br>
<img src="..." /> invece di <img src="...">
Uso del minuscolo
- Tutti i nomi degli elementi vanno scritti in minuscolo
- Lo stesso vale per gli attributi e relativi valori
Valori degli attributi tra virgolette
- Non possima scrivere <table width=100%>
- Scriveremo <table width="100%">
Obbligatorietà della DTD
- All'inizio del documento occorre dichiarare la DTD
- es.
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- O nel caso Transitional (che consente qualche elemento sconsigliato nella strict):
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- Possiamo configurare HTML-KIT per impostare automaticamente la DTD preferita
Convalida dei documenti
- I documenti debbono rispettare la sintassi del linguaggio
- Molti programmi integrano controlli sintattici (es. Tidy in HTML-KIT)
- Esiste un validator del W3C:
validator.w3.org
- C'è anche uno strumento di convalida per i CSS: jigsaw.w3.org/css-validator/
Altre caratteristiche
- Namespace
- Lingua e direzione
- es. <html xml:lang="it" lang="it" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
Econding
- Specifica il set di caratteri
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- Va inserito nell'intestazione (head)
- Permette di usare le lettere accentate e gli altri caratteri delle lingue occidentali
- Diversamente dovremmo ricorrere alle HTML entities
- Es. è per è