
I metadati
Il Resource Description Framework [Sistema di Descrizione delle Risorse] del W3C (si veda [RDF10]) divenne una Raccomandazione W3C nel Febbraio 1999. RDF consente agli autori di specificare metadati leggibili da macchine relativi a
documenti HTML e ad altre risorse accessibili via rete.
L’HTML lascia agli autori la possibilità di specificare dei metadati — informazioni su un documento piuttosto che il contenuto di un documento — in una varietà di modi.
Per esempio, per specificare l’autore di un documento, si può usare l’elemento META come segue:
L’elemento META specifica una proprietà (in questo caso “Author”) e le assegna un valore (in questo caso “Dave Raggett”).
Queste specifiche non definiscono un insieme di proprietà legali dei metadati. Il significato di una proprietà e l’insieme dei valori legali per quella proprietà dovrebbero essere definiti all’interno di un lessico di riferimento chiamato profilo.
Ad esempio, un profilo progettato per aiutare i motori di ricerca ad indicizzare i documenti dovrebbe definire proprietà quali “author”, “copyright”, “keywords”, ecc.
Specificare i metadati
In generale, specificare i metadati richiede due passi:
1.Dichiarare una proprietà ed un valore per quella proprietà. Questo può essere fatto in due modi: .Dall’interno di un documento, per mezzo dell’elemento META.
.Dall’esterno di un documento, attraverso un collegamento ai metadati effettuato per mezzo dell’elemento LINK (si veda la sezione sui tipi di collegamento).
2.Rinviare ad un profilo dove la proprietà ed i suoi valori legali sono definiti. Per designare un profilo, si usi l’attributo profile dell’elemento HEAD.
Si noti che, una volta che è stato definito un profilo per l’elemento HEAD, il medesimo profilo si applica a tutti gli elementi META e LINK presenti nell’intestazione del documento.
Non si richiede ai programmi utente di supportare i meccanismi dei metadati. Per quelli che scelgono di supportare i metadati, queste specifiche non definiscono come i metadati dovrebbero essere interpretati.
L’elemento META
Marcatore iniziale: obbligatorio, marcatore finale: proibito
Definizioni di attributo
Per i seguenti attributi, i valori consentiti e la loro interpretazione sono dipendenti dal profilo:
name = name [CS]Questo attributo identifica un nome di proprietà. Queste specifiche non elencano valori legali per tale attributo.content = cdata [CS]Questo attributo specifica un valore di proprietà.
Le presenti specifiche non elencano valori legali per questo attributo.scheme = cdata [CS]Questo attributo designa uno schema da adoperarsi per interpretare il valore di una proprietà
(si veda la sezione sui profili per dettagli).http-equiv = name [CI]Questo attributo può essere usato al posto dell’attributo name. I server HTTP usano questo attributo per raccogliere informazioni per le intestazioni dei messaggi di risposta HTTP.
Attributi definiti altrove
• lang (informazioni sulla lingua), dir (direzione del testo)
L’elemento META può essere usato per identificare delle proprietà di un documento (es., autore, data di scadenza, un elenco di parole chiave, ecc.) ed assegnare valori a quelle proprietà.
Queste specifiche non definiscono un insieme normativo di proprietà.
Ogni elemento META specifica una coppia proprietà/valore. L’attributo name identifica la proprietà e l’attributo content specifica il valore della proprietà.
Per esempio, la seguente dichiarazione imposta un valore per la proprietà Author:
L’attributo lang può essere usato con META per specificare la lingua per il valore dell’attributo content. Ciò consente ai sintetizzatori vocali di applicare regole di pronuncia dipendenti dalla lingua.
In questo esempio, il nome dell’autore è dichiarato essere francese:
Nota. L’elemento META è un meccanismo generico per specificare metadati.
Tuttavia alcuni elementi ed attributi HTML già trattano certi frammenti di metadati e possono essere usati dagli autori al posto di META per specificare quei frammenti:
l’elemento TITLE, l’elemento ADDRESS, gli elementi INS e DEL, l’attributo title e l’attributo cite.
potrebbe anche essere scritta nella forma:
META e intestazioni HTTP
L’attributo http-equiv può essere usato al posto dell’attributo name ed ha un’importanza particolare quando i documenti sono recuperati attraverso Hypertext Transfer Protocol (HTTP) [Protocollo di Trasferimento degli Ipertesti].
I server HTTP possono usare il nome della proprietà specificata dall’attributo http-equiv per creare un’intestazione basata su [RFC822] nella risposta HTTP. Si vedano le specifiche HTTP ([RFC2616]) per dettagli sulle intestazioni HTTP valide.
La seguente dichiarazione META di esempio:
avrà come risultato l’intestazione HTTP:
Expires: Tue, 20 Aug 1996 14:25:27 GMT
Questa può essere usata dalle memorie cache per determinare quando andare a prelevare una copia aggiornata del documento associato.
Alcuni programmi utente supportano l’uso di META per rinnovare la pagina corrente dopo un determinato numero di secondi, con l’opzione di sostituirla con un URI differente.
Gli autori non dovrebbero usare questa tecnica per rinviare gli utenti a pagine differenti, poiché tale sistema rende la pagina inaccessibile per alcuni utenti.
Al contrario, l’inoltro automatico di una certa pagina dovrebbe essere fatto usando i reindirizzamenti lato server.
META e motori di ricerca
Un uso comune di META è di specificare le parole chiave che un motore di ricerca può adoperare per accrescere la qualità dei risultati della ricerca. Quando una serie di elementi META fornisce informazioni dipendenti dalla lingua su un documento,
i motori di ricerca possono attivare un filtro sull’attributo lang per visualizzare i risultati della ricerca in base alle preferenze linguistiche dell’utente. Ad esempio,
<– Per chi parla l’inglese americano –>
<– Per chi parla l’inglese britannico –>
<– Per chi parla francese –>
L’efficacia dei motori di ricerca può essere accresciuta anche usando l’elemento LINK per specificare collegamenti a traduzioni del documento in altre lingue, collegamenti a versioni del documento per altri media (es., PDF), e,
quando il documento è parte di un insieme, collegamenti ad un punto di partenza appropriato per scorrere l’insieme.
Un ulteriore aiuto è fornito nella sezione su come aiutare i motori di ricerca a indicizzare il vostro sito Internet.

META e PICS
La “Platform for Internet Content Selection” [Piattaforma per la Selezione dei Contenuti di Internet] (PICS, descritto in [PICS]) è un’infrastruttura per associare etichette (metadati) con contenuti di Internet.
Progettata in origine per aiutare genitori e insegnanti nel controllo delle risorse a cui i bambini possono accedere su Internet, essa agevola anche altri usi delle etichette, comprese firme cifrate, riservatezza e gestione dei diritti di proprietà intellettuale.
Questo esempio illustra come si può usare una dichiarazione META per includere un’etichetta PICS 1.1:
… titolo del documento …
META ed informazioni predefinite
L’elemento META può essere usato per specificare le informazioni predefinite per un documento nei seguenti casi:
•Il linguaggio di scripting predefinito.
•Il linguaggio di fogli di stile predefinito.
•La codifica dei caratteri del documento.
L’attributo profile dell’elemento HEAD specifica l’ubicazione di un profilo dei metadati. Il valore dell’attributo profile è un URI. I programmi utente dovrebbero usare questo URI in due modi:
•Come un nome univoco a livello globale. I programmi utente possono essere in grado di riconoscere il nome (senza recuperare effettivamente il profilo) e di portare a termine una certa attività basata su convenzioni note per quel profilo.
Ad esempio, i motori di ricerca potrebbero fornire un’interfaccia per effettuare ricerche attraverso cataloghi di documenti HTML, dove questi documenti usano tutti il medesimo profilo allo scopo di rappresentare voci del catalogo.
•Come un collegamento. I programmi utente possono de-referenziare lo URI ed eseguire una certa attività basata sulle definizioni effettivamente presenti all’interno del profilo (es., autorizzare l’impiego del profilo all’interno del documento HTML
corrente). Queste specifiche non definiscono formati per i profili.
All’epoca della stesura di queste specifiche, è pratica comune usare i formati per la data descritti in [RFC2616], sezione 3.3. Poiché tali formati sono relativamente difficili da elaborare, si raccomanda agli autori di utilizzare il formato per la data [ISO8601]. Per maggiori informazioni si vedano le sezioni sugli elementi INS e DEL.
L’elemento script consente di includere nei documenti script dinamici e blocchi di dati.
Contenuti consentiti
•dati carattere non sostituibili.
Attributi ammessi
•attributi globali, tipo e lingua o attributi globali & src & defer & async & type & charset & language
•attributi globali
•Eventuali attributi consentiti a livello globale. type = MIME type La lingua dello script o il formato dei dati.
•Valore: una stringa che identifica un tipo di supporto MIME valido come definito in [RFC 2046].
language = string OBSOLETE Specifica che la lingua dello script è JavaScript.? src = URL non vuoto potenzialmente circondato da spazi L’indirizzo dello script esterno da utilizzare.? defer = “defer” o “” (stringa vuota) o vuoto
•Specifica che lo script deve essere eseguito dopo aver analizzato il documento.? async = “async” o “” (stringa vuota) o vuoto
• NOVITÀ Specifica che lo script deve essere eseguito in modo asincrono, non appena diventa disponibile. charset = nome codifica caratteri La codifica dei caratteri dello script esterno.
•Valore: una corrispondenza senza distinzione tra maiuscole e minuscole per qualsiasi nome di set di caratteri per il quale il registro IANA [Set di caratteri] ha un campo Nome o Alias etichettato come “nome MIME preferito”;
oppure, se nessuno dei campi Alias è così etichettato, una corrispondenza senza distinzione tra maiuscole e minuscole per un campo Nome nel registro.
•Ulteriori vincoli e ammonizioni
• Un elemento di script non deve contenere un’occorrenza della sequenza di caratteri “”.
• Un elemento di script con un attributo src deve contenere solo Righe costituite esclusivamente da una nuova riga, eventualmente precedute da uno o più caratteri spazio (U + 0020) o caratteri tab (U + 0009)
• commenti a riga singola, che sono righe che iniziano con la sequenza di caratteri “//”, eventualmente preceduta da un altro spazio (U + 0020) caratteri o caratteri di tabulazione (U + 0009), seguito da un numero qualsiasi di caratteri
che non sono una nuova riga e termina con una nuova riga
• commenti a più righe, che iniziano con la sequenza di caratteri “/ “, opzionalmente preceduti da un altro spazio (U + 0020) caratteri o caratteri di tabulazione (U + 0009) e che terminano con la sequenza di caratteri “ /”
• Lo script elemento con linguaggio di attributi il cui valore è “JavaScript” non deve avere un tipo di attributo il cui valore non è “text / javascript”.
• Lo script degli elementi non deve avere set di attributi a meno che non sia specificato anche l’attributo src.
• Lo script degli elementi non deve avere il differimento degli attributi a meno che non sia specificato anche l’attributo src.
• Lo script degli elementi non deve avere l’attributo asincrono a meno che non sia specificato anche l’attributo src.
• L’attributo language sull’elemento script è obsoleto. Utilizzare invece l’attributo type.
•Elementi padre consentiti, qualsiasi elemento che può contenere elementi di metadati, qualsiasi elemento che può contenere elementi di fraseggio.
•Interfaccia DOM
interfaccia HTMLScriptElement: HTMLElement {
attributo DOMString src;
attributo asolico booleano;
attributo differimento booleano;
attributo tipo DOMString;
attributo set di caratteri DOMString;
attributo testo DOMString;
};
•Proprietà di visualizzazione predefinite tipiche

L’attributo scheme permette agli autori di fornire ai programmi utente maggiori informazioni contestuali per la corretta interpretazione dei metadati. A volte tali informazioni aggiuntive possono essere decisive, come nel caso in cui è possibile specificare i metadati in formati differenti. Un autore, ad esempio, potrebbe indicare una data nel formato (ambiguo) “10-9-97”: significa 9 Ottobre 1997 o 10 Settembre 1997? Il valore “Month-Day-Year” [“Mese-Giorno-Anno”] dell’attributo scheme renderebbe non più ambiguo questo valore di data.
Altre volte l’attributo scheme può fornire ai programmi utente informazioni utili ma non critiche.
Ad esempio, la seguente dichiarazione dell’attributo scheme può aiutare un programma utente a determinare che il valore della proprietà “identifier” è un numero di codice ISBN:
I valori per l’attributo scheme dipendono dal nome della proprietà e dal profilo associato.
Un profilo campione è il Dublin Core (si veda [DCORE]).
Questo profilo definisce un insieme di proprietà raccomandate per le descrizioni bibliografiche in formato elettronico e mira a promuovere l’interoperabilità tra disparati modelli di descrizione.
