[ Home ] - [ Articoli ] - [ Traduzioni ] - [ Altro ] - [ Appunti sui CSS ] - [ L'autore ]
Sei qui: Home > Traduzioni > 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
Questo documento fornisce informazioni per la comunità di Internet. Non specifica alcun tipo di standard. La distribuzione di questo documento è illimitata.
Copyright (C) The Internet Society (2002). Tutti i diritti riservati.
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'.
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/>.
| Nome del tipo di media MIME: | application |
|---|---|
| Nome del sottotipo MIME: | xhtml+xml |
| Parametri richiesti: | nessuno |
| Parametri aggiuntivi: |
|
Si veda la Sezione 4 di questo documento.
Si veda la Sezione 7 di questo documento.
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.
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).
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].
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.
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.
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'.
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.
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.
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"
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