66
Il linguaggio HTML: comprendere e rispettare gli standard W3C

Comprendere e rispettare gli standard w3c

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Comprendere e rispettare gli standard w3c

Il linguaggio HTML:

comprendere e rispettare

gli

standard W3C

Page 2: Comprendere e rispettare gli standard w3c

Introduzione

In questa unità analizzeremo brevemente la storia e l’evoluzione del

linguaggio HTML e le differenze di questo rispetto all’XHTML.

In questo modo sarà possibile fare più chiarezza sulle caratteristiche

stesse dei diversi linguaggi di markup, sui requisiti e sugli standard di

riferimento che la marcatura (X)HTML deve rispettare nella

realizzazione di ogni documento per la rete pubblica.

Page 3: Comprendere e rispettare gli standard w3c

Introduzione del linguaggio HTML

Dal primo utilizzo di questo linguaggio di markup, da parte di Tim

Berners-Lee nel 1991, sono state sviluppate diverse versioni

dell’HTML.

Il prototipo di questo linguaggio venne prodotto nei laboratori di

fisica del CERN, allo scopo di condividere facilmente i numerosi

documenti di ricerca, attraverso un sistema di ipertesti.

Per questo motivo venne sviluppato un primo “linguaggio di

marcatura” chiamato SGML (Standard Generalized Markup

Language): la base dei futuri HTML e HTML 2.0.

Page 4: Comprendere e rispettare gli standard w3c

In questo prototipo di linguaggio di markup vennero inizialmente

introdotti alcuni elementi e marcature di base come ad esempio p, h1-

h6 e l’ancora (a), necessaria per aggiungere i collegamenti

ipertestuali.

Nel 1994, la Mosaic Communication introdusse il browser conosciuto

come Netscape. Il maggior contributo di questa compagnia, allo

sviluppo del web, fu quello di introdurre nuove estensioni del

linguaggio HTML di base, atti proprio a migliorare la

“presentazione” e il “design” dei documenti presenti in rete,

compatibili ovviamente solo per il browser Netscape.

Page 5: Comprendere e rispettare gli standard w3c

Successivamente, nel 1996 la Microsoft lanciò il suo browser:

Internet Explorer 3.0, sviluppando una propria versione aggiornata

del linguaggio HTML, adatta proprio a IE 3.0.

In seguito alla formazione del World-Wide-Web Consortium (W3C),

nel 1996, venne infine discusso uno standard HTML di riferimento,

comune per un migliore sviluppo web: l’HTML 3.2.

Questa prima versione HTML certificata globalmente, rappresenta

ancora oggi lo status del linguaggio HTML, dal momento che include

la maggior parte degli elementi e attributi di presentazione conosciuti

e già visti nell’introduzione del primo Modulo, supportati da browser

diversi e utilizzati nello sviluppo delle pagine web dai web-designer.

Page 6: Comprendere e rispettare gli standard w3c

Le versioni HTML 4.0 and 4.01, elaborate nel 1999, sono state

sviluppate per stabilire un nuovo standard di accessibilità e,

soprattutto, per specificare la separazione della “presentazione” finale

delle pagine web dal loro contenuto specifico: una divisione volta

proprio a migliorare la fruizione generale dei siti presenti in rete.

Secondo questo nuovo standard di riferimento, dettato attraverso

l’introduzione delle versioni HTML 4.0 e 4-01, la maggior parte della

visualizzazione grafica finale dovrebbe essere affidata ai Fogli di

Stile a Cascata (CSS).

In seguito all’elaborazione dei nuovi standard di riferimento per la

rete, le recenti versioni 4.0 e 4.01 dell’HTML costituiscono proprio

quelle versioni del linguaggio di markup attualmente di maggior

Page 7: Comprendere e rispettare gli standard w3c

utilizzo, facilmente accessibili a tutte le persone che navigano nella

rete.

Inoltre è importante ricordare che esistono tre versioni specifiche

dell’HTML 4.01: 1) Transitional, 2) Strict e 3) Frameset.

L’HTML 4.01 in tre aspetti

Nonostante l’elaborazione dei nuovi standard di riferimento relativi

all’HTML e ai Fogli di Stile a Cascata (CSS), già nel 1999 esistevano

in rete milioni di pagine web realizzate con delle codifiche HTML

precedenti e, secondo i nuovi standard, ormai obsolete.

Page 8: Comprendere e rispettare gli standard w3c

Data l’impossibilità di modificare tutti i materiali già presenti in rete,

