XHTML: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
|||
(36 versioni intermedie di 28 utenti non mostrate) | |||
Riga 2:
{{Formato file
| nome = XHTML
| estensione = .xhtml, .xht, .xml, .html, .htm▼
| uniform_type_identifier =public.XHTML▼
▲| estensione = .xhtml, .xht,
▲| uniform_type_identifier =
▲| sviluppatore = [[3WC]]
▲| data_rilascio = 26 gennaio 2000
| ultima_versione = 2.0
| data_ultima_versione = 2 luglio 2009
| aperto = Sì
| sito = www.w3.org/MarkUp/
}}
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 è
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.
== Caratteristiche generali ==
L'XHTML è il successore diretto dell'HTML 4.
;Struttura logica della pagina
Line 37 ⟶ 25:
Tutti i [[browser]] attualmente più diffusi sono in grado di renderizzare correttamente i documenti XHTML, ma anche i browser più vecchi sono solitamente in grado di interpretare i documenti XHTML, poiché questo linguaggio è in buona parte un sottoinsieme dell'HTML e le sue regole sintattiche sono compatibili anche a ritroso. Lo stesso vale anche in senso inverso: quasi tutti i browser compatibili con l'XHTML renderizzano correttamente anche i documenti HTML.
L
La differenza più importante è che tutti i [[tag HTML|tag]] devono essere ben strutturati, cioè obbedire ad una serie di regole che ne assicurino la coerenza reciproca, e devono essere ''terminati'', compresi quelli ''vuoti'' (ad esempio <code>img</code> e <code>br</code>). Per eseguire la terminazione in modo implicito si può aggiungere una "/" di chiusura al tag di apertura (es: <code><img … /></code> e <code><br /></code>). Altri tipi di abbreviazione non sono invece permessi (es: <code><option selected></code>).
Line 43 ⟶ 31:
La sintassi prevede inoltre che i tag debbano essere sempre scritti in lettere minuscole, convenzione in contrasto con l'abitudine invalsa a partire dalla versione 2.0 di HTML, quando la maggior parte dei programmatori preferiva le maiuscole.
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 [https://www.w3.org/TR/xhtml1/#diffs specifiche W3C XHTML]. Le pagine di [[Wikipedia]] sono state scritte usando la versione 1.0 Transitional di XHTML.
== Validazione dei documenti XHTML ==
Un documento XHTML che risponde alle specifiche è definito ''documento valido'' ovvero ''well formed''. Teoricamente, tutti i browser dovrebbero essere conformi agli standard W3C, e quindi essere in grado di rendere i documenti su qualsiasi [[piattaforma (informatica)|piattaforma]]. La
Come sopra accennato, perché un documento possa essere validato, deve contenere un elemento chiamato DTD ([[Document Type Definition]] o Document Type Declaration), da posizionare preferibilmente all'inizio del documento. I tipi più comuni di DTD, e le relative sintassi dichiarative, sono:
Line 60 ⟶ 47:
:<code><nowiki><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"></nowiki></code>
Il tipo di codifica applicata (''character encoding'') deve essere sempre specificato all'inizio del documento. Ciò consente al [[Validatore (informatica)|validatore]], come ad esempio quello prima citato, messo a disposizione dal W3C, di controllare se il documento risponde allo standard. Il processo di validazione identifica e fornisce una descrizione degli errori rilevati (''error log'').
Alcuni degli errori più comuni che gli sviluppatori commettono scrivendo codice XHTML sono:
Line 70 ⟶ 57:
* Dimenticare le virgolette per delimitare gli attributi.
* Annidare gli elementi in modo non valido.
* Usare in modo scorretto entità varie (ad esempio <
* Usare le maiuscole per i nomi dei tag e/o degli attributi.
Line 81 ⟶ 68:
* ''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 [[Elemento HTML#Frame|frame]] (''sottofinestre''), pratica un tempo diffusa ma ora deprecata dal World Wide Web Consortium.
=== XHTML 1.1 ===
Line 87 ⟶ 74:
=== 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>[
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.
Line 99 ⟶ 84:
Lo standard HTML 5 include delle direttive per scrivere codice HTML processato come XML, al quale ci si riferisce abitualmente come XHTML 5.
Le modifiche allo standard HTML 5 sono anche implicitamente applicate all'XHTML 5, ma non si tratta di due linguaggi differenti, quanto di due diverse ''sintassi'' dello stesso linguaggio.<ref>[
=== Versioni per dispositivi mobili ===
Line 108 ⟶ 93:
== Note ==
<references
== Voci correlate ==
Line 116 ⟶ 101:
* [[XML]]
* [[HTML5]]
== Altri progetti ==
{{interprogetto|preposizione=sull'}}
== Collegamenti esterni ==
* [http://www.w3c.cnr.it/traduzioni/xhtml1-it.html Specifica XHTML 1.0] {{Webarchive|url=https://web.archive.org/web/20030615133109/http://w3c.cnr.it/traduzioni/xhtml1-it.html |data=15 giugno 2003 }} (traduzione non normativa)▼
*
▲* [http://www.w3c.cnr.it/traduzioni/xhtml1-it.html Specifica XHTML 1.0] (traduzione non normativa)
* {{cita web|https://www.w3.org/MarkUp/|W3C's HTML Home Page|lingua=en}}
▲* [http://lau.csi.it/risorse/xhtml_tagxtag/index.shtml Lista completa dei tag XHTML con descrizione delle funzionalità, supporto dei browser ed esempi pratici di applicazione]
* {{en}}
* {{
* {{
▲* {{en}} [[wikibooks:XHTML (XML)|XHTML tutorial]] su Wikibooks
{{Controllo di autorità}}
{{Portale|internet}}
|