CSS Zibaldone

[ Home ] - [ Articoli ] - [ Traduzioni ] - [ Altro ] - [ Appunti sui CSS ] - [ L'autore ]

Sei qui: Home > Traduzioni > Il Media Type application/xhtml+xml

Il Media Type application/xhtml+xml

Documento originale: Copia locale

Autori: Mark A. Baker, Peter Stark

Traduzione: Gabriele Romanato (6 gennaio 2008)

Network Working Group
Richiesta di Commenti: 3236
Categoria: Informativo

M. Baker
Planetfred, Inc.
P. Stark
Ericsson Mobile Communications
Gennaio 2002

Il Media Type application/xhtml+xml

Stato di questo documento

Questo documento fornisce informazioni per la comunità di Internet. Non specifica alcun tipo di standard. La distribuzione di questo documento è illimitata.

Nota di copyright

Copyright (C) The Internet Society (2002). Tutti i diritti riservati.

Riassunto

Questo documento definisce il media type MIME 'application/xhtml+xml' per i linguaggi di marcatura basati su XHTML. Esso non vuole rendere obsoleti i precedenti documenti, in particolare l'RFC 2854 che registra 'text/html'.

1. Introduzione

Nel 1998 il gruppo di lavoro su HTML del W3C cominciò a lavorare alla riformulazione dell'HTML nei termini di XML 1.0 [XML] e di XML Namespace [XMLNS]. La prima parte di questo lavoro si concluse nel gennaio 2000 con la pubblicazione della Raccomandazione XHTML 1.0 [XHTML1], una riformulazione per l'HTML 4.01 [HTML401].

Il lavoro continua nella modularizzazione della Raccomandazione XHTML [XHTMLMl2N], ossia la ricomposizione dell'XHTML 1.0 in moduli da usare per la creazione di nuovi linguaggi basati su XHTML, più un framework per il supporto di tale creazione.

Questo documento registra soltanto un nuovo media type MIME, 'application/xhtml+xml'. Non definisce nessun ulteriore requisito se non quelli necessari a tale registrazione.

Questo documento segue la convenzione stabilita in [XMLMIME] per il nome del sottotipo MIME: viene aggiunto il suffisso "+xml" per denotare che l'entità descritta si conforma alla sintassi XML come definita in XML 1.0 [XML].

Questo documento è stato preparato dai membri del gruppo di lavoro sull'HTML del W3C ed è basato sulla struttura, e su parte del contenuto, dell'RFC 2854, ossia la registrazione di 'text/html'. Si prega di inviare commenti a www-html@w3.org, una mailing list pubblica (sottoscrizione obbligatoria) che ha i suoi archivi all'indirizzo <http://lists.w3.org/Archives/Public/www-html/>.

2. Registrazione del tipo di media MIME application/xhtml+xml

Nome del tipo di media MIME: application
Nome del sottotipo MIME: xhtml+xml
Parametri richiesti: nessuno
Parametri aggiuntivi:
charset
Questo parametro ha una semantica identica al parametro charset del tipo di media "application/xml" come specificato in [XMLMIME].
profile
Si veda la Sezione 8 di questo documento.

Considerazioni sulla codifica

Si veda la Sezione 4 di questo documento.

Considerazioni sulla sicurezza

Si veda la Sezione 7 di questo documento.

Considerazioni sull'interoperabilità

XHTML 1.0 [XHTML10] specifica delle regole di conformità per i programmi utente che sanciscono il comportamento da seguire nel caso della gestione di elementi sconosciuti.

Per quanto concerne la modularizzazione di XHTML [XHTMLMOD] e l'esistenza di linguaggi basati su XHTML (detti membri della famiglia XHTML) che non sono conformi ad XHTML 1.0, è possibile che 'application/xhtml+xml' possa essere usato per descrivere alcuni di questi documenti. Tuttavia, dovrebbe essere sufficiente per il momento che i programmi utente che accettano 'application/xhtml+xml' usino le regole di conformità sancite in [XHTML1] al fine di garantire l'interoperabilità.

Sebbene gli interpreti conformi di 'application/xhtml+xml' possano aspettarsi che il contenuto ricevuto sia XML ben formato (definito in [XML]), non si garantisce che il contenuto sia XHTML valido (definito in [XHTML1]). Questo è in gran parte dovuto alle ragioni esposte nel precedente paragrafo.

Specifiche pubblicate

XHTML 1.0 viene ora definito da una Raccomandazione W3C. L'ultima versione pubblicata è [XHTML1]. Fornisce la descrizione di alcuni tipi di contenuto conformi come "text/html" ma non impedisce l'uso di altri tipi di contenuto (consentendo de facto l'uso di questo nuovo tipo).

Applicazioni che usano questo media type

Alcuni sviluppatori di contenuti hanno già cominciato ad usare XHTML 1.0. Tuttavia questo contenuto viene attualmente descritto come "text/html", consentendo ai browser web di elaborarlo senza il riconoscimento del nuovo media type.

Non vi è un predecessore sperimentale, proprietario o personale di 'application/xhtml+xml'. Questo nuovo tipo viene registrato per permettere lo sviluppo di XHTML sul World Wide Web come prima classe di applicazioni XML in cui gli autori possono aspettarsi che i programmi utente siano conformi elaboratori di XML 1.0 [XML].

Informazioni aggiuntive

Numero Magico:
Non vi è alcuna sequenza di byte iniziali che sia sempre presente nei file XHTML. Tuttavia la Sezione 5 più avanti fornisce alcune linee guida per il riconoscimento dei file XHTML. Si veda anche la sezione 3.1 in [XMLMIME].
Estensione dei file:
Vi sono tre estensioni di file conosciute attualmente in uso per XHTML 1.0: ".xht", ".xhtml", and ".html".
Non si raccomanda di usare l'estensione ".xml" (definita in [XMLMIME]), in quanto i server web possono essere configurati per distribuire tale contenuto come "text/xml" o "application/xml". [XMLMIME] discute la scarsa affidabilità di questo approccio nella sezione 3. Tuttavia, se l'autore vuole, si può usare l'estensione ".xml".
Codice del tipo di file Macintosh:
TEXT
Per ulteriori informazioni si contatti:
Mark Baker <mark.baker@canada.sun.com>.
Uso previsto:
COMUNE
Controllo sull'autore/modifica:
Le specifiche XHTML sono il frutto del gruppo di lavoro sull'HTML del World Wide Web Consortium. Il W3C ha il controllo sulle modifiche di queste specifiche.

3. Identificatori di frammento

I riferimenti URI (Uniform Resource Identifiers, si veda [RFC2396] aggiornato in [RFC2732]) possono contenere informazioni aggiuntive che identificano alcune parti della risorsa. Questi riferimenti terminano con il simbolo "#" seguito dall'identificatore della parte (detto "identificatore di frammento"). L'interpretazione degli identificatori di frammento dipende dal tipo di media della risorsa distribuita.

Per i documenti designati come 'text/html', l'[RFC2854] ha specificato che l'identificatore di frammento indica il corrispettivo elemento designato, ossia gli elementi identificati con un attributo id univoco o un attributo name. Per i documenti descritti con il tipo di media 'application/xhtml+xml', gli identificatori di frammento condividono la stessa sintassi e semantica degli altri documenti XML (si veda [XMLMIME], sezione 5).

Al momento della scrittura del presente documento, [XMLMIME] non definisce la sintassi e la semantica degli identificatori di frammento, ma fa riferimento ad "XML Pointer Language (XPointer)" per un futuro meccanismo di identificazione dei frammenti XML. Le attuali specifiche di XPointer sono disponibili all'indirizzo http://www.w3.org/TR/xptr. Fino a quando [XMLMIME] non verrà aggiornato, gli identificatori di frammento per i documenti XHTML indicano l'elemento con il corrispondente valore dell'attributo ID (si veda [XML] sezione 3.3.1), ossia ogni elemento XHTML con l'attributo id.

4. Considerazioni sulla codifica

In virtù del fatto che il contenuto XHTML è XML, si applicano le stesse considerazioni per 'application/xhtml+xml' fatte per XML. Si veda [XMLMIME], sezione 3.2.

5. Riconoscimento dei file XHTML

Tutti i documenti XHTML avranno la stringa "<html" all'inizio del documento. Alcuni inizieranno anche con la dichiarazione XML che comincia con "<?xml", per quanto quest'ultima da sola non indica un documento XHTML. Tutti i documenti XHTML 1.0 conformi includeranno una dichiarazione XML del tipo di documento insieme all'elemento radice 'html'.

La modularizzazione dell'XHTML fornisce una convenzione nomenclativa per cui un identificatore pubblico di un sottoinsieme esterno nella dichiarazione del tipo di documento conterrà al stringa "//DTD XHTML". E anche se alcuni linguaggi basati su XHTML richiedono che la dichiarazione del tipo di documento ricorra nei documenti di siffatto genere, come XHTML 1.0 o XHTML Basic ( http://www.w3.org/TR/xhtml-basic), non è il caso che tutti i linguaggi basati su XHTML la includano.

Tutti i file XHTML dovranno anche includere una dichiarazione dello spazio dei nomi XHTML. Essa dovrebbe apparire dopo la stringa "<html" ed essere 'xmlns="http://www.w3.org/1999/xhtml'.

6. Regole per il charset predefinito

In virtù del fatto che tutto il contenuto XHTML è XML, si applicano le stesse considerazioni per 'application/xhtml+xml' dell'XML. Si veda [XMLMIME] sezione 3.2.

7. Considerazioni sulla sicurezza

Le considerazioni per 'text/html', specificate in [TEXTHTML], e per 'application/xml', specificate in [XMLMIME], si applicano anche per 'application/xhtml+xml'.

Inoltre a causa delle caratteristiche di estensibilità di XHTML, specificate nella modularizzazione di XHTML, è possibile che 'application/xhtml+xml' possa descrivere del contenuto con implicazioni sulla sicurezza che vanno al di là di quanto descritto qui. Tuttavia, se il programma utente segue le regole di conformità di [XHTML1], questo contenuto verrà ignorato. Solo nel caso in cui il programma utente riconosca ed elabori il contenuto aggiuntivo, o laddove un ulteriore elaborazione di tale contenuto coinvolga altri elaboratori, allora potrebbero sorgere potenziali problemi per la sicurezza. Ed in quel caso essi non ricadrebbero nell'àmbito di questo documento.

8. Il parametro facoltativo "profile"

Questo parametro vuole risolvere il problema a breve termine derivante dall'uso di un tipo MIME basato sulla negoziazione del contenuto (come per esempio con l'header HTTP "Accept") per negoziare con un'ampia varietà di linguaggi basati su XHTML. Il suo scopo è quello di essere usato solo durante la negoziazione del contenuto. Non ci si aspetta che venga usato nella distribuzione del contenuto, o che i server web lo riconoscano (per quanto questo possa essere positivo). Il suo uso primario è riferito ai proxy di rete nella catena HTTP che manipolano formati di dati (come transcoder).

Tale parametro vuole corrispondere strettamente alla semantica dell'attributo 'profile' dell'elemento HEAD definito in [HTML401] (sezione 7.4.4.3), tranne per il fatto che viene applicato all'intero documento invece che ai soli elementi META. Nello specifico, il valore di tale attributo è un URI che viene usato come nome per identificare un linguaggio. Per quanto non sia necessario che l'URI venga risolto per essere usato come nome, esso potrebbe essere uno spazio dei nomi, uno schema o la specifica di un linguaggio.

Per esempio, i programmi utente che supportano solo XHTML Basic (si veda http://www.w3.org/TR/xhtml-basic) attualmente non hanno alcuno standard atto a far fronte alla loro incapacità di supportare le funzionalità aggiuntive di XHTML 1.0 [XHTML1] che non si trovi in XHTML Basic. Sebbene le regole di conformità per i programmi utente di XHTML Basic (identiche ad XHTML 1.0) forniscano delle indicazioni agli implementatori per la gestione del contenuto aggiuntivo, in XHTML 1.0 tale contenuto è sostanziale, e rende tali regole di conformità insufficienti per l'elaborazione e la resa per l'utente finale. Vi è anche il problema di un potenziale sovraccarico di lavoro per il programma utente, che deve ricevere ed analizzare tale contenuto aggiuntivo.

La funzionalità fornita da questo parametro viene ottenuta anche da almeno altri due framework più generici per la descrizione del contenuto: l'header MIME "Content-features" (descritto in RFC 2912) e l'UAPROF del WAPforum (si veda http://www.wapforum.org/what/technical.htm). Attualmente usare l'una o l'altra soluzione significherebbe escluderle reciprocamente, dato che l'interoperabilità tra di esse non è stata definita. Per questo motivo si suggerisce di usare tale parametro finché la questione non sarà affrontata.

Un esempio di uso di tale parametro come parte di una transazione GET HTTP sarebbe:

Accept: application/xhtml+xml;
profile="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"

9. Indirizzo degli autori

Mark A. Baker
Planetfred, Inc.
44 Byward Market, Suite 240
Ottawa, Ontario, CANADA. K1N 7A2
Telefono: +1-613-789-1818
EMail: mbaker@planetfred.com
EMail: distobj@acm.org

Peter Stark
Ericsson Mobile Communications
Telefono: +464-619-3000
EMail: Peter.Stark@ecs.ericsson.com

10. Riferimenti

[HTML401]
Raggett, D., et al., "HTML 4.01 Specification", Raccomandazione W3C Disponibile all'indirizzo http://www.w3.org/TR/html401.
[MIME]
Freed, N. e N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, Novembre 1996.
[URI]
Berners-Lee, T., Fielding, R. e L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, Agosto 1998.
[XHTML1]
"XHTML 1.0: The Extensible HyperText Markup Language: A Reformulation of HTML 4 in XML 1.0", Raccomandazione W3C Disponibile all'indirizzo http://www.w3.org/TR/xhtml1.
[XML]
"Extensible Markup Language (XML) 1.0", Raccomandazione W3C. Disponibile all'indirizzo http://www.w3.org/TR/REC-xml.
[TEXTHTML]
Connolly, D. e L. Masinter, "The 'text/html' Media Type", RFC 2854, Giugno 2000.
[XMLMIME]
Murata, M., St.Laurent, S. e D. Kohn, "XML Media Types", RFC 3023, Gennaio 2001.
[XHTMLM12N]
"Modularization of XHTML", Raccomandazione W3C. Disponibile all'indirizzo http://www.w3.org/TR/xhtml-modularization.