adeguandoli ai nuovi standard, sono state elaborate diverse versioni

HTML, per ovviare ad eventuali problemi di incompatibilità e

accessibilità dei “vecchi” contenuti del web, non conformi ai nuovi

parametri W3C.

1) HTML Transitional

La versione HTML Transitional include la maggior parte degli

elementi di presentazione dell’HTML, attualmente conosciuti e

utilizzati. Questa opzione di linguaggio “di passaggio” è stata resa

disponibile per avvicinare gradualmente i web-designer ai nuovi

Page 9: Comprendere e rispettare gli standard w3c

standard e velocizzare l’introduzione di nuovi browser e strumenti di

sviluppo adeguati.

Gli elementi di presentazione (come ad es. center) e alcuni attributi

HTML (come ad es. bgcolor e align) vengono segnalati in questa

versione come già obsoleti o “deprecati”, destinati quindi ad essere

completamente rimossi nelle nuove versioni HTML.

2) HTML 4.01 Strict

Tale versione, al contrario della precedente, non permette l’utilizzo

degli elementi e degli attributi, ormai “deprecati”, secondo gli

standard di riferimento dell’HTML 4.01

Page 10: Comprendere e rispettare gli standard w3c

3) HTML Frameset

Questa terza versione HTML è stata elaborata per descrivere il

contenuto dei documenti per il web strutturati in frame.

I frame permettono una suddivisione della finestra del browser in

ulteriori finestre, dove ciascuna visualizza differenti documenti

HTML. Le strutture definite come frame sono costruite attraverso un

documento HTML specifico, di tipo frameset, che serve a definire

proprio la struttura e il contenuto di ogni singolo frame. Documenti di

tipo frameset sono differenti dai normali documenti in linguaggio

HTML dal momento che utilizzano un elemento frameset al posto del

normale elemento body.

Page 11: Comprendere e rispettare gli standard w3c

Attualmente, per motivi di usabilità e accessibilità, i frameset

vengono utilizzati raramente e proprio per questo motivo non

verranno presi direttamente in considerazione durante questo corso,

dedicato principalmente alle attuali tendenze nel campo del web-

design.

Conoscere il DTD

Secondo gli standard di riferimento attuali, durante la creazione di

una struttura (X)HTML è sempre buona norma definire la sua

Page 12: Comprendere e rispettare gli standard w3c

“definizione” specifica o meglio la sua Document Type Definition

(DTD).

Tale specificazione viene di norma inserita all’inizio di ogni

documento (X)HTML per identificare un modello di documento

unico, globalmente riconosciuto da chi utilizza uno stesso linguaggio

di marcatura.

Tale richiamo ad una codifica unica appare generalmente nei modi

seguenti, all’interno di una struttura HTML 4.01 e di un documento

XHTML 1.0.

Page 13: Comprendere e rispettare gli standard w3c

esempio di parte di DTD per un documento HTML 4.01 Transitional

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

http://www.w3.org/TR/html4/loose.dtd>

esempio di parte di DTD per un documento XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Page 14: Comprendere e rispettare gli standard w3c

Una codifica DTD completa serve a indicare e a definire, a seconda

della versione di linguaggio, tutti gli elementi e gli attributi del

linguaggio utilizzabili in un dato documento e le regole necessarie al

loro impiego.

Secondo l’attuale normativa del W3C, attualmente vengono utilizzati

tre versioni leggermente differenti di DTD, corrispondenti proprio

alle diverse tipologie di linguaggio HTML 4.01: Transitional DTD,

Strict DTD e Frameset DTD.

Page 15: Comprendere e rispettare gli standard w3c

L’esempio seguente mostra solo una piccola parte di una codifica

completa DTD HTML 4.01, che definisce gli elementi p e h1–h6

insieme agli attributi a questi associabili.

Esempio di un documento DTD

Page 16: Comprendere e rispettare gli standard w3c

Il linguaggio XHTML

Il linguaggio HTML è limitato a quelle tipologie di contenuto che

possono essere “descritte”, contenenti quindi principalmente elementi

di testo, immagini, file video, ecc. Per permettere la visualizzazione

e la condivisione globale di contenuti di tipologia diversa è

necessario utilizzare un linguaggio di marcatura più specialistico.

Per questo motivo il W3C ha elaborato un linguaggio di marcatura

specifico: l’XML (eXtensible Markup Language).

Attraverso l’utilizzo dell’ XML, gli autori possono creare un

linguaggio di marcatura personalizzato, adeguato alle informazioni

