XHTML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Marius~itwiki (discussione | contributi)
tradotta parte
Marius~itwiki (discussione | contributi)
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, 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.
{{stub informatica}}
{{WIP|1=[[Utente:Marius|Marius]] [[Discussioni_utente:Marius|@]]}}
 
'''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 si cominciò ad avvertireessere avvertita quando consorse 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 aad interpretare il linguaggio HTML. Va tenuto presente che più generica è la sintassi di un [[linguaggio di programmazione]], più èdifficile difficilerisulta realizzare dispositivi in grado di interoretarlointerpretarlo correttamente. Una specifica [[DTD]] (''Document Type DefinitionDeclaration'') definisce l'insieme di regole mediante le quali un dato documento può essere interpretato e [[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 [[Style Sheets|CSS]] (''Cascading Style Sheets'', cioè ''fogli di stile''), in modo da scrivere un codice per [[pagine web]] in cui la presentazione è separata dal contenuto.
 
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>&lt;img &hellip; /></code> and <code>&lt;br /></code>). Altri tipi di abbreviazione sono non sono invece permessi (es: <code>&lt;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.
XHTML's true power is realized when used in conjunction with [[Cascading Style Sheets]]. This makes the [[separation of style and content]] an integral part of the web page's code.
 
== Versioni di XHTML ==
The changes from HTML to transitional XHTML are minor, and are mainly to increase conformance with XML. The most important change is the requirement that all [[HTML element|tag]]s be [[well-formed tag|well-formed]]. Additionally, in XHTML, all tags must be written in lowercase. This is in direct contrast to established traditions which began around the time of HTML 2.0, when most people preferred uppercase tags. In XHTML, all attributes, even numerical ones, must be quoted. (This is not mandatory in SGML (hence in HTML), where quotes are not required if the content consists only of alphanumeric and certain allowed special characters.) All elements must also be closed, including empty elements such as <code>img</code> and <code>br</code>. This can be done by adding a closing slash to the start tag: <code>&lt;img &hellip; /></code> and <code>&lt;br /></code>. Attribute minimization (e.g., <code>&lt;option selected></code>) is also prohibited. More differences are detailed at the [http://www.w3.org/TR/xhtml1/#diffs W3C XHTML specification].
 
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).
[[Wikipedia]] pages currently use valid XHTML 1.0 Transitional.
 
* ''XHTML 1.0 Transitional'': nato per favorire la migrazione dal HTML3.2, o per uso insieme a link e frame ''in-line''
==Versions of XHTML==
* ''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.
XHTML is HTML reformulated as [[XML]]. There are three different versions, equal in scope to their respective HTML4.0 versions.
 
== Validazione dei documenti XHTML ==
* ''XHTML 1.0 Transitional'': Intended for easy migration from HTML3.2, or for those using link targets or inline-frames
* ''XHTML 1.0 Strict'': Separates content from layout (which now moves to [[Cascading Style Sheets|CSS]])
* ''XHTML 1.0 Frameset'': For splitting the browser window into several [[HTML_element#Frames|frames]]
* ''XHTML 1.1'': Module-based XHTML; authors can import additional features (such as framesets) into their markup. This version also allows for [[Ruby characters|ruby]] markup support, needed for Far-Eastern languages.
* [[XHTML Basic]]: A special "light" version of XHTML for devices which cannot use the full XHTML set, primarily used on handhelds such as [[mobile phone]]s. This is the intended replacement for [[Wireless Markup Language|WML]] and [[C-HTML]].
* XHTML Mobile Profile: Based on XHTML Basic, this [[Nokia]] effort targets hand phones specifically by adding mobile phone-specific elements to XHTML Basic.
 
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/]).
Work on XHTML 2.0 is, as of [[2004]], still underway. The XHTML 2.0 draft is controversial because it breaks backwards compatibility with all previous versions, and is therefore in effect a new markup language inspired by [X]HTML rather than a true successor of it.
 
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:
==Validating XHTML documents==
An XHTML document that conforms to the XHTML specification is said to be a valid document. In a perfect world, all browsers would follow the web standards and valid documents would predictably render on every browser and platform. Although validating your XHTML does not ensure cross-browser compatibility, it is recommended. A document can be checked for validity at the [[W3C]] Markup Validation Service ([http://validator.w3.org/]).
 
For a document to validate, it must contain a [[Document Type Declaration]]. A [[DTD]] should be placed at the very beginning of an XHTML document. These are the most common XHTML DTDs:
 
;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.
A character encoding should also be specified at the beginning of an XHTML document. Once an XHTML document has a doctype and character encoding specified, it can be run through a validator (such as the W3C Markup Validation Service) to see if it meets the standard. Validation will locate and describe errors in XHTML markup.
 
Alcuni degli errori più comuni che i programmatori commettono scrivendo codice XHTML sono:
Some of the most common errors in XHTML are:
 
*Elementi privi di terminatore (come sopra detto l'XHTML è molto più restrittivo dell'HTML sotto questo aspetto).
*Unclosed elements (XHTML, unlike HTML, requires all elements be closed)
*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).
*Failing to specify alternate text for images (using the <code>alt</code> attribute, which helps make pages accessible for devices that don't load images or screen-readers for the blind)
*Inserire testi direttamente nel corpo del documento.
*Putting text directly in the body of the document
*Annidare blocchi di codice all'interno di elementi inline.
*Nesting block-level elements within inline elements
*Dimenticare le virgolette per delimitare gli attributi.
*Forgetting to put quotation marks around attribute values
*Annidare gli elementi in modo non valido.
*Improperly nesting elements
*ImproperlyUsare usingin entitiesmodo scorretto entità varie (suchad asesempio &amp; instead ofanzichè &amp;amp;).
*Usare le maiuscole per i nomi dei tag e/o degli attributi.
*Use of uppercase tag names and/or tag attributes
This is not an exhaustive list, but gives a general sense of errors that XHTML coders often make.
 
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.
When a page is validated using the [[W3C Markup Validation Service]], the [[W3C]] returns a small icon that you may place on your document to show that it conforms to web standards. The W3C also offers validation for CSS and HTML documents.
 
-->
 
== Voci correlate ==
Line 86 ⟶ 77:
 
Specifiche w3c: http://www.w3c.cnr.it/traduzioni/xhtml1-it.html
 
 
[[Categoria:Linguaggi di markup]]