XHTML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Marius~itwiki (discussione | contributi)
m typo
Marius~itwiki (discussione | contributi)
aggiunta nota e piccole sistemazioni
Riga 3:
== 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 cominciò ad essere avvertita quando sorse la neccessità di inviare pagine [[web]] a molti dei nuovi dispositivi 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 programmazione]], più difficile risulta realizzare dispositivi in grado di interpretarlo correttamente. Una specifica [[DTD]] (''Document Type Declaration'') definisce l'insieme di regole mediante le quali un dato documento può essere [[rendering|renderizzato]] (cioè ''rappresentato correttamente'') dall'XHTML.
 
La maggior parte delle versioni dei [[browser]] attualmente più diffusi è già in grado di renderizzare correttamente documenti XHTML. Inoltre anche i browser più vecchi sono solitamente in grado di interpretare documenti XHTML, poichè questo linguaggio è in buona misura un sottoinsieme di HTML. Analogamente, quasi tutti i browser compatibili con XHTML renderizzano correttamente anche documenti HTML. Secondo un'opinione diffusa, questo alto grado di compatibilità sta rallentando la migrazione da HTML a XHTML. Per sfruttare integralmente le potenzialità dell'XHTML è necessario usarlo in abbinamento ai [[CSS]] (''Cascading Style Sheets'', cioè ''fogli di stile''), in modo da scrivere un codice per [[pagine web]] in cui la presentazione è separata dal contenuto.
Riga 13:
== Versioni di XHTML ==
 
Come sopra accennato, XHTML è una riformulazione di HTML come linguaggio XML. DiQuindi, conseguenzacome è logico aspettarsi, ne esistono tre differenti versioni, corrispondenti ad altrettante versioni di HTML 4.0
 
* ''XHTML 1.0 Transitional'': nato per favorire la migrazione dal HTML3HTML 3.2, o per uso insieme a link e frame ''in-line''
* ''XHTML 1.0 Strict'': separa il contenuto dal layout, cioè dalla ''presentazione'', che ora viene definita mediante i [[CSS]] (vedi sopra)
* ''XHTML 1.0 Frameset'': per suddividere la finestra visualizzata dal browser in diversi [[frame]] (''sottofinestre'')
* ''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]], richiestoche perconsente di visualizzare lei set di caratteri delle lingue orientali.
* ''[[XHTML Basic]]'': versione speciale semplificata dell'XHTML, per dispositivi le cui risorse non sono in grado di supportare iil set completo di comandi e tag XHTML, come ad esempio i telefoni [[Telefono_cellulare|cellulari]]. E' da considerare come la controparte degli esistenti linguaggi [[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 funzionalità specifiche dei terminali telefonici.
 
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 unaun'evoluzione suadella evoluzioneprecedente versione.
 
== 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 renderizzare i documenti su qualsiasi [[piattaforma]]. La [[validazione]] (cioè il ''controllo sintattico'') dei documenti XHTML non assicura tuttavia al 100% la compatibilità sucon tutti i browser, ma è tuttaviacomunque 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, e le relative sintassi dichiarative, sono:
 
;XHTML 1.0 Strict
Riga 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 prima citato, messo a disposizione dal W3C sopra indicato, di controllare se essoil documento risponde agliallo standard. Il processo di validazione identifica e fornisce una descrizione degli errori rilevati (''error log'').
 
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 undel testo da visualizzare 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 supprtasupporta immagini).
*Inserire testi direttamente nel corpo del documento.
*Annidare (vedi '''Nota *''') blocchi di codice all'interno di elementi inline.
*Dimenticare le virgolette per delimitare gli attributi.
*Annidare gli elementi in modo non valido.
Riga 52:
*Usare le maiuscole per i nomi dei tag e/o degli attributi.
 
Questo non è, ovviamente, un elenco eaustivoesaustivo 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.
 
'''Nota *''': per ''annidare'' si intende inserire un blocco di codice (o di attributi) all'interno di un altro blocco di livello superiore, e così via, secondo un ordine gerarchico del tipo ''a scatole cinesi''. Ciascun livello ''vede'' e ''tratta'' i blocchi ai livelli sottostanti come ''entità'' indivisibili.
 
== Voci correlate ==
Line 76 ⟶ 78:
=== In italiano ===
 
Specifiche w3c[[W3C]]: http://www.w3c.cnr.it/traduzioni/xhtml1-it.html
 
[[Categoria:Linguaggi di markup]]