che si vogliono condividere in rete.

Page 17: Comprendere e rispettare gli standard w3c

Utilizzando un linguaggio XML sarà pertanto possibile inserire

autonomamente dei nuovi elementi di marcatura.

Inoltre è possibile in un singolo documento usare diversi linguaggi di

marcatura di tipo XML.

Mentre il linguaggio HTML di più largo utilizzo viene prevede

l’utilizzo di un set prestabilito di elementi e di una sintassi comune

per la “descrizione” e la formattazione delle pagine web, l’XML

viene impiegato per creare nuovi linguaggi di marcatura, utili per la

descrizione di documenti sempre diversi.

Creando singolarmente sempre nuovi elementi di marcatura diventa

ovviamente difficile controllare l’effettiva accessibilità e usabilità di

quei contenuti realizzati in XML.

Page 18: Comprendere e rispettare gli standard w3c

I browser infatti devono poter riconoscere i nuovi elementi di

marcatura introdotti e allo stesso tempo capire il perché alcuni

elementi comuni sono stati sostituiti o omessi in una struttura base di

documento.

Proprio per questo motivo le regole di utilizzo della marcatura dei

XML sono molto più rigide di quelle seguite durante la creazione di

un normale documento HTML.

Esempio struttura base di un documento XML

<?xml version="1.0" encoding="UTF-8"?> // versione del linguaggio e codifica standard

<corsisti cpuacademy>

<corsista webdesign>

Page 19: Comprendere e rispettare gli standard w3c

<nome>Giorgio</nome>

<cognome>Rossi</cognome>

<luogo nascita>Palermo</luogo nascita>

<data nascita>10/02/1971</luogo nascita>

</corsista webdesign>

<corsista webdesign>

<nome>Giovanni</nome>

<cognome>Verdi</cognome>

<luogo nascita>Torino</luogo nascita>

<data nascita>23/05/1985</luogo nascita>

</corsista webdesign>

</corsisti cpuacademy>

Page 20: Comprendere e rispettare gli standard w3c

Riscrivere l’HTML

Per favorire un utilizzo congiunto di più linguaggi di marcatura in un

unico documento, progettato per essere condiviso in rete, il W3C ha

elaborato l’XHTML: una versione rielaborata del linguaggio HTML,

rispondente alle rigide regole di utilizzo della marcatura XML.

Una prima versione del linguaggio XHTML, la cosiddetta “1.0”,

risulta identica al linguaggio HTML 4.01.

I due linguaggi condividono infatti gli stessi elementi di marcatura e

gli stessi attributi. Inoltre anche per l’XHTML 1.0 abbiamo gli stessi

Page 21: Comprendere e rispettare gli standard w3c

tre tipi di DTD relativi all’HTML 4.01: Transitional, Strict e

Frameset.

Sintassi XHTML

Quello che rende diverso dall’HTML il linguaggio XHTML è che

quest’ultimo è un linguaggio di tipo XML, dove l’utilizzo di una

sintassi corretta è fondamentale. Ad esempio, ogni elemento deve

essere sempre chiuso con il tag appropriato e correttamente annidato,

mentre gli attributi devono sempre essere racchiusi dalle doppie

virgolette.

Page 22: Comprendere e rispettare gli standard w3c

Oltre a delle nuove regole sintattiche, l’XHTML aggiunge ulteriori

caratteristiche specifiche, proprie di un linguaggio di tipo XML, non

necessarie invece per l’utilizzo del solo linguaggio HTML 4.01.

La lista seguente comprende tutti i requisiti per una corretta

elaborazione di un documento di tipo XHTML.

Alcuni di questi presentano sostanziali differenze rispetto alle

caratteristiche proprie di un normale documento HTML.

Page 23: Comprendere e rispettare gli standard w3c

Gli elementi e gli attributi devono comparire in minuscolo

In HTML gli elementi e gli attributi non sono case-sensitive. Pertanto

è possibile scrivere il tag body in entrambi i modi seguenti, senza

pregiudicare la struttura del documento: <html> = <HTML>.

In XHTML invece gli elementi e gli attributi sono case-sensitive:

<html> ≠ <HTML>. Pertanto, per essere correttamente interpretati,

gli attributi e gli elementi dovranno sempre essere inseriti in lettere

minuscole.

I valori degli attributi tuttavia non devono essere necessariamente

riportati in lettere minuscole, a meno che la lista di valori predefinita

per un dato attributo non specifichi diversamente.

