XHTML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Niculinux (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
{{tmp|Formato file}}
L''''XHTML''' (sigla di '''eXtensible HyperText Markup Language''', ''Linguaggio di marcatura di ipertesti estensibile'') è un [[linguaggio di markup|linguaggio di marcatura]] che associa alcune proprietà dell'[[XML]] con le caratteristiche dell'[[HTML]]: un file XHTML è un pagina HTML scritta in conformità con lo standard XML.
 
Il linguaggio prevede un uso più restrittivo dei [[tag HTML]] sia in termini di validità che in termini di sintassi per descrivere solo la struttura logica della pagina, mentre il [[Impaginazione|layout]] e la resa grafica sono imposti dai [[foglio di stile|fogli di stile a cascata]] (''Cascading Style Sheets'', CSS).
 
L'XHTML è nato ufficialmente il 26 gennaio [[2000]] come standard del [[World Wide Web Consortium]] (W3C), e può essere definito tecnicamente una riformulazione dell'HTML 4.01 in XML 1.0; è una sorta di "ponte" tra questi due linguaggi.
 
== CenniCaratteristiche generali ==
Il linguaggio prevede un uso più restrittivo dei [[tag HTML]] sia in termini di validità che in termini di sintassi per descrivere solo la struttura logica della pagina, mentre il [[Impaginazione|layout]] e la resa grafica sono imposti dai [[foglio di stile|fogli di stile a cascata]] (''Cascading Style Sheets'', CSS).
 
L'XHTML è il successore diretto e la versione più aggiornata dell'HTML. La necessità di un linguaggio dotato di una sintassi meglio definita rispetto a quella dell'HTML cominciò ad essere avvertita quando si diffuse l'uso di inviare [[pagine web]] ai nuovi dispositivi apparsi sul mercato diversi dai tradizionali [[computer]], come ad esempio piccoli apparecchi portatili, dotati di risorse [[hardware]] e [[software]] non sufficienti ad interpretare il linguaggio HTML. Va tenuto presente che più generica è la sintassi di un [[linguaggio di markup]], più difficile risulta realizzare dispositivi in grado di interpretarlo correttamente. Una specifica [[Document Type Definition]] (DTD) definisce l'insieme di regole mediante le quali un dato documento può essere [[rendering|renderizzato]] (cioè ''rappresentato correttamente'') dall'XHTML.
 
Riga 20:
 
Nell'XHTML tutti gli attributi (compresi quelli numerici) devono essere scritti fra virgolette, cosa facoltativa in SGML e HTML, in cui le virgolette possono essere omesse se il contenuto è una stringa alfanumerica o comprende alcuni altri caratteri speciali riservati.
Per ulteriori dettagli si rinvia alle [http://www.w3.org/TR/xhtml1/#diffs specifiche W3C XHTML]. Le pagine di [[Wikipedia]] sono {{chiarire|attualmente|Quando?}} scritte usando la versione 1.0 Transitional di XHTML.
 
Per ulteriori dettagli si rinvia alle [http://www.w3.org/TR/xhtml1/#diffs specifiche W3C XHTML].
 
Le pagine di [[Wikipedia]] sono {{chiarire|attualmente|Quando?}} scritte usando la versione 1.0 Transitional di XHTML.
 
== Versioni di XHTML ==
Come sopra accennato, XHTML è una riformulazione di HTML come linguaggio XML. Quindi, come è logico aspettarsi, ne esistono tre differenti DTD, corrispondenti ad altrettante DTD di HTML 4.01
 
=== XHTML 1.0 ===
* ''XHTML 1.0 Transitional'': nato per favorire la migrazione dalla vecchia versione HTML 3.2 o per uso insieme a link e frame ''in-line''. Accetta come validi anche i tag HTML che sono stati definiti come ''deprecati'' in XHTML ed è tollerante rispetto ad alcune non conformità sintattiche.
* ''XHTML 1.0 Strict'': rispetto alla versione ''Transitional'' non accetta i tag HTML definiti deprecati, non è tollerante a non conformità sintattiche e prevede controlli più rigorosi anche rispetto al valore di alcuni attributi dei tag (per esempio, l'attributo ''id'' deve avere valori univoci all'interno dello stesso documento).
* ''XHTML 1.0 Frameset'': nato per motivi di compatibilità per suddividere la finestra visualizzata dal browser in diversi [[frame]] (''sottofinestre''), pratica un tempo diffusa ma ora deprecata dal World Wide Web Consortium.
 
=== XHTML 1.1 ===
L'ultima versione di XHTML è la ''XHTML 1.1'', che è una riformulazione dell'XHTML ''Strict'', quindi ha una sola DTD. Non accetta i tag e gli attributi più criticati della precedente versione (come la struttura a [[frameset]]). Questa versione invece supporta i tag del cosiddetto markup «ruby», che consente di visualizzare i set di caratteri delle lingue orientali.
 
=== Versioni per dispositivi mobili ===
Esistono altre versioni di XHTML, studiate per dispositivi portatili:
 
* ''[[XHTML Basic]]'': versione speciale semplificata dell'XHTML, per dispositivi le cui risorse non sono in grado di supportare il set completo di comandi e tag XHTML, come ad esempio i telefoni [[Telefono cellulare|cellulari]]. È da considerare come la controparte degli esistenti linguaggi [[Wireless Markup Language|WML]] e [[C-HTML]].
* ''[[XHTML Mobile Profile]]'': basato sulla versione ''Basic'' di XHTML, sviluppato da [[Nokia]] per aggiungere all'XHTML Basic funzionalità specifiche dei terminali telefonici.
 
=== XHTML 2.0 ===
'''''XHTML 2''''' è un linguaggio di progettazione per il web; il 2 luglio [[2009]] il [[World Wide Web Consortium]] ne ha decretato la cessazione dello sviluppo<ref>[http://www.w3.org/News/2009#entry-6601 XHTML 2 Working Group Expected to Stop Work End of 2009, W3C to Increase Resources on HTML 5]</ref>, mentre era ancora in fase di specifica, a favore dell'[[HTML5]] . Nelle intenzioni, doveva rappresentare l'evoluzione dell'XHTML 1.0.
 
Si caratterizza principalmente per una struttura modulare, in cui le regole per l'impostazione dei vari elementi di una pagina web (suddivisione del testo; moduli elettronici; dati tabellari eccetera) sono descritte in moduli separati, che possono evolvere indipendentemente tra loro.<br />
Rispetto alla prima versione di XHTML, vengono rese più forti le caratteristiche [[XML]] per le regole sintattiche, inoltre vengono approfondite ed estese le possibilità di controllo sui moduli elettronici (''form''), introducendo strutture più complesse ed elementi di elaborazione.<br />
La definizione procedeva in parallelo a quella dell'[[HTML5]], che veniva considerato dal World Wide Web Consortium come uno standard di markup complementare rispetto a XHTML 2, ma la fase di specifica si è arrestata di fronte a due problemi:
# la scarsa compatibilità;
# si sarebbe trattato a tutti gli effetti di un markup quasi completamente nuovo, piuttosto che di un'evoluzione dell'XHTML 1.1.
Dunque si è preferito abbandonare l'XHTML 2 a favore dell'[[HTML5]], che riprende alcune delle definizioni e degli approcci concepiti per XHTML 2 ma adattati per garantire un funzionamento compatibile con gli attuali browser.
 
== Validazione dei documenti XHTML ==
Line 80 ⟶ 51:
 
Questo non è, ovviamente, un elenco esauriente degli errori, ma solo un'indicazione di quelli che i programmatori commettono più frequentemente. Quando una pagina è validata utilizzando il servizio di validazione del [[W3C]], il validatore restituisce una piccola [[Icona (informatica)|icona]] che può essere inserita nel documento per comprovarne la conformità allo standard. Il W3C fornisce lo stesso servizio anche per i fogli di stile [[Foglio di stile|CSS]] e per i documenti HTML.
 
== Versioni di XHTML ==
Come sopra accennato, XHTML è una riformulazione di HTML come linguaggio XML. Quindi, come è logico aspettarsi, ne esistono tre differenti DTD, corrispondenti ad altrettante DTD di HTML 4.01
 
=== XHTML 1.0 ===
* ''XHTML 1.0 Transitional'': nato per favorire la migrazione dalla vecchia versione HTML 3.2 o per uso insieme a link e frame ''in-line''. Accetta come validi anche i tag HTML che sono stati definiti come ''deprecati'' in XHTML ed è tollerante rispetto ad alcune non conformità sintattiche.
* ''XHTML 1.0 Strict'': rispetto alla versione ''Transitional'' non accetta i tag HTML definiti deprecati, non è tollerante a non conformità sintattiche e prevede controlli più rigorosi anche rispetto al valore di alcuni attributi dei tag (per esempio, l'attributo ''id'' deve avere valori univoci all'interno dello stesso documento).
* ''XHTML 1.0 Frameset'': nato per motivi di compatibilità per suddividere la finestra visualizzata dal browser in diversi [[frame]] (''sottofinestre''), pratica un tempo diffusa ma ora deprecata dal World Wide Web Consortium.
 
=== XHTML 1.1 ===
L'ultima versione di XHTML è la ''XHTML 1.1'', che è una riformulazione dell'XHTML ''Strict'', quindi ha una sola DTD. Non accetta i tag e gli attributi più criticati della precedente versione (come la struttura a [[frameset]]). Questa versione invece supporta i tag del cosiddetto markup «ruby», che consente di visualizzare i set di caratteri delle lingue orientali.
 
=== XHTML 2.0 ===
'''''XHTML 2''''' è un linguaggio di progettazione per il web; il 2 luglio [[2009]] il [[World Wide Web Consortium]] ne ha decretato la cessazione dello sviluppo<ref>[http://www.w3.org/News/2009#entry-6601 XHTML 2 Working Group Expected to Stop Work End of 2009, W3C to Increase Resources on HTML 5]</ref>, mentre era ancora in fase di specifica, a favore dell'[[HTML5]] . Nelle intenzioni, doveva rappresentare l'evoluzione dell'XHTML 1.0.
 
Si caratterizza principalmente per una struttura modulare, in cui le regole per l'impostazione dei vari elementi di una pagina web (suddivisione del testo; moduli elettronici; dati tabellari eccetera) sono descritte in moduli separati, che possono evolvere indipendentemente tra loro.<br />
Rispetto alla prima versione di XHTML, vengono rese più forti le caratteristiche [[XML]] per le regole sintattiche, inoltre vengono approfondite ed estese le possibilità di controllo sui moduli elettronici (''form''), introducendo strutture più complesse ed elementi di elaborazione.<br />
La definizione procedeva in parallelo a quella dell'[[HTML5]], che veniva considerato dal World Wide Web Consortium come uno standard di markup complementare rispetto a XHTML 2, ma la fase di specifica si è arrestata di fronte a due problemi:
# la scarsa compatibilità;
# si sarebbe trattato a tutti gli effetti di un markup quasi completamente nuovo, piuttosto che di un'evoluzione dell'XHTML 1.1.
Dunque si è preferito abbandonare l'XHTML 2 a favore dell'[[HTML5]], che riprende alcune delle definizioni e degli approcci concepiti per XHTML 2 ma adattati per garantire un funzionamento compatibile con gli attuali browser.
 
=== Versioni per dispositivi mobili ===
Esistono altre versioni di XHTML, studiate per dispositivi portatili:
 
* ''[[XHTML Basic]]'': versione speciale semplificata dell'XHTML, per dispositivi le cui risorse non sono in grado di supportare il set completo di comandi e tag XHTML, come ad esempio i telefoni [[Telefono cellulare|cellulari]]. È da considerare come la controparte degli esistenti linguaggi [[Wireless Markup Language|WML]] e [[C-HTML]].
* ''[[XHTML Mobile Profile]]'': basato sulla versione ''Basic'' di XHTML, sviluppato da [[Nokia]] per aggiungere all'XHTML Basic funzionalità specifiche dei terminali telefonici.
 
== Note ==
Line 100 ⟶ 98:
* {{en}} [http://www.w3.org/TR/xhtml2/ Working Draft della specifica XHTML 2.0]
* {{en}} [[wikibooks:XHTML (XML)|XHTML tutorial]] su Wikibooks
 
{{Estensioni}}
{{Portale|informatica|Web}}
 
[[Categoria:Standard W3C]]