Scelte rapide:

Il Pesa-Nervi.

Lei parla a vanvera, giovanotto!
No, penso a dei critici con la barba.

XHTML 1.0, la controguida

Devono essere attivi i cookie e javascript.

Argomento: informatica

Tutto quello che avreste voluto sapere sul linguaggio di marcatura XHTML 1.0.

Testo e struttura di questo articolo sono di Gabriele Romanato; la revisione del testo e l'aggiunta di alcuni chiarimenti (sulla differenza tra elemento e marcatori e sulla negoziazione del contenuto) sono di Michele Diodati.

Sommario

Premessa

Per poter affrontare proficuamente la lettura di questo articolo necessaria la conoscenza preliminare dell'HTML 4.01 ed una conoscenza generale dei CSS. Tutti i termini tecnici saranno illustrati in dettaglio nel corso dell'articolo.

Introduzione

L'HTML (HyperText Markup Language, linguaggio ipertestuale di marcatura), cos come eravamo abituati a concepirlo negli ormai lontani anni '90, morto, dopo lunga e dolorosa malattia, ucciso nel corso dell'epica guerra fra browser e sepolto sotto un cumulo di elementi proprietari, tabelle annidate e GIF spaziatrici. Ma al W3C (World Wide Web Consortium, l'organizzazione preposta alla creazione ed alla diffusione degli standard del Web) decisero di non arrendersi, e dalla ceneri di questa fenice informatica sorse un nuovo linguaggio di marcatura, l'XHTML (eXtensible HyperText Markup Language, linguaggio ipertestuale estensibile di marcatura). Si era nel 1999: una nuova pagina della storia del Web stava per essere scritta.

XHTML 1.0: cos' quella "X"?

La "X" di questo acronimo testimonia l'avvenuta fusione fra il vecchio standard per la costruzione di pagine Web, l'HTML 4.01, ed un pi recente standard per la descrizione dei dati, l'XML (eXtensible Markup Language, linguaggio estensibile di marcatura). Detto cos per non credo che sia molto chiaro. Cerchiamo perci di definire alcuni concetti importanti. Innanzitutto, l'XML un linguaggio pensato per rappresentare qualsiasi tipo di contenuto organizzato secondo una gerarchia (donde la sua estensibilit). Come avviene questa rappresentazione? Attraverso i marcatori e la marcatura. A questo punto opportuno fare un esempio: immaginiamo di avere un documento che contiene un titolo e del testo suddiviso in paragrafi. Una sua possibile rappresentazione con marcatori sar:

<documento>
<titolo>Titolo del documento</titolo>
<testo>
<paragrafo>Lorem ipsum dolor...</paragrafo>
<paragrafo>Lorem ipsum dolor...</paragrafo>
</testo>
</documento>

Notiamo subito che i marcatori (o elementi [1]) sono organizzati in una gerarchia: l'elemento <documento> contiene gli elementi <titolo>, <testo> e <paragrafo>. Diremo quindi che <documento> il "genitore" (parent) e che gli altri sono suoi "figli" (children). A sua volta diremo che <testo> il genitore di <paragrafo>. L'elemento genitore di tutti, <documento>, in XML si dice "root" (radice). Notiamo anche che in questo frammento di codice tutti gli elementi sono scritti in minuscolo e che si chiudono secondo un ordine preciso: il figlio si chiude sempre prima del genitore e non il contario.

Quindi corretto:

<testo>
<paragrafo>...</paragrafo>
</testo>

mentre errato:

<testo>
<paragrafo>
</testo>
</paragrafo>

A questo punto molti di voi si staranno chiedendo: "cosa c'entra tutto questo con il buon vecchio HTML 4.01?". C'entra: vediamo cosa succede se sostituiamo questi elementi con gli elementi (o "tag") dell'HTML 4.01 rispettando le regole di scrittura prima esposte:

<body>
<h1>Titolo del documento</h1>
<div id="testo">
<p>Lorem ipsum...</p>
<p>Lorem ipsum...</p>
</div>
</body>

Ci siamo forse dimenticati che anche l'HTML 4.01 un linguaggio di marcatura? Ora appare pi chiaro il perch di tale connubio con XML. Detto questo, passiamo ad osservare l'XHTML in dettaglio.

Ho introdotto l'argomento usando delle esemplificazioni, che ad un occhio attento sono parse forse grossolane. tempo perci di fare delle precisazioni.

L'XHTML XML

La prima precisazione da fare che non necessario essere dei guru dell'XML per scrivere pagine XHTML. L'XHTML un vocabolario XML, ovvero un insieme di elementi progettati per descrivere un tipo particolare di informazioni. Se ci pensiamo naturale: stiamo imparando un nuovo linguaggio (leggi "lingua"), dunque logico avere un dizionario come riferimento. L'XHTML si basa sulle regole dell'XML, il che vuol dire che i documenti XHTML non sono altro che documenti XML. L'XHTML, in soldoni, non altro che una rielaborazione dell'HTML 4.01 secondo le regole dell'XML, alcune delle quali le abbiamo gi viste nel precedente esempio. Ecco alcuni punti fissi:

Appare chiaro ora il senso del passo in avanti fatto dal W3C verso una standardizzazione intesa come via d'uscita dal caos di pagine web realizzate a colpi di tag proprietari e codice confuso. Il W3C afferma che:

L'XHTML 1.0 la prima modifica importante dell'HTML dopo la pubblicazione dell'HTML 4.0 nel 1997. Esso porta alle pagine web il rigore dell'XML e rappresenta la chiave di volta del lavoro del W3C sulla creazione di standard che forniscano pagine web ricche, in una gamma sempre crescente di piattaforme di browsing quali telefoni cellulari, televisioni, automobili, dispositivi di comunicazione wireless e computer desktop.

L'XHTML beneficia dell'estensibilit dell'XML ed inoltre, poich un vocabolario XML, pu essere elaborato da strumenti XML. Le pagine in XHTML sono standard, e ci significa che non includono elementi proprietari, causa di possibili incompatibilit tra browser e piattaforme differenti.

Specifiche XHTML 1.0

All'indirizzo http://www.w3.org/TR/xhtml1 (in italiano su http://www.w3c.it/traduzioni/xhtml1-it.html) troviamo le specifiche dell'XHTML 1.0. Esse si dividono in sei sezioni principali:

  1. Cos' l'XHTML?
    Nozioni generali sull'XHTML ed i suoi rapporti con l'XML. Riferimenti all'HTML 4.
  2. Definizioni
    Lista di termini tecnici e definizioni usate nelle specifiche. Da leggere prima della consultazione.
  3. Definizione normativa dell'XHTML 1.0
    Elenco di regole obbligatorie per la stesura di documenti in XHTML 1.0.
  4. Differenze con l'HTML 4
    Elenco delle differenze fra XHTML 1.0 e HTML 4.01. Da leggere con molta attenzione per familiarizzare col nuovo linguaggio.
  5. Problemi di compatibilit
    Si affronta la compatibilit con i browser esistenti e le possibili soluzioni.
  6. Direzioni future
    I futuri sviluppi dell'XHTML.

Le specifiche comprendono inoltre cinque appendici, di varia importanza:

a) DTD
L'XHTML 1.0 comprende tre diversi "dialetti": Strict, Transitional, Frameset, ognuno con la propria "Definizione di Tipo di Documento" (DTD, Document Type Definition). Ogni DTD stabilisce quali elementi appartengono a ciascun dialetto XHTML. La DTD Transitional comprende tutti gli elementi dell'HTML 4.01, anche quelli deprecati come <font>. una DTD di transizione, utile se volete un passaggio all'XHTML non troppo duro. La DTD Frameset include gli elementi per la costruzione di pagine con frame. Infine la DTD Strict quella pi rigorosa, che forse potremmo definire l'XHTML 1.0 vero e proprio. Questa DTD include solo gli elementi di descrizione del contenuto, non quelli per la formattazione (come <font>), affidata ai fogli di stile (CSS). In questa DTD, appunto, l'elemento <font> deprecato.

b) Proibizione di elementi
Vi sono limitazioni speciali nell'uso dei seguenti cinque elementi:

Le limitazioni riguardano gli elementi che non possono essere inclusi in questi cinque, ad ogni livello. Da leggere con attenzione.

c) Linee guida di compatibilit con HTML
Sezione informativa in cui si descrive il modo di scrivere documenti XHTML che funzionino co i browser attuali.

d) Ringraziamenti
I ringraziamenti di rito. Saltatela. ;-)

e) Riferimenti
Documenti utili oltre alle specifiche. Per approfondire.

La compatibilit

XHTML compatibile con quasi tutti i browser esistenti. Tuttavia la compatibilit non sempre perfetta, come testimonia quel "quasi". Ci sono alcune cose da considerare:

La marcatura: cosa fa e perch usarla

La marcatura e i marcatori (elementi o tag) hanno un solo compito: descrivere e strutturare il contenuto. La marcatura e i marcatori non si occupano della presentazione del contenuto. A questo pensano i fogli di stile (CSS). Ci aumenta l'accessibilit delle nostre pagine e fa diminuire al contempo il loro peso in termini di Kilobyte ed il relativo consumo di banda (quel fenomeno che Michele Diodati ha giustamente definito "obesit telematica", in riferimento a pagine eccessivamente pesanti). Si consideri questo esempio:

<table>
<tr>
<td>
<p><font face="Arial, Helvetica, sans-serif">Lorem ipsum...</font></p>
</td>
</tr>
</table>

Questo modo di usare la marcatura a scopo presentazionale un retaggio degli anni '90. Siamo nel 2006, e ci sono l'XHTML e i CSS. Dunque, riscriviamo il codice con criterio:

<div>
<p>Lorem ipsum...</p>
</div>

E quel bel font Arial dov' finito? Niente paura: in un foglio di stile (CSS) esterno che sar richiamato nella pagina e che si presenta cos:

div {
background: #ffc;
border: 1px solid #000;
color: #000;
}
div p {
font-family: Arial, Helvetica, sans-serif;
}

Ora ho un contenitore con bordo nero e sfondo giallino che contiene il mio paragrafo, il quale ha quel ben font Arial che avevamo visto. Poich <div> il genitore di <p>, il figlio erediter tutte le caratteristiche del padre che ho espresso nel foglio di stile. Potenza della genetica e dell'ereditariet dei fogli di stile! Non siete ancora convinti? Ricorriamo alla matematica: fra marcatori di apertura e di chiusura, nel primo frammento di codice ne contiamo dieci, mentre nel secondo solo quattro. Se moltiplichiamo questo risultato per il numero di righe di codice complessivo di ogni pagina di un sito web, avremo capito il perch di un uso corretto della marcatura (e dei CSS), e sicuramente avremo risparmiato parecchi Kylobyte (e cio parecchia banda...).

Un altro aspetto importante della marcatura la sua semantica, ossia usare ciascun elemento per lo scopo per cui stato concepito. Una tabella stata concepita per raccogliere dati tabulari, come orari, risultati sportivi, statistiche ecc., e non per creare colonne di impaginazione o menu di navigazione. Allo stesso modo, se voglio dare enfasi ad una parte di testo user <em> (abbreviazione dell'inglese emphasis) e non <i> (testo in corsivo, ossia "italic"), anche se il browser visualizza il contenuto allo stesso modo. Non confonderemo cos il contenuto con la sua presentazione (visualizzazione), perch useremo l'elemento appropriato allo scopo. Per approfondire la semantica consiglio un un articolo di Alessandro Fulciniti.

Documenti ben formati e validi

Quando un documento XHTML ben formato (well formed)? Fondamentalmente quando segue tutte le regole sintattiche dell'XML o, per essere pi chiari, quando segue fedelmente le indicazioni delle specifiche W3C relative alla sua DTD. Ma il difficile viene dopo: quando un documento XHTML si dice valido? In una parola, quando supera la validazione del W3C. Il validatore un programma che permette di verificare se le nostre pagine rispettano gli standard del W3C. Se abbiamo dichiarato all'inizio di una nostra pagina una DTD XHTML 1.0 Strict, il validatore verificher se la nostra pagina rispetta i requisiti per essere dichiarata Valid XHTML 1.0 Strict (e poter cos esporre il relativo bollino...). A parte gli errori comuni che si commettono col codice (come non chiudere un marcatore, o concatenarlo male, o non mettere i doppi apici per un attributo), errori che spesso dipendono dalla distrazione o da una scrittura del codice caotica, priva cio della giusta indentazione dei livelli annidati, vi sono poi errori sostanziali che riguardano la mancata risposta a due fatidiche domande:

  1. Quali elementi posso usare nella mia DTD?
  2. Quali elementi possono contenere questo o quell'elemento e da quali altri elementi possono essere contenuti? Ossia: cosa contiene cosa?

Se per esempio vogliamo sapere quali figli e quali genitori pu avere l'elemento <p> nella DTD XHTML 1.0 Strict, dobbiamo collegarci all'indirizzo http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict, sede ufficiale della suddetta DTD, e cercare l'elemento <p>. E troveremo:

<!ELEMENT p %Inline;>
<!ATTLIST p
%attrs;
>

Non proprio il massimo della chiarezza. Che fare? Per fortuna qualcuno si posto la nostra stessa domanda, e all'indirizzo http://www.zvon.org/xxl/xhtmlReference/Output/ troveremo quello che stiamo cercando:

Elemento: p
Attributi: class | dir | id | lang | onclick | ondblclick | onkeydown | onkeypress | onkeyup | onmousedown | onmousemove | onmouseout | onmouseover | onmouseup | style | title | xml:lang
Genitori: blockquote | body | button | dd | del | div | fieldset | form | ins | li | map | noscript | object | td | th
Figli: #PCDATA | a | abbr | acronym | b | bdo | big | br | button | cite | code | del | dfn | em | i | img | input | ins | kbd | label | map | object | q | samp | script | select | small | span | strong | sub | sup | textarea | tt | var

Pi chiaro, vero? (a parte quel "sibillino" PCDATA). Il mio consiglio di scaricare l'intera guida per consultarla in locale. Come ha detto Jeffrey Zeldman:

Il Web per la gente comune, non per gli esperti (Dalla carta al Web, edizioni HOPS, pag. 182)

Le parti di un documento XHTML

a) DTD

La DTD illustra il particolare tipo di vocabolario XML che usiamo per ciascuno dei tre dialetti XHTML (Transitional, Strict, Frameset). La DTD:

I documenti vengono validati in base alla loro DTD, che viene specificata nella dichiarazione DOCTYPE posta all'inizio del documento. Le tre DTD sono:

  1. XHTML Transitional: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
  2. XHTML Strict: http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
  3. XHTML Frameset: http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd

E i tre DOCTYPE:

  1. XHTML Transitional
    <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN"
    "DTD/xhtml1-transitional.dtd">
  2. XHTML Strict
    <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Strict//EN"
    "DTD/xhtml1-strict.dtd">
  3. XHTML Frameset
    <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Frameset//EN"
    "DTD/xhtml1-frameset.dtd">

Quando andremo a scrivere il nostro documento XHTML potremo anche inserire un DOCTYPE della seguente forma:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Perfettamente valido, non altro che un DOCTYPE con la DTD scritta in forma estesa.

b) Elementi

Come abbiamo visto, gli elementi descrivono il contenuto di un documento XHTML. Fondamentalmente, gli elementi sono gli stessi di HTML 4.01. E' da tenere presente che vi sono elementi consentiti in una delle tre DTD e proibiti nelle altre (non sognatevi ad esempio di usare <font> nella DTD Strict o <frame> nella Transitional... a ciascuno il suo! ;-) ).

Abbiamo due diversi tipi di elementi che possiamo trovare nei documenti XHTML:

c) Attributi

Riprendendo l'esempio di <img />, notiamo che all'interno di questo elemento vi sono due attributi, src e alt. Gli attributi descrivono caratteristiche particolari degli elementi. L'utilit di alcuni evidente. Chi naviga con un lettore di schermo trover certamente utile la presenza di un attributo alt opportunamente compilato: fornisce infatti un testo alternativo all'immagine, nei casi in cui questa non pu essere visualizzata. Una regola fondamentale che tutti i valori degli attributi in XHTML devono essere inclusi fra apici (in genere si usano apici doppi, ma sono permessi anche quelli singoli):

<img src="foto.jpg" alt="Foto di un tramonto" />

d) Entit

Le entit non hanno nulla a che vedere con il mondo del paranormale. In XML sono unit virtuali di memorizzazione in cui possono essere contenuti vari tipi di informazioni, come file multimediali, frammenti di testo usati di frequente (es: dichiarazioni di copyright) ed altro. Pi semplicemente, nell'XHTML le entit servono a rappresentare caratteri speciali, come ad esempio il simbolo di copyright (), nei casi in cui tali caratteri non siano compresi nella tabella codici dichiarata per il documento. Il W3C ha reso disponibili tre diversi documenti che identificano tre insiemi di caratteri speciali in tre insiemi ed impostano le entit ad essi associate. Essi sono:

  1. Caratteri Latin-1
    http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
  2. Caratteri speciali
    http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent
  3. Simboli
    http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent

I caratteri possono essere rappresentati da due diversi tipi di entit:

e) Namespace

Il namespace nasce per evitare che vi siano confusioni fra marcature uguali appartenenti a DTD diverse. Il namespace un collegamento a una risorsa che identifica univocamente un insieme di elementi di marcatura. In altre parole, come il codice a barre di un prodotto, il quale unico per ciascun prodotto. Per indentificare univocamente un documento come appartenente alla famiglia XHTML, inseriremo nell'elemento radice del documento (nel nostro caso l'elemento <html>) la seguente dichiarazione:

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

xmlns sta per "XML NameSpace".

f) Prologo XML

Il prologo XML identifica un documento come documento XML, dichiarando la versione a cui fa riferimento:

<?xml version="1.0" encoding="iso-8859-1"?>

In base alle specifiche, il prologo deve comparire prima del DOCTYPE in ogni documento XHTML. Purtroppo, come abbiamo visto, il supporto di alcuni browser non ancora ottimale, e cos si tende ad evitare di inserire il prologo (l'omissione non rende invalido il documento).

Un esempio concreto

Riporto di seguito un esempio di codice XHTML 1.0 completo, cos da poter esaminare "sul campo" le varie componenti fin qui descritte:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> (1)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it"
lang="it" dir="ltr"> (2)
<head> (3)
<title>
Gabriele Romanato
</title>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1" /> (4)
<meta name="description"
content="Gabriele Romanato: Home Page" />
<meta name="keywords"
content="Gabriele Romanato, articoli, traduzioni, links, accessibilit" />
<meta name="author" content="Gabriele Romanato" />
<meta name="robots" content="all" />
<meta name="Generator" content="1st Page 2000" />
<meta name="revisit-after" content="5 days" />
<link rel="stylesheet" href="indexfiles/index.css"
type="text/css" media="screen" />
<link rel="stylesheet" href="indexfiles/stampa.css"
type="text/css" media="print" /> (5)
</head>
<body>
<div id="header">
<h1 id="top">
Gabriele Romanato
</h1>
</div>
<hr />
<ul class="navigation" title="Navigazione interna"
id="menu">
<li class="hidden">
<a href="#content" accesskey="0">Vai ai contenuti</a>
</li>
<li class="current">
<a href="index.html" accesskey="1"
title="Sei qui">Home</a>
</li>
<li>
<a href="articoli.html" title="Vai agli articoli"
accesskey="2">Articoli [2]</a>
</li>
<li>
<a href="traduzioni.html" title="Vai alle traduzioni"
accesskey="3">Traduzioni [3]</a>
</li>
<li>
<a href="links.html" title="Vai ai links"
accesskey="4">Links [4]</a>
</li>
<li>
<a href="accessibilita.html"
title="Vai all'accessibilit&agrave;"
accesskey="5">Accessibilit&agrave; [5]</a>
</li>
</ul>
<hr />
<div id="content">
<h2>
Benvenuti!
</h2>
<p>
Benvenuti in questo mio modesto sito. Rispetto al mio
precedente lavoro, che trovate all'indirizzo <a
href="http://www.parrocchie.it/vasto/smincoronata/"
title="Sito della Parrocchia dell'Incoronata di Vasto"
hreflang="it">http://www.parrocchie.it/vasto/smincoronata/</a>,
ci sono stati notevoli cambiamenti.
</p>
<p>
Innanzitutto la resa a video (il cosiddetto <strong
xml:lang="en" lang="en">layout</strong>) &egrave;
stato ridisegnato in modo <strong>fluido</strong>, in
modo da potersi adattare anche a basse risoluzioni di
schermo. La <strong>grafica</strong>, come vedete,
&egrave; molto semplice e per nulla invadente, se si
esclude quel simpatico granchietto sullo sfondo in
basso a destra.
</p>
<p>
Tutto questo &egrave; stato fatto per migliorare
l'<strong>accessibilit&agrave;</strong> del sito,
venendo cos&igrave; incontro alle esigenze degli
utenti disabili. In questo sito infatti si
parler&agrave; anche della mia esperienza di
<strong>ipovedente</strong> (persona con deficit
visivi pi&ugrave; o meno gravi) nella quotidiana
navigazione sul <span xml:lang="en" lang="en"
title="Rete" class="help">Web</span>.
</p>
<p>
Ora vi lascio, augurandovi di tutto cuore una
<strong>buona navigazione</strong>!
</p>
<p class="hidden">
<a href="#top">Inizio pagina</a> | <a
href="#menu">Torna al menu</a> | <a
href="#content">Inizio dei contenuti</a>
</p>
</div>
<hr />
<div id="footer">
<a href="http://validator.w3.org/check/referer"
title="Valida l'XHTML">Valid XHTML 1.0 Strict</a> | <a
href="http://jigsaw.w3.org/css-validator/check/referer"
title="Valida il CSS">Valid CSS</a>
<p>
Copyright solo per i contenuti &copy; 2005 Gabriele
Romanato
</p>
</div>
</body>
</html>

I numeri fra parentesi non fanno parte del codice e servono solo come riferimento (non inseriteli, ok? ;-) ). Vediamoli insieme:

  1. Dichiarazione DTD inserita nel DOCTYPE (in questo caso XHTML 1.0 Strict)
  2. Nell'elemento radice (<html>) viene inserito il namespace. Vengono inoltre dichiarati gli attributi xml:lang e lang per la lingua della pagina (it, cio italiano) e l'attributo dir per indicare la direzione del testo (ltr, ossia "LeftToRight", da sinistra a destra). L'attributo lang viene dichiarato per ragioni di compatibilit all'indietro.
  3. Dichiarazione dell'elemento <head>, cui segue subito il titolo della pagina (<title>). L'intestazione del documento, marcata con <head>, contiene metainformazioni, cio informazioni che non sono contenuto visibile del documento ma informazioni sulle caratteristiche del documento.
  4. Dichiarazione dei metatag (<meta>). Particolarmente importante il primo, ossia
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    che fornisce informazioni sul modo in cui il documento deve essere processato dal browser (text/html) e sulla codifica dei caratteri adoperata (charset=iso-8859-1).
    A proposito del tipo di contenuto, va precisato che il tipo adatto a XHTML application/xhtml+xml, non text/html. I browser pi datati non supportano per che text/html e questo pone seri problemi di compatibilit. La soluzione migliore rimane quella di adoperare la cosiddetta content negotiation, cio la negoziazione del contenuto: si tratta di un meccanismo generato lato server, con il quale si interroga il browser sulle sue capacit d'interpretare oppure no XHTML come XML. In caso di risposta positiva, il documento viene inviato al client col tipo application/xhtml+xml, altrimenti col tipo text/html.
    E' opportuno ricordare che, in mancanza di negoziazione del contenuto, diventa indispensabile servire le pagine come text/html se si vuole salvare la compatibilit all'indietro. Tuttavia una pagina servita esclusivamente come text/html perde la sua natura di documento XML, vanificando con ci l'uso di XHTML come linguaggio di marcatura. Meglio allora usare direttamente HTML 4.01.
  5. Dichiarazione dei due elementi <link> con cui vengono richiamati nella pagina i due fogli di stile (CSS), uno per il layout a video (screen) e l'altro per quello di stampa della pagina (print).

Da qui in poi mi sembra del tutto identico ad un qualunque documento HTML 4.01. Welcome home! ;-)

[1] Per la verit marcatore - in inglese tag - ed elemento non sono proprio sinonimi. Un elemento una funzione di modifica del contenuto astrattamente considerata: per es. STRONG l'elemento che ha la funzione di applicare una forte enfasi ad un contenuto testuale; i marcatori, che possono essere unici oppure divisi in marcatore di apertura e di chiusura, sono invece le stringhe di caratteri usate per applicare concretamente, in base a precise regole, un elemento ad un certo frammento di testo. Dunque, se STRONG l'elemento, <strong> e </strong> sono rispettivamente i marcatori di apertura e di chiusura usati per applicare quell'elemento a un determinato frammento di testo, come nell'esempio seguente:

<strong>testo fortemente enfatizzato</strong>

Per chiarire meglio, tra elementi e marcatori c' lo stesso rapporto che passa tra categoria e individui: vi un unico elemento STRONG, che rappresenta la categoria, ma infinite occorrenze dei marcatori <strong> e </strong>, che definiscono le molteplici applicazioni individuali dell'elemento STRONG. Per tale ragione, anche se nel linguaggio comune si usano i termini "elemento" e "tag" come sinonimi, sarebbe preferibile usare "elemento" se ci si riferisce alla categoria generale, e "tag" o "marcatore", invece, se ci si riferisce alle stringhe chiuse tra parentesi angolari (<...>), usate nel codice per applicare gli elementi.

Articolo di Gabriele Romanato pubblicato il  20/4/2006 alle ore 19,58.

Stampa | Che ne pensi? | 4 commenti | Mese corrente | 10742 visite
Articolo precedente. Articolo successivo.

Inizio pagina.

Menu

apri Da leggere

apri Archivio mensile

apri Argomenti

apri Autori

I sondaggi del Pesa-Nervi

Sei a favore della teoria dell'evoluzione o a favore del creazionismo?

Ultimi 5 commentiapri

Commento di Mario all'articolo Giornalismo vero e presunto (20/4/2006 alle ore 19,58)
Ottimo!

Commento di Giustizia Contro Pelo all'articolo Maltrattamenti sugli animali compiuti in Italia: una galleria degli orrori (2/3/2011 ore 16,11)
Se Vi puo' interessare... E' nata una nuova associazione, senza nessuna bandiera politica e (...)

Commento di Maurizio Spagna all'articolo L'inferno delle galee (23/11/2010 ore 19,44)
SFOLATI NEL VENTO ...il vento non un passeggero, nero, un cacciatore di ore al panico... CON (...)

Commento di RUSSO Vincenzo all'articolo Ipotesi sulla manipolazione dello spazio-tempo (5/11/2010 ore 15,10)
In realt la teoria di Einstein ,consiste di una serie di dimostrazioni per assurdo , che dimo (...)

Commento di RUSSO Vincenzo all'articolo I creazionisti riscrivono la storia dei dinosauri (29/10/2010 ore 15,14)
SALUTI DA VINCENZO RUSSO Vi TRASMETTO UN'ALTRA MIA MAIL MOLTO DIFFUSA IN RETE. risposte a BIOLOG (...)

Diritti & Collab.apri

Nome del sito, progetto grafico, codice ASP, XHTML e CSS sono di Michele Diodati (partita IVA 10541750583). I contenuti degli articoli pubblicati appartengono ai rispettivi autori.
Logo della licenza Creative Commons
Tutti i contenuti del sito Il Pesa-Nervi sono pubblicati sotto una Licenza Creative Commons.

E' possibile inviare articoli all'indirizzo pesanervi@diodati.org, chiedendone la pubblicazione. Quest'ultima avviene ad insindicabile giudizio del responsabile del sito, dopo aver valutato la corrispondenza del testo inviato ai criteri editoriali di originalità dell'argomento, correttezza linguistica, chiarezza espositiva.

Gli articoli inviati in visione devono essere corredati di nome e cognome dell'autore e indirizzo e-mail valido.

Articolarioapri

L'Articolario è una raccolta aggiornata fino ad agosto 2006 di link (2022 in totale) ad articoli apparsi su quotidiani online, riviste, blog, siti d'informazione e di approfondimento.

Ecco gli ultimi tre articoli segnalati:


Categorie:

Sono gradite le segnalazioni di nuovi articoli, che vanno inviate all'indirizzo pesanervi@diodati.org.

Articoli:
Gli ultimi articoli de 'Il Pesa-Nervi' in formato RSS 2.0
Commenti:
Gli ultimi commenti dei lettori de 'Il Pesa-Nervi' in formato RSS 2.0

Statistiche

Quanto può dirsi, si può dir chiaro; e su ciò, di cui non si può parlare, si deve tacere.
Ludwig Wittgenstein, Tractatus
logico-philosophicus, prefazione