Page 24: Comprendere e rispettare gli standard w3c

Tutti gli elementi devono essere chiusi

Come menzionato nell’introduzione all’HTML, è possibile omettere

il tag di chiusura di alcuni elementi. In XHTML questo non è mai

possibile. Ogni tag di apertura deve essere “terminato”

dall’appropriato tag di chiusura.

Tale regola si estende in XHTML anche agli elementi vuoti.

Pertanto anche quegli elementi come <br>, <hr> e <img> devono

essere terminati.

Ad esempio, mentre in HTML l’elemento <br> può anche essere

utilizzato senza chiusura, dal momento che non racchiude alcun

Page 25: Comprendere e rispettare gli standard w3c

contenuto, in XHTML tale tag dovrà sempre apparire nel modo

seguente: <br/ > come menzionato già nell’unità introduttiva.

Allo stesso modo anche gli altri elementi vuoti dovranno sempre

essere chiusi, inserendo uno slash prima della parentesi di chiusura:

es. <img/ >, <hr/ >.

I valori degli attributi devono essere racchiusi da doppie

virgolette

Mentre in HTML alcuni valori di attributo possono comparire non

racchiusi tra doppie virgolette, in XHTML tali valori devono sempre

essere racchiusi nel modo seguente: attributo="valore". Inoltre non

Page 26: Comprendere e rispettare gli standard w3c

dovrebbe essere inserito dello spazio extra (caratteri di spaziatura e/o

invio) prima o dopo il valore di attributo racchiuso tra le virgolette.

Es. <elemento attributo="valore"> ≠ <elemento attributo=" valore ">

Tutti gli attributi devono avere valori espliciti

L’XML e quindi anche l’XHTML non supporta la cosiddetta

“minimizzazione degli attributi”, che implica l’inserimento di un

attributo riportando solamente il suo valore.

Page 27: Comprendere e rispettare gli standard w3c

Gli elementi devono essere annidati correttamente

In XHTML è fondamentale rispettare il corretto annnidamento dei

vari elementi, secondo criterio gerarchico.

Esempio di annidamento corretto in XHTML

<p>Il mio cane è <em>nero</em></p>

Esempio di annidamento non corretto in XHTML

<p>Il mio cane è <em>nero</p></em>

Page 28: Comprendere e rispettare gli standard w3c

Utilizzare sempre le entità di carattere per l’inserimento di

caratteri speciali o riservati.

Tutti i caratteri riservati (es. <, >, e &), che vedremo in dettaglio

nell’unità successiva, devono essere rappresentati con la loro codifica

di carattere o letterale e non con quella di tipo numerico.

Tale codifica specifica è necessaria anche per i valori degli attributi e

i titoli stessi dei documenti XHTML.

Struttura giusta per una corretta visualizzazione finale:

<img src="olivercompany.jpg" alt="Oliver &amp; Company" />

Page 29: Comprendere e rispettare gli standard w3c

Struttura errata per una corretta visualizzazione finale:

<img src="olivercompany.jpg" alt="Oliver & Company" />

Utilizzo di id al posto dell’attributo name come identificatore

Nel linguaggio XHTML, l’attributo id sostituisce l’attributo name,

quando utilizzato come identificatore.

Infatti l’attributo name, utilizzato in origine come elemento di

identificazione al posto di id, è ormai deprecato e non più utilizzato in

associazione alla maggior parte degli elementi (X)HTML.

Page 30: Comprendere e rispettare gli standard w3c

Gli script devono essere racchiusi nella sezione CDATA

Utilizzando l’XHTML è necessario collocare gli eventuali script di

programmazione in una sezione del documento specifica, chiamata

CDATA, affinchè possano essere correttamente interpretati.

Es.

<script type="type/javascript">

<![CDATA[ I programmi JavaScript vanno inseriti qui ] ]>

</script>

Page 31: Comprendere e rispettare gli standard w3c

Restrizioni aggiuntive di annidamento

In HTML esistono già delle regole di base da rispettare

nell’annidamento dei vari elementi di markup.

Ad esempio non è bene posizionare un elemento p all’interno di un

altro tag p, oppure non si dovrebbe inserire un elemento di blocco

livello all’interno di un elemento in linea.

In XHTML esistono delle ulteriori regole da seguire affinchè i vari

tag vengano interpretati correttamente.

Page 32: Comprendere e rispettare gli standard w3c

L’elemento ancora a non deve contenere altri elementi a.

L’elemento pre non deve contenere elementi img, object, big,

small, sub o sup.

L’elemento button non deve contenere gli elementi: input, select,

textarea, label, button, form, fieldset, iframe e isindex .

I form non devono contenere ulteriori elementi form.

Page 33: Comprendere e rispettare gli standard w3c

Requisiti di nomenclatura (namespace) e lingua

Dal momento che l’XHTML è un linguaggio XML, ci sono alcuni

attributi specifici richiesti per la realizzazione della struttura base di

un documento. Tali attributi non vengono richiesti e usati in un

normale documento HTML.

In un documento XHTML l’elemento HTML, alla base della struttura

del documento, deve essere scritto nel modo seguente:

<html xmlns="http://www.w3.org/1999/xhtml"

lang="en" xml:lang="en">

L’attributo xmlns sta per XML namespace.

Page 34: Comprendere e rispettare gli standard w3c

Un namespace è una convenzione stabilita in XML per identificare

univocamente il linguaggio usato da un determinato documento.

Dal momento che l’XML permette l’utilizzo di più linguaggi

all’interno di un solo documento, è possibile che si verifichi una

sovrapposizione dei nomi degli elementi.

Ad esempio un elemento a potrebbe essere allo stesso tempo un

l’elemento “ancora” del linguaggio (X)HTML oppure un eventuale

elemento “answer” abbreviato, inserito a livello individuale come

nuovo strumento di marcatura. Utilizzando l’XML namespace, è

possibile specificare la tipologia dei documenti creati, affinchè non si

verifichino errori di interpretazione al momento della visualizzazione

finale.

Page 35: Comprendere e rispettare gli standard w3c

Per i documenti XHTML, l’xmlns deve essere identificato come

XHTML, utilizzando l’identificatore unico per tutti i documenti

XHTML, come evidenziato nella struttura sopra riportata.

Gli attributi lang e xml:lang rappresentano due modalità per

specificare il linguaggio base di un documento (X)HTML. Il valore

dei due attributi è costituito da un codice abbreviato di lingua,

composto da due o tre lettere (es. en, come nell’esempio riportato).

E’ possibile visualizzare una lista completa dei codici di lingua

attraverso il seguente link: http://www.loc.gov/standards/iso639-

2/php/code_list.php

Page 36: Comprendere e rispettare gli standard w3c

Gli standard W3C e i browser

Difficoltà nel rispetto degli standard comuni nello sviluppo dei

documenti per il web vengono affrontate non solo dagli sviluppatori

di siti ma anche da chi sviluppa i browser. I browser di moderna

generazione devono infatti conformarsi allo standard comune stabilito

dal W3C e, allo stesso tempo, permettere una corretta visualizzazione

di tutti quei contenuti già presenti in rete.

Per compiere entrambe le operazioni i browser possono operare

secondo due modalità distinte:

Page 37: Comprendere e rispettare gli standard w3c

La modalità standard segue le regole stabilite per una corretta

interpretazione e visualizzazione dell’HTML 4.01 e del XHTML

1.0.

La modalità “quirks” permette ai browser di visualizzare anche

quei documenti realizzati con una marcatura errata o non

conforme agli standard. Il problema di utilizzo di questa modalità

è che browser diversi hanno differenti modalità di visualizzazione

di pagine di questo tipo. Pertanto stessi documenti potrebbero

essere interpretati e visualizzati ogni volta diversamente.

Creando dei documenti per il web, secondo gli standard W3C, è

possibile comunicare ai browser di utilizzare direttamente la modalità

Page 38: Comprendere e rispettare gli standard w3c

standard per la loro interpretazione e visualizzazione. Per comunicare

questo è necessario dichiarare il tipo di documento.

Dichiarare il tipo di documento

Per dichiarare il tipo di documento è necessario comunicare al

browser, in una dichiarazione all’inizio del documento, definita

DOCTYPE, la versione (X)HTML esatta (che costituisce appunto il

DTD), utilizzata nella creazione del documento.

Page 39: Comprendere e rispettare gli standard w3c

I documenti (X)HTML iniziano sempre con una dichiarazione

DOCTYPE, relativa al tipo di documento in oggetto, affinchè questo

venga considerato valido secondo gli standard comuni.

Mentre prima questa dichiarazione poteva essere facilmente omessa,

adesso nell’ambito dello sviluppo dei moderni siti web è necessario

includere sempre una dichiarazione DOCTYPE all’inizio di ogni

documento.

L’esempio seguente rappresenta una dichiarazione DOCTYPE che

indica che il documento in oggetto è stato realizzato conformemente

alle regole dell’HTML 4.01 Strict DTD.

Page 40: Comprendere e rispettare gli standard w3c

La dichiarazione DOCTYPE deve essere inserita prima del tag di

apertura <html>

Esempio di dichiarazione DOCTYPE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/HTML4.01/strict.dtd">

<html>

...resto del documento...

Vediamo ora i singoli componenti di questa dichiarazione

Page 41: Comprendere e rispettare gli standard w3c

Il simbolo <! in apertura comunica al browser che quello che segue

costituisce una dichiarazione relativa al tipo di documento (un

documento di tipo HTML in questo caso) e non un elemento del

linguaggio HTML.

La parte PUBLIC "-//W3C//DTD HTML 4.01//EN" costituisce la

stringa di identificazione pubblica che rappresenta la modalità unica

per identificare un particolare DTD.

Infine nella dichiarazione compare l’URL relativa alla versione Strict

DTD che serve da identificatore unico per quei browser che non

possono interpretare altre versioni.

Page 42: Comprendere e rispettare gli standard w3c

Dichiarazioni DOCTYPE disponibili

Durante la creazione di un documento (X)HTML conforme agli

standard W3C è sufficiente inserire la dichiarazione DOCTYPE

iniziale, semplicemente copiandola tra quelle attualmente disponibili.

Utilizzando software specifici per il web-authoring, come ad esempio

Adobe Dreamweaver, è anche possibile che tali dichiarazioni

vengano inserite in automatico, alla creazione di ogni documento.

E’ possibile visualizzare la lista completa delle dichiarazioni

attraverso il seguente link: www.w3.org/QA/2002/04/valid-dtd-

list.html.

Page 43: Comprendere e rispettare gli standard w3c

Di seguito vengono elencate le dichiarazioni DOCTYPE più comuni

e di più largo utilizzo a seconda del linguaggio di markup di

riferimento.

per HTML Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

per HTML Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

per HTML Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

"http://www.w3.org/TR/html4/frameset.dtd">

Page 44: Comprendere e rispettare gli standard w3c

per XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

per XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

per XHTML 1.0 Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Quale dichiarazione tra quelle più comunemente utilizzate dovremmo

quindi inserire nei documenti (X)HTML appena creati?

Page 45: Comprendere e rispettare gli standard w3c

Imparando un linguaggio di marcatura per la prima volta è senz’altro

bene utilizzare elementi e attributi non deprecati, attenendosi agli

standard W3C attuali. Pertanto è possibile in questo caso fare

riferimento ad una “Dichiarazione” HTML 4.01 versione Strict.

Altrimenti, nel caso in cui sia necessario gestire delle pagine web già

create in precedenza, è bene utilizzare una “Dichiarazione” di tipo

transitional, dal momento che alcuni elementi nel linguaggio

utilizzato potrebbero non essere più conformi agli attuali standard

W3C.

Page 46: Comprendere e rispettare gli standard w3c

HTML o XHTML?

L’XHTML costituisce senz’altro il futuro del linguaggio di marcatura

utilizzato nello sviluppo dei siti web.

I browser di futura generazione saranno infatti largamente

compatibili con questo specifico linguaggio di markup.

Tuttavia è possibile già da adesso utilizzare direttamente questo

linguaggio di marcatura nella creazione dei nostri documenti.

Page 47: Comprendere e rispettare gli standard w3c

I suoi precisi requisiti sintattici rendono tale linguaggio più

facilmente “leggibile” attraverso l’utilizzo di dispositivi diversi.

Molti apparecchi portatili, come ad esempio i telefoni cellulari e i

palmari utilizzando l’XHTML come codifica standard. Pertanto

pagine realizzate esclusivamente secondo i criteri dell’XHTML

saranno più facilmente fruibili attraverso questi dispositivi.

Dal momento che si tratta di un linguaggio di tipo XML, nei singoli

documenti XHTML è possibile combinare diversi linguaggi XML.

Page 48: Comprendere e rispettare gli standard w3c

Dal momento che l’XHTML costituisce il linguaggio del futuro,

nell’ambito dello sviluppo della rete, durante questo corso verranno

prese in considerazione soprattutto le rigide regole di marcatura

dell’XHTML.

Nonostante tale scelta, è necessario ricordare che attualmente il

linguaggio HTML è universalmente supportato.

Tuttavia utilizzare direttamente una rigida sintassi XHTML sarà utile

anche durante l’utilizzo di quei software dedicati al web-authoring,

dal momento che consentono di richiamare automaticamente parti di

struttura di un documento XHTML, velocizzando enormemente il

lavoro di sviluppo.

Page 49: Comprendere e rispettare gli standard w3c

Validare i documenti

Validare un documento per la rete significa controllare la marcatura

realizzata per verificare che questa sia interamente conforme alla

dichiarazione (DTD) scelta.

Documenti senza errori nella struttura di base verranno definiti validi.

Documenti (X)HTML validi verranno interpretati e visualizzati

correttamente e più velocemente attraverso browser diversi. Saranno

pertanto più accessibili.

Attualmente i browser non richiedono necessariamente la “validità”

dei vari documenti per poterli visualizzare.

Page 50: Comprendere e rispettare gli standard w3c

Pertanto ogni browser proverà a interpretare e visualizzare le pagine

web anche quando queste presentano errori nella struttura del

documento.

Per controllare la “validità” dei documenti realizzati è possibile

utilizzare un valida-tor, un software che controlla i documenti

sorgente, rispetto al DTD che è stato specificato per essi.

Un software di questo tipo controllerà i seguenti elementi relativi al

documento da validare:

Page 51: Comprendere e rispettare gli standard w3c

L’utilizzo, all’inizio del documento, della dichiarazione

DOCTYPE. Senza di questa il software non saprà a quale tipo di

documento far riferimento.

L’utilizzo di un’indicazione per la codifica di carattere del

documento (si veda il paragrafo successivo dedicato).

L’utilizzo delle regole e degli attributi necessari

L’utilizzo di elementi non conformi agli standard

L’utilizzo errato degli elementi di marcatura

Errori di annidamento

Violazioni delle regole DTD.

Page 52: Comprendere e rispettare gli standard w3c

Errori di digitazione

Il W3C offre gratuitamente uno strumento per validare i documenti

creati, accessibile attraverso il seguente link: validator.w3.org.

Codifica del carattere

Dal momento che la rete è diffusa a livello mondiale, esistono forme

di scrittura diverse, con un enorme numero di caratteri unici destinati

ad essere visualizzati anche sulle pagine web. Tale insieme di forme e

simboli comprende non solo i vari alfabeti (Occidentale, Ebraico,

Page 53: Comprendere e rispettare gli standard w3c

Arabo, ecc.) ma anche tutti quei simboli pertinenti a scritture

ideografiche (Cinese, Giapponese e Coreano).

Diversi set di caratteri sono stati standardizzati per essere sempre

visualizzati in uno stesso modo attraverso i computer presenti in rete.

Ad esempio il set di 256 caratteri utilizzati soprattutto in relazione

alle lingue occidentali è stato standardizzato e definito come Latin-1

(o ISO 8859-1, per usare il codice di identificazione “formale”).

Il Latin-1 è pertanto la “codifica di carattere” utilizzata già a partire

dall’HTML 2.0 and 3.0, ed è possibile utilizzarla ancora oggi nella

realizzazione dei moderni documenti per il web.

Page 54: Comprendere e rispettare gli standard w3c

Unicode

Alcuni set di caratteri appartengono alla codifica Unicode (ISO/IEC

10646), che include i caratteri per le lingue più conosciute e utilizzate

nel mondo. Nell’Unicode rientrano infatti più di un migliaio di

caratteri.

Page 55: Comprendere e rispettare gli standard w3c

Il codice Unicode assegnato ai vari caratteri viene rappresentato con

il simbolo U+, seguito da quattro (o sei) cifre che costituiscono il

numero che individua ogni singolo carattere.

La codifica Unicode viene riconosciuta e utilizzata dai moderni

linguaggi di programmazione e dai linguaggi di marcatura utilizzati

nel campo del web-design.

Il repertorio di codici numerici della codifica Unicode è serializzato

tramite diversi schemi di codifica (in binario) che permettono un

utilizzo di codici specifici per quei gruppi di caratteri usati con

maggiore frequenza. Il set di caratteri Unicode può pertanto essere

codificato attraverso l’uso di codici con unità da 8 bit (codifica UTF-

8), 16 bit (codifica UTF-16) e 32 bit (codifica UTF-32).

Page 56: Comprendere e rispettare gli standard w3c

La codifica più utilizzata nella realizzazione di documenti per il web

è senz’altro la UTF-8.

Tuttavia è’ possibile trovare nella dichiarazione DOCTYPE dei

documenti per il web codifiche di tipo UTF-16 o UTF-32, che

utilizzano diversi numeri di byte per descrivere i caratteri.

La codifica UTF-8 rimane comunque la codifica espressamente

raccomandata per tutti i documenti HTML 4.01, XHTML, e XML.

Page 57: Comprendere e rispettare gli standard w3c

Specificare la codifica del carattere

Esistono diversi modi per associare una codifica di carattere ad un

dato documento (X)HTML.

Chiedere all’amministratore del server di configurare il

documento (X)HTML affinchè questo includa automaticamente la

codifica di carattere nell’intestazione http. Tale intestazione

costituisce una sezione informativa che il server associa ad ogni

documento web prima di restituirlo attraverso il browser.

Page 58: Comprendere e rispettare gli standard w3c

Tuttavia, dal momento che questa informazione può essere separata

dal resto del documento è bene includere, secondo gli attuali standard

W3C, tale codifica anche all’interno del documento stesso.

Nei documenti HTML 4.01 e XHTML 1.0, la codifica di carattere

viene indicata utilizzando un meta-elemento che costituisce un

elemento vuoto che fornisce quelle informazioni specifiche relative al

documento, come ad esempio: la sua data di creazione, l’autore, i dati

relativi al copyright e soprattutto proprio quelle informazioni

specifiche relative alla codifica dei caratteri e al tipo di documento.

Il cosiddetto meta-elemento va inserito nella sezione head del

documento, così come evidenziato nell’esempio seguente relativo ad

una struttura XHTML 1.0:

Page 59: Comprendere e rispettare gli standard w3c

<head>

<meta http-equiv="content-type" 1) content="text/html;

2) charset=utf-8" / >

<title>Documento base</title>

</head>

L’attributo http-equiv indica che il meta-elemento fornisce

informazioni specifiche relative al tipo di contenuto del documento

(content-type).

L’attributo in questione fornisce tali informazioni in due sezioni

distinte:

Page 60: Comprendere e rispettare gli standard w3c

1) una prima parte indica che il documento costituisce un file di

testo HTML e pertanto questo specifico valore dell’attributo

http-equiv identifica la tipologia di linguaggio utilizzato.

Sebbene l’esempio presentato sia stato indicato come esempio di

documento XHTML, anche in questo caso l’attributo riporterà

sempre, per ragione di compatibilità relativi all’utilizzo dei

browser, l’indicazione HTML.

2) La seconda parte dell’attributo indica infine il valore specifico

relativo alla codifica di carattere relativa al documento: in

questo caso la codifica UTF-8.

Page 61: Comprendere e rispettare gli standard w3c

Per fare un ulteriore esempio relativo alla codifica dei caratteri, viene

riportata di seguito la struttura di un meta-elemento per un

documento (X)HTML che utilizza invece una codifica Latin-1 .

<meta http-equiv="content-type"

content="text/html; charset=ISO-8859-1"> //

Page 62: Comprendere e rispettare gli standard w3c

Gli esempi seguenti mostrano la struttura minima di markup, secondo

gli attuali standard W3C, necessaria alla pubblicazione dei documenti

HTML 4.01 versione Strict e XHTML 1.0 versione Strict.

HTML 4.01 Strict

Di seguito viene indicata la struttura di markup minima per i

documenti HTML 4.01 Strict, così come indicato dagli standard

W3C.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

Page 63: Comprendere e rispettare gli standard w3c

<html>

<head>

<title>Esempio di documento HTML 4.01 Strict </title> <meta http-

equiv="content-type" content="text/html; charset=utf-8">

</head>

<body>

<p>... Contenuto del documento ...</p>

</body>

</html>

Page 64: Comprendere e rispettare gli standard w3c

XHTML 1.0 Strict

Di seguito viene riportata la struttura di markup minima per i

documenti XHTML 1.0 Strict, così come stabilito dagli standard

W3C.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns = http://www.w3.org/1999/xhtml xml:lang="en" lang="en">

<head>

<title>Esempio di documento XHTML 1.0 Strict </title>

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

</head>

<body>

Page 65: Comprendere e rispettare gli standard w3c

<p>... Contenuto del documento ...</p>

</body>

</html>

Sebbene negli esempi (X)HTML riportati, contenuti nelle altre unità

didattiche dedicate all’HTML, tale “dichiarazione” dei documenti

non venga indicata, è sempre necessario includerla all’interno dei

documenti, per la loro effettiva pubblicazione e validità.

Page 66: Comprendere e rispettare gli standard w3c

FINE LEZIONE