XHTML: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
tradotta parte |
completata traduzione, tolti tag WIP e STUB |
||
Riga 1:
'''XHTML''' ([[acronimo]] per '''Extensible HyperText Markup Language''') nasce ufficialmente il [[26 gennaio]] [[2000]] come raccomandazione [[W3C]], ed è una riformulazione di [[HTML]] 4 come applicazione [[XML]] 1.0, ovvero come linguaggio definito a partire da XML. Il linguaggio prevede un uso più rigido dei tag [[HTML]] e solo la struttura della pagina è scritta in XHTML
▲'''XHTML''' ([[acronimo]] per '''Extensible HyperText Markup Language''') nasce ufficialmente il [[26 gennaio]] [[2000]] come raccomandazione [[W3C]], ed è una riformulazione di [[HTML]] 4 come applicazione [[XML]] 1.0, ovvero come linguaggio definito a partire da XML. Il linguaggio prevede un uso più rigido dei tag [[HTML]] e solo la struttura della pagina è scritta in XHTML, mentre l'aspetto grafico della pagina web dovrebbe essere lasciato ai [[fogli di stile]] ([[CSS]]). HTML è, a sua volta, un'applicazione particolare di [[SGML]], [[linguaggio di markup]] estremamente flessibile.
== Cenni generali ==
XHTML è il successore diretto e la versione corrente di HTML. La necessità di un linguaggio dotato di una sintassi meglio definita rispetto a quella dell'HTML
La maggior parte delle versioni dei [[browser]] attualmente più diffusi è già in grado di renderizzare correttamente documenti
Le differenze fra HTML e l'XHTML ''Transitional'' (vedi oltre) non sono molto grandi, e sono volte principalmente ad aumentarne l'aderenza alle specifiche dell'[[XML]]. La differenza più importante è che tutti i [[tag]] devono essere [[tag well formed|well formed]] (letteralmente ''ben strutturati''), cioè obbedire ad una serie di regole ben precise che ne assicuri la coerenza reciproca. Inoltre i tag devono essere scritti tutti 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. Tutti gli elementi del linguaggio devono inoltre essere ''terminati'', compresi quelli ''vuoti'' (ad esempio <code>img</code> and <code>br</code>). Per eseguire la terminazione in modo implicito si può aggiungere uno [[slash]] di chiusura al tag di apertura (es: <code><img … /></code> and <code><br /></code>). Altri tipi di abbreviazione sono non sono invece permessi (es: <code><option selected></code>). Per ulteriori dettagli consultare le seguenti [http://www.w3.org/TR/xhtml1/#diffs specifiche W3C XHTML].
Le stesse pagine di [[Wikipedia]] sono attualmente scritte usando la versione 1.0 Transitional (''di transizione'') di XHTML.
== Versioni di XHTML ==
Come sopra accennato, XHTML è una riformulazione di HTML come linguaggio XML. Di conseguenza ne esistono tre differenti versioni, corrispondenti ad altrettante versioni di HTML (versione 4.0).
* ''XHTML 1.0 Transitional'': nato per favorire la migrazione dal HTML3.2, o per uso insieme a link e frame ''in-line''
* ''XHTML 1.0 Strict'': separa il contenuto dal la disposizione (''layout''), che ora viene definito mediante i [[Style Sheets|CSS]])
* ''XHTML 1.0 Frameset'': per suddividere la finestra visualizzata dal browser in diversi [[frames]]
* ''XHTML 1.1'': Module-based XHTML, con cui i programmatori possono inserire nelle pagine funzionalità e tag aggiuntivi, come ad esempio i [[frameset]]. Questa versione inoltre supporta i tag del cosiddetto markup [[Ruby characters|ruby]], richiesto per visualizzare le lingue orientali.
* [[XHTML Basic]]: versione speciale semplificata dell'XHTML, per dispositivi le cui risorse non sono in grado di supportare i set completo di comandi e tag XHTML, come ad esempio i telefoni [[cellulari]]. E' 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 funzionalità specifiche della telefonia all' XHTML Basic.
Le specifiche della versione XHTML 2.0 sono tuttora in via di definizione, non senza contrasti fra le varie parti interessate, visto che sono sorti vari problemi di compatibilità con le versioni precedenti. Ciò è dovuto al fatto che si tratta a tutti gli effetti di un nuovo linguaggio di markup basato sulla precedente versione piuttosto che di una sua evoluzione.
== Validazione dei documenti XHTML ==
Un documento XHTML che risponde alle specifiche è definito ''documento valido''. Teoricamente, tutti i browser dovrebbero essere conformi agli standard W3C, e quindi essere in grado di renderizzare i documenti su qualsiasi [[piattaforma]]. La [[validazione]] (cioè il ''controllo sintattico'') dei documenti XHTML non assicura al 100% la compatibilità su tutti i browser, ma è tuttavia fortemente consigliata. Uno strumento per controllare la validità dei documenti è disponibile presso il ''Markup Validation Service'' del W3C ( vedi [http://validator.w3.org/]).
Come sopra accennato, perchè un documento possa essere validato, deve contenere un elemento chiamato [[DTD]] (''Document Type Declaration'' oppure ''Document Type Definition''), da posizionare preferibilmente all'inizio del documento. I tipi più comuni di DTD sono:
;XHTML 1.0 Strict
Line 45 ⟶ 39:
:<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, come ad esempio quello messo a disposizione dal W3C sopra indicato, di controllare se esso risponde agli standard. Il processo di validazione identifica e fornisce una descrizione degli errori rilevati.
Alcuni degli errori più comuni che i programmatori commettono scrivendo codice XHTML sono:
*Elementi privi di terminatore (come sopra detto l'XHTML è molto più restrittivo dell'HTML sotto questo aspetto).
*Omissione di un testo in alternativa ad un'immagine (da usare mediante l'attributo <code>alt</code>, in modo da consentire la compatibilità con dispositivi il cui display non supprta immagini).
*Inserire testi direttamente nel corpo del documento.
*Annidare blocchi di codice all'interno di elementi inline.
*Dimenticare le virgolette per delimitare gli attributi.
*Annidare gli elementi in modo non valido.
*
*Usare le maiuscole per i nomi dei tag e/o degli attributi.
Questo non è, ovviamente, un elenco eaustivo 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 che può essere inserita nel documento per comprovarne la conformità allo standard. Il W3C fornisce lo stesso servizio anche per i fogli di stile [[CSS]] e per i documenti HTML.
== Voci correlate ==
Line 86 ⟶ 77:
Specifiche w3c: http://www.w3c.cnr.it/traduzioni/xhtml1-it.html
[[Categoria:Linguaggi di markup]]
|