Possibili errori di traduzione possono essere presenti in questo documento. Translation time: 2005/12/01, Tadas Talaikis, info@nakagava.com Solo il documento originale in inglese puo essere considerato ufficiale: |
Si prega di far riferimento agli errori noti di questo documento, i quali potrebbero includere alcune correzioni normative.
Vedere anche le traduzioni.
Copyright © 2005 W3C® (MIT, ERCIM, Keio), Tutti i diritti riservati. Si usano le regole W3C su responsabilità, marchio registrato e uso del documento.
Questo documento definisce la convenzione Pacchetto Ottimizzato XML-binario (XML-binary Optimized Packaging, XOP), un mezzo più efficiente di serializzare Infoset XML che abbiano certi tipi di contenuto.
Questa sezione descrive lo stato di questo documento al momento della sua pubblicazione. Altri documenti possono sostituire questo documento. Un elenco delle pubblicazioni attuali del W3C e l´ultima revisione di questo rapporto tecnico si trova a l'indice dei rapporti tecnici del W3C presso http://www.w3.org/TR/.
Questo documento è una Raccomandazione dal W3C. E stato rivisto dai Membri del W3C e da altre parti interessate ed è stato approvato dal Direttore come una Raccomandazione W3C. E' un documento stabile e può essere usato come materiale di riferimento o citato da un altro documento come una normativa di riferimento. L'obiettivo del W3C nel fare le Raccomandazioni è quello di richiamare l'attenzione alle specifiche e di promuovere la loro più ampia diffusione. Questo aumenta la funzionalità e l'interoperabilità del Web.
Questo documento è stato prodotto dal XML Protocol Working Group (WG) come parte della Web Services Activity del W3C. La versione inglese di questa specifica è l` unica versione normativa. Comunque, traduzioni di questo documento sono disponibili presso http://www.w3.org/2003/03/Translations/byTechnology?technology=xop10.
Si prega di informare gli errori di rapporto di questo documento alla xmlp-comments@w3.org (archivio). L' elenco d' errori noti di quest' edizione è disponibile presso http://www.w3.org/2005/01/xop10-errata
Questo documento è basato sulla XML-binary Optimized Packaging Proposed Recommendation 16 Novembre 2004. I contributi ricevuti nel corso della revisione non apportarono cambiamenti. Evidenze d'interoperabilità fra almeno due realizzazioni di questa specifica sono state documentate nel Sommario delle Realizzazioni. I cambiamenti tra queste due versioni sono descritti in un documento diverso.
Questo documento è stato prodotto sotto la CPP 24 Gennaio 2002 come corretto dalla Procedura di Transizione della Linea di Condotta su Brevetti del W3C. Chi abbia conoscenza di un brevetto che possa contenere Rivendicazione(i) Essenziale(i) su questa specifica deve rivelare l´ informazione di conformità con la sezione 6 della Linea di Condotta W3C su Brevetti. Le rivelazioni di Brevetti attinenti a questa specifica si trovano presso la la pagina di rivelazione di brevetti del Working Group.
Un elenco delle Raccomandazioni attuali del W3C e altri documenti tecnici si può trovare presso http://www.w3.org/TR/.
1 Introduzione
1.1
Terminologia
1.2
Esempi
1.3
Convenzioni di Notazione
2 Strutture XOP Infoset
2.1 item informazione dell'elemento xop:Include
2.2 item informazione dell'attributo href
3 Modello di Processamento XOP
3.1 Creare Pachetti XOP
3.2 Interpretare i Pacchetti XOP
4 Pachetti XOP
4.1 Pacchetti XOP MIME Multipart/Related
5 Identificare Documenti XOP
5.1 Registrazione
6 Considerazioni di Sicurezza
6.1 Integrità del Pacchetto XOP
6.2 Confidenzialità del Pacchetto XOP
A Relazioni con altre specifiche
A.1 Dipendenze
A.2
Payload
A.3
Estensione
A.4
Requisiti
B Riferimenti
B.1
Riferimenti Normativi
B.2 Riferimenti Informativi
C Riconoscimenti
(Non-Normativi)
Questo documento definisce la convenzione Pacchetto Ottimizzato XML-binario (XML-binary Optimized Packaging, XOP), un mezzo più efficiente di serializzare Infoset XML (vedere [XMLInfoSet]) che abbiano certi tipi di contenuto.
Si crea un pacchetto XOP mettendo una serializzazione di un Infoset XML in un formato di pacchetto estensibile (come un MIME Multipart/Related, vedere [RFC 2387]). Poi, si estraggono parti selezionate del suo contenuto che siano dati binari codificati con base64, si ricodificano (ad esempio, il dato è decodificato da base64) e si mettono nel pacchetto. Le posizioni di queste parti selezionate sono marcate nel XML con un elemento speciale che le collega con i dati imballati usando URI.
In molti applicazioni XOP importanti, i dati binari non si devono mai codificare in una forma base64. Se il dato ad includere è già disponibile come una catena binaria octet, allora un'applicazione o altro software che agiscano così possono direttamente copiare questo dato in un pacchetto XOP, preparando allo stesso tempo elementi di collegamento appropriati per essere usati nella parte radice; quando un pacchetto XOP è analizzato i dati binari possono diventare disponibili direttamente per le applicazioni, oppure, se corrisponde, la rappresentazione del carattere binario base64 può computarsi dai dati binari.
Comunque, a livello concettuale, possiamo pensare questi dati binari come codificati con base64 nel Documento XML. Siccome questa forma concettuale può essere necessaria durante alcuni processamenti del Documento XML (ad esempio, per firmare il documento XML), bisogna avere una o due corrispondenze tra Infoset XML e Pacchetti XOP. Perciò, si deve rappresentare concettualmente questi dati binari come si fossero codificati con base64, usando la forma lessicale canonica dello Schema XML base64Binary datatype (vedere [XML Schema Part 2: Datatypes
Second Edition] 3.2.16
base64Binary). Nel senso opposto, XOP è capace di ottimizzare soltanto dati Infoset codificati con base64 che siano nella sua forma lessicale canonica.
Soltanto i contenuti dell'elemento possono essere ottimizzati; attributi, caratteri di dati non compatibili con base64, e dati che non siano rappresentati canonicamente con datatype base64Binary non si possono ottimizzare con successo con XOP.
Le altre sezioni di questa specifica sono organizzate così:
La Sezione 2 descrive l´Infoset XOP, che conserva i contenuti e le strutture non ottimizzate dell'Infoset XML originale.
La Sezione 3 specifica il modello di processamento XOP.
La Sezione 4 di questa specifica descrive la forma del Pacchetto XOP.
La Sezione 5 descrive come si identificano i Documenti XOP.
La Sezione 6 esplora le considerazioni di sicurezza dell' uso della convenzione XOP.
Questa specifica usa la terminologia dell'Infoset XML (vedere [XMLInfoSet]) quando tratta la struttura e i contenuti XML. Questo è soltanto una convenzione che permette specificare chiaramente il comportamento del XOP.
I seguenti termini sono usati in questa specifica:
xop:Include .

L'Esempio 1
mostra un Infoset XML prima del processamento XOP. L'Esempio 2 mostra lo stesso Infoset serializzato usando il formato XOP in un pacchetto MIME Multipart/Related. Il contenuto codificato con base64 degli elementi m:photo e m:sig è stato sostituito da un elemento xop:Include, mentre gli octet binari sono stati serializzati in parti MIME separate. Si prenda nota che questi esempi usano [Assigning Media Types to Binary Data
in XML] per identificare i mediatype del contenuto degli elementi m:photo e m:sig. Si noti anche che il dato campione base64 è più piccolo di quello che sarebbe tipico e gli octet binari non si mostrano; di fatto, la forma ottimizzata probabilmente sia abbastanza più piccola dell'originale.
<soap:Envelope
xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
xmlns:xmlmime='http://www.w3.org/2004/11/xmlmime'>
<soap:Body>
<m:data xmlns:m='http://example.org/stuff'>
<m:photo
xmlmime:contentType='image/png'>/aWKKapGGyQ=</m:photo>
<m:sig
xmlmime:contentType='application/pkcs7-signature'>Faa7vROi2VQ=</m:sig>
</m:data>
</soap:Body>
</soap:Envelope>MIME-Version: 1.0
Content-Type: Multipart/Related;boundary=MIME_boundary;
type="application/xop+xml";
start="<mymessage.xml@example.org>";
startinfo="application/soap+xml; action=\"ProcessData\""
Content-Description: A SOAP message with my pic and sig in it
--MIME_boundary
Content-Type: application/xop+xml;
charset=UTF-8;
type="application/soap+xml; action=\"ProcessData\""
Content-Transfer-Encoding: 8bit
Content-ID: <mymessage.xml@example.org>
<soap:Envelope
xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
xmlns:xmlmime='http://www.w3.org/2004/11/xmlmime'>
<soap:Body>
<m:data xmlns:m='http://example.org/stuff'>
<m:photo
xmlmime:contentType='image/png'><xop:Include
xmlns:xop='http://www.w3.org/2004/08/xop/include'
href='cid:http://example.org/me.png'/></m:photo>
<m:sig
xmlmime:contentType='application/pkcs7-signature'><xop:Include
xmlns:xop='http://www.w3.org/2004/08/xop/include'
href='cid:http://example.org/my.hsh'/></m:sig>
</m:data>
</soap:Body>
</soap:Envelope>
--MIME_boundary
Content-Type: image/png
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/me.png>
// binary octets for png
--MIME_boundary
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/my.hsh>
// binary octets for signature
--MIME_boundary--L'Esempio 3 mostra un Infoset XML prima del processamento XOP. L'Esempio 4 mostra lo stesso Infoset, serializzato usando il formato XOP in un pacchetto MIME Multipart/Related. Il contenuto codificato con base64 degli elementi m:photo e m:sig è stato sostituito da un elemento xop:Include, mentre gli octet binari sono stati serializzati in parti MIME separate. Si prenda nota del fatto che il dato campione base64 è più piccolo di quello che sarebbe tipico e gli octet binari non si mostrano; di fatto, la forma ottimizzata è probabilmente abbastanza più piccola che quell'originale.
<m:data xmlns:m='http://example.org/stuff'> <m:photo>/aWKKapGGyQ=</m:photo> <m:sig>Faa7vROi2VQ=</m:sig> </m:data>
MIME-Version: 1.0
Content-Type: Multipart/Related;boundary=MIME_boundary;
type="application/xop+xml";
start="<mymessage.xml@example.org>";
start-info="text/xml"
Content-Description: An XML document with my pic and sig in it
--MIME_boundary
Content-Type: application/xop+xml;
charset=UTF-8;
type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <mymessage.xml@example.org>
<m:data xmlns:m='http://example.org/stuff'>
<m:photo><xop:Include
xmlns:xop='http://www.w3.org/2004/08/xop/include'
href='cid:http://example.org/me.png'/></m:photo>
<m:sig><xop:Include
xmlns:xop='http://www.w3.org/2004/08/xop/include'
href='cid:http://example.org/my.hsh'/></m:sig>
</m:data>
--MIME_boundary
Content-Type: image/png
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/me.png>
// binary octets for png
--MIME_boundary
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/my.hsh>
// binary octets for signature
--MIME_boundary--Le parole chiave "DEVE", "NON DEVE", "RICHIESTO", "DOVRÀ", "NON DOVRÀ", "DOVREBBE", "NON DOVREBBE", "RACCOMANDATO", "POTREBBE", e "FACOLTATIVO" in questo documento si devono interpretare come descritte in RFC 2119 [RFC 2119].
Questa specifica usa dappertutto una serie di prefissi namespace; sotto vi è un elenco. Si deve capire che la scelta di qualsiasi prefisso namespace è arbitraria e non significativa semanticamente.
| Prefisso | Namespace |
|---|---|
| Note | |
| xop | "http://www.w3.org/2004/08/xop/include" |
| Un documento non-normativo Schema XML [XML Schema Part 1: Structures Second Edition], [XML Schema Part 2: Datatypes Second Edition] per il namespace "http://www.w3.org/2004/08/xop/include" è disponibile presso http://www.w3.org/2004/08/xop/include. Lo Schema XML Schema > attualmente fornisce soltanto la validazione dell'Infoset XML 1.0; perciò, > lo schema potrebbe non essere usabile > con Infoset XOP corrispondenti a versioni posteriori dello XML. | |
| xmlmime | "http://www.w3.org/2004/11/xmlmime" |
| Il namespace per l'attributo contenuto tipo. | |
| soap | "http://www.w3.org/2003/05/soap-envelope" |
| Il namespace SOAP 1.2 [SOAP12]. | |
| xs | "http://www.w3.org/2001/XMLSchema" |
| Il namespace dei tipi di dati Schema XML [XML Schema Part 2: Datatypes Second Edition]. |
| Nota Editoriale: HR | |
| Si prenda nota che l´URI "http://www.w3.org/2004/11/xmlmime" non è finale e cambierà per adeguarsi all'evoluzione del documento "Assigning Media Types to Binary Data in XML" . | |
L' XOP opera estraendo il Contenuto Ottimizzato dall'Infoset Originale per creare l'Infoset XOP. In particolare, gli item informazione del carattere derivati degli item informazione dell' elemento a ottimizzarsi sono stati rimossi e sostituiti con un item informazione dell' elemento informazione chiamato xop:Include. L'item informazione dell'elemento xop:Include contiene un item informazione dell'attributo con un collegamento alla parte del Pacchetto XOP che porta una rappresentazione binaria del dato rimosso dall'item informazione dell'elemento originale. I particolari della costruzione e il processamento delle serializzazioni XOP sono forniti in Modello di Processamento 3 XOP.
L' Infoset usato come input per il processamento XOP NON DEVE contenere nessun item informazione dell'elemeno con una proprietà [nome namespace] di "http://www.w3.org/2004/08/xop/include" e una proprietà [nome locale] di Include. Gli infoset che contengano questi item informazione dell'element non potranno essere serializzati usando XOP, giacché durante la ricostruzione dell'infoset un processore non è capace di differenziare tra gli item informazione dell'elemento xop:Include inseriti durante la costruzione del pacchetto XOP e quelli che fanno parte dell'infoset originale.
Le seguenti subsezioni provvedono definizioni formali per contenuto ammissibili negli item informazione dell'elemento e l’ item informazione dell'attributo usati per costruire una serializzazione XOP; il contenuto non specificato esplicitamente non è ammissibile. Uno Schema XML non normativo per le [Extensible Markup Language (XML) 1.0 (Third Edition)] serializzazioni di questi item informazione dell'elemento e item informazione dell'attributo è reperibile presso http://www.w3.org/2004/08/xop/include.
xop:IncludeL'item informazione dell elemento xop:Include ha:
Include.
href obbligatorio (vedere 2.2 item informazione dell'attributo href).
xop:Include e DEVE essere ignorato se non è riconosciuto. xop:Include e DEVE essere ignorato se non è riconosciuto. href L'item informazione dell'attributo href ha:
href.
xop:Include). Il [valore normalizzato] DEVE essere un URI valido per cid: schema URI (vedere [RFC 2392]). Inoltre, il [valore normalizzato] DEVE essere una forma lessicale valida dello Schema XML datatype xs:anyURI (vedere [XML Schema Part 2: Datatypes
Second Edition]3.2.17
anyURI).
xop:Include che contiene l'tem informazione dell'attributo.
Questa sezione descrive il modello di processamento per creare Pacchetti XOP e interpretare Pacchetti XOP. A meno che si affermi un'altra cosa, il risultato di questo processamento DEVE essere semanticamente equivalente a eseguire i passi specificati separatamente e nell'ordine dato.
Per creare un Pacchetto a XOP da un Infoset XML Originale:
Include. Come abbiamo visto in 2 Strutture XOP Infoset, gli Infoset XML con questi item informazione dell'elemento non possono essere rappresentati usando XOP.
xs:base64Binary (vedere [XML Schema Part 2: Datatypes
Second Edition]3.2.16
base64Binary) e NON DEVONO contenere nessun carattere whitespace, prima, insieme o dopo i contenuti non-whitespace.
xop:Include (vedere 2.1 item informazione dell'elemento xop:Include) costruito così:
href dell'item informazione dell'elemento xop:Include (vedere 2.2 item informazione dell'attributo href).
xop:Include ) ha un item informazione dell'attributo xmlmime:contentType il suo valore DEVE essere convenientemente riflesso nei metadata della parte. Si POSSONO aggiungere parti addizionali al pacchetto per soddisfare i requisiti specifici dell'applicazione. Altri metadata di contenuto specifico POSSONO riflettersi nel pacchetto metadata come appropriati.
Se non è possibile codificare con successo il contenuto nel pacchetto XOP, le realizzazioni DEVONO comportarsi come se quella porzione dell'Infoset XML Originale non è stata nominata per l'ottimizzazione.
Questa sezione specifica i mezzi con cui l`Infoset XML Originale può essere ricostruito da un Pacchetto XOP che sia stato preparato secondo le regole stabilite in 3.1 Creare Pacchetti XOP.
Nota: convenzioni o errori che rapportino meccanismi a usarsi nei pacchetti di processamento che erroneamente significhino Pacchetti XOP sono oltre lo scopo di questa specifica.
Per creare un Infoset XML ricostituito da un Pacchetto XOP:
xop:Include (come definito in 2.1 item informazione dell'elemento xop:Include):
href del item informazione dell'elemento xop:Include (per esempio, corrispondente al URI codificato nel [valore normalizzato] del item informazione dell'attributo).
xop:Include che appare nella proprietà [derivato] di E con degli item carattere informazione che rappresentino la codifica base64 canonica dell'entità corpo della parte pacchetto identificata (per esempio, sostituire efficientemente l'item informazione dell'elemento xop:Include con i dati ricostruiti dalla parte del pacchetto). XOP è capace di usare una varietà di meccanismi sottostanti di pacchetto. Questi meccanismi di pacchetto DEVONO essere capaci di rappresentare, con una fedeltà completa, tutte le parti create secondo il 3 Modello di processamento XOP (vedere 3.1 Creare Pacchetti XOP), e DEVONO essere usati di maniera che provvedano mezzi di designare una parte radice distinta (main, primary etc.).
La seguente subsezione specifica normativamente come si usa un meccanismo particolare di pacchetto MIME Multipart/Related, ma non preclude l'uso di altri meccanismi di pacchetto con la convenzione XOP.
Questa sezione descrive come si usa il pacchetto MIME Multipart/Related (come specificato in [RFC 2387]) con XOP.
La parte radice MIME è una parte radice del pacchetto XOP, DEVE avere una serializzazione dell'infoset XOP usando una versione XML di qualsiasi livello della raccomandazione W3C (ad esempio, [Extensible Markup Language (XML) 1.0 (Third Edition)], [Extensible Markup Language (XML) 1.1]), e DEVE essere identificata con un media type di "applicazione/xop+xml" (come si definisce sotto). Il parametro "start-info" del media type del pacchetto DEVE contenere il contenuto tipo associato con la serializzazione di contenuti XML. (ad esempio, conterrà lo stesso valore come parametro "tipo" della parte radice).
Salvo per lo scopo di determinare la parte radice MIME, come si specifica in [RFC 2387], l'ordine delle parti MIME NON DEVE essere considerato significante per il processamento XOP o per la costruzione dell'infoset XOP.
La parte metadata è riflessa nelle zone testata MIME. Specificamente, l'URI usato nel valore di un item informazione dell'attributo href di un item informazione dell'elemento xop:Include contiene un URI che usa il 'cid:' schema (vedere [RFC
2392]), perciò la corrispondente parte MIME DEVE avere una zona testata Contenuto-ID (vedere [RFC 2387] con il corrisponde valore-zona.
Inoltre, se viene trovato un item informazione dell'attributo xmlmime:contentType (come si descrive in 3 Modello di Processamento XOP), DOVRÀ essere riflesso nel valore di zona della testata MIME Contenuto-Type.
I Documenti XOP, quando si usano come sistemi similari a MIME, si identificano con il media type "applicazione/xop+xml", con il parametro richiesto "type" portante l'originale contenuto tipo associato della serializzazione XML. Quando il parametro tipo contiene caratteri riservati deve essere appropriatamente citato e scappato.
Per esempio, un pacchetto XOP che usa un pacchetto MIME multipart/related per serializzare un messaggio SOAP 1.2 [SOAP Version 1.2 Part 1: Messaging Framework] con un parametro d'azione di "http://www.example.net/foo" etichetterebbe il pacchetto con il mediatype "multipart/related", e la parte radice con il media type "applicazione/xop+xml" insieme al parametro tipo che contiene "application/soap+xml;action=\"http://www.example.net/foo\"".
applicazione
xop+xml
Questo parametro porta il contenuto tipo associato con la serializzazione XML dell'infoset XOP, includendo i parametri approppriati.
Questo parametro ha identica semantica che il parametro charset del media type "applicazione/xml" come si specifica in RFC 3023 [RFC3023].
Uguali a quelle della "applicazione/xml" descritte in RFC 3023 [RFC3023], sezione 3.2.
Accanto alle considerazione specifiche dell'applicazione, XOP ha le stesse considerazioni di sicurezza descritte in RFC3023 [RFC3023], sezione 10.
Non ci sono problemi conosciuti d'interoperabilità.
Questo documento
Non ci sono attualmente applicazioni che usino questo media type.
Mark Nottingham <mnot@pobox.com>
COMMON
La specifica XOP è un prodotto di lavoro dello XML Protocol Working Group del World Wide Web Consortium. Il W3C ha controllo di cambio su questa specifica.
L`integrità degli Infoset ottimizzati usando XOP può avere bisogno di essere assicurata. Siccome i pacchetti XOP si possono trasformare per recuperare questi Infosets (vedere 3.2 Interpretare i Pacchetti XOP), è possibile usare le tecniche attuali di Firma Digitale XML per proteggerli. Comunque, si deve sapere che una firma sull'Infoset non lo protegge necessariamente contro modificazioni di altri aspetti del pacchetto XOP; per esempio, un infoset di controllo di firma può non essere protezione contro un riordinamento delle parti che non siano radice.
Nel futuro un algoritmo trasformatore che si usi con la Firma XML potrebbe fornire un modello di processamento più efficiente in cui gli octect crudi si possano compendiare direttamente.
A volte ci sarà bisogno di assicurare la riservatezza dei Pacchetti XOP. Siccome i pacchetti si possono trasforme in Set d'Informazione XML, le tecniche attuali che permette lo XML Encryption (vedere [XML Encryption Syntax and
Processing]) si possono usare per proteggere questi pacchetti. Si può encriptare qualsiasi parte del pacchetto, sia che includa o non includa caratteri base64. L'item informazione dell'elemento CipherData risultante può essere ottimizzato perché il contenuto di questo item informazione dell'elemento sono caratteri base64.
Nel futuro un algoritmo di trasformazione per essere usato con XML Encryption potrebbe fornire un modello di processamento più efficiente in cui gli octet crudi siano direttamente encriptati.
Quest' appendice compendia le dipendenze del XOP rispetto alle specifiche implicite, la natura dei payload appropriati per XOP e i mezzi con cui estendere il XOP.
La convenzione XOP è stata costruita sulla base di una serie di specifiche implicite. Queste sono:
XML (e.g., [Extensible Markup Language (XML) 1.0 (Third Edition)], [Extensible Markup Language (XML) 1.1]) - Il Documento XOP è codificato usando una versione XML di qualsiasi livello di raccomandazione W3C (vedere 3.1 Creare Pacchetti XOP). I formati che usino XOP DEVONO identificare le versioni of XML che permettano codificare l'Infoset XOP. XOP non obbliga all'uso di meccanismi definiti da XML, includendo quelli che esplicitamente permettono estensioni, né obbliga all'uso di specifiche implicite.
Namespaces in XML (e.g., [Namespaces in XML], [Namespaces in XML 1.1]) - Il Documento XOP usa le versioni di Namespace in XML di qualsiasi livello di raccomandazione W3C che siano compatibili con le versioni XML usate. I formati che usino XOP DEVONO identificare le versioni di Namespaces in XML che permettano codificare l'Infoset XOP. XOP non obbliga all'uso di nessun meccanismo definito dai Namespaces in XML, includendo quelli che esplicitamente permettono estensioni, né obbliga all'uso di specifiche implicite.
Uniform Resource Identifiers (vedere [RFC 2396]) - IL Documento XOP usa URI per localizzare parti nel pacchetto XOP (vedere 2.2 item informazione dell'attributo href. XOP non obbliga all'uso di nessun meccanismo definito da URI, includendo quelli che esplicitamente permettono estensioni, né obbliga all'uso di specifiche implicite.
Meccanismo di Pacchetto - XOP richiede l'uso di un meccanismo di pacchetto che adempia i requisiti di 4 Pacchetti XOP. Uno di questi meccanismi DEVE essere in uso, ma il XOP non richiede un meccanismo specifico, i formati che usino XOP DEVONO identificare almeno uno di questi meccanismi che permettano creare un Pacchetto XOP, e DEVONO specificare come ogni meccanismo permesso si deve usare per costruire il pacchetto XOP.
Il rapporto tra uno di questi meccanismi e il XOP, il Contenuto-Tipo MIME Multipart/Related, è specificato in 4.1 Pacchetti XOP MIME Multipart/Related.
Il payload di un Pacchetto XOP è un'Infoset XML. XOP costringe la serie di caratteri ammissibili nel payload a quelli contenuti nella produzione "Char" di una versione XML di livello raccomandazione W3C. Inoltre, l'Infoset XML originale non può contenere un item informazione dell'elemento con un [nome locale] di Include e un [nome namespace] di "http://www.w3.org/2004/08/xop/include". Finalmente, le parti del payload che siano nominate per l'ottimizzazione in XOP DEVONO essere dati codificati con base64 nella forma lessicale canonica dello Schema XML Schema base64Binary datatype (vedere [XML Schema Part 2: Datatypes
Second Edition] 3.2.16
base64Binary).
I Documenti XOP permettono estensione all'elemento xop:Include mentre non cambino la propria semantica. I cambiamenti alla semantica DEVONO essere identificati con un nuovo namespace URI (ad esempio, DEVONO definire un nuovo item informazione dell'elemento Include
in altro namespace).
L'estensibilità delle specifiche implicite a XOP non è costretta dall'uso in XOP.
Questo documento insieme a [SOAP Message Transmission Optimization Mechanism] e [SOAP Representation Header] è stato prodotto in congiunzione con lo sviluppo dei requisiti concretati nel documento [SOAP Optimized Serialization Use Cases and Requirements].
Questa specifica è un lavoro del W3C XML Protocol Working Group.
I partecipanti nel Working Group sono (nel momento della scrittura, per ordine alfabetico): David Fallside (IBM), Tony Graham (Sun Microsystems), Martin Gudgin (Microsoft Corporation, formerly of DevelopMentor), Marc Hadley (Sun Microsystems), Gerd Hoelzing (SAP AG), John Ibbotson (IBM), Anish Karmarkar (Oracle), Suresh Kodichath (IONA Technologies), Yves Lafon (W3C), Michael Mahan (Nokia), Noah Mendelsohn (IBM, formerly of Lotus Development), Jeff Mischkinsky (Oracle), Jean-Jacques Moreau (Canon), Mark Nottingham (BEA Systems, formerly of Akamai Technologies), David Orchard (BEA Systems, formerly of Jamcracker), Herve Ruellan (Canon), Jeff Schlimmer (Microsoft Corporation), Pete Wenzel (SeeBeyond), Volker Wiechers (SAP AG).
Sono stati partecipanti previ: Yasser alSafadi (Philips Research), Bill Anderson (Xerox), Vidur Apparao (Netscape), Camilo Arbelaez (webMethods), Mark Baker (Idokorro Mobile, Inc., formerly of Sun Microsystems), Philippe Bedu (EDF (Electricite De France)), Olivier Boudeville (EDF (Electricite De France)), Carine Bournez (W3C), Don Box (Microsoft Corporation, formerly of DevelopMentor), Tom Breuel (Xerox), Dick Brooks (Group 8760), Winston Bumpus (Novell, Inc.), David Burdett (Commerce One), Charles Campbell (Informix Software), Alex Ceponkus (Bowstreet), Michael Champion (Software AG), David Chappell (Sonic Software), Miles Chaston (Epicentric), David Clay (Oracle), David Cleary (Progress Software), Dave Cleary (webMethods), Ugo Corda (Xerox), Paul Cotton (Microsoft Corporation), Fransisco Cubera (IBM), Jim d'Augustine (Excelon Corporation), Ron Daniel (Interwoven), Glen Daniels (Macromedia), Doug Davis (IBM), Ray Denenberg (Library of Congress), Paul Denning (MITRE Corporation), Frank DeRose (TIBCO Software, Inc.), Mike Dierken (DataChannel), Andrew Eisenberg (Progress Software), Brian Eisenberg (DataChannel), Colleen Evans (Sonic Software), John Evdemon (XMLSolutions), David Ezell (Hewlett Packard), James Falek (TIBCO Software, Inc.), Eric Fedok (Active Data Exchange), Chris Ferris (Sun Microsystems), Daniela Florescu (Propel), Dan Frantz (BEA Systems), Michael Freeman (Engenia Software), Dietmar Gaertner (Software AG), Scott Golubock (Epicentric), Mike Greenberg (IONA Technologies), Rich Greenfield (Library of Congress), Hugo Haas (W3C), Mark Hale (Interwoven), Randy Hall (Intel), Bjoern Heckel (Epicentric), Frederick Hirsch (Zolera Systems), Erin Hoffmann (Tradia Inc.), Steve Hole (MessagingDirect Ltd.), Mary Holstege (Calico Commerce), Jim Hughes (Fujitsu Limited), Oisin Hurley (IONA Technologies), Yin-Leng Husband (Hewlett Packard, formerly of Compaq), Ryuji Inoue (Matsushita Electric Industrial Co., Ltd.), Scott Isaacson (Novell, Inc.), Kazunori Iwasa (Fujitsu Limited), Murali Janakiraman (Rogue Wave), Mario Jeckle (DaimlerChrysler Research and Technology), Eric Jenkins (Engenia Software), Mark Jones (AT&T), Jay Kasi (Commerce One), Jeffrey Kay (Engenia Software), Richard Koo (Vitria Technology Inc.), Jacek Kopecky (Systinet), Alan Kropp (Epicentric), Julian Kumar (Epicentric), Peter Lecuyer (Progress Software), Tony Lee (Vitria Technology Inc.), Michah Lerner (AT&T), Bob Lojek (Intalio Inc.), Henry Lowe (OMG), Brad Lund (Intel), Matthew MacKenzie (XMLGlobal Technologies), Murray Maloney (Commerce One), Richard Martin (Active Data Exchange), Alex Milowski (Lexica), Kevin Mitchell (XMLSolutions), Nilo Mitra (Ericsson), Ed Mooney (Sun Microsystems), Dean Moses (Epicentric), Highland Mary Mountain (Intel), Don Mullen (TIBCO Software, Inc.), Rekha Nagarajan (Calico Commerce), Raj Nair (Cisco Systems), Masahiko Narita (Fujitsu Limited), Mark Needleman (Data Research Associates), Art Nevarez (Novell, Inc.), Eric Newcomer (IONA Technologies), Henrik Nielsen (Microsoft Corporation), Conleth O'Connell (Vignette), Kevin Perkins (Compaq), Jags Ramnaryan (BEA Systems), Andreas Riegg (DaimlerChrysler Research and Technology), Vilhelm Rosenqvist (NCR), Marwan Sabbouh (MITRE Corporation), Waqar Sadiq (Vitria Technology Inc.), Rich Salz (Zolera Systems), Krishna Sankar (Cisco Systems), George Scott (Tradia Inc.), Shane Sesta (Active Data Exchange), Lew Shannon (NCR), John-Paul Sicotte (MessagingDirect Ltd.), Miroslav Simek (Systinet), Simeon Simeonov (Macromedia), Aaron Skonnard (DevelopMentor), Nick Smilonich (Unisys), Seumas Soltysik (IONA Technologies), Soumitro Tagore (Informix Software), James Tauber (Bowstreet), Anne Thomas Manes (Sun Microsystems), Lynne Thompson (Unisys), Patrick Thompson (Rogue Wave), Jim Trezzo (Oracle), Asir Vedamuthu (webMethods), Randy Waldrop (WebMethods), Fred Waskiewicz (OMG), David Webber (XMLGlobal Technologies), Ray Whitmer (Netscape), Stuart Williams (Hewlett Packard), Yan Xu (DataChannel), Amr Yassin (Philips Research), Susan Yee (Active Data Exchange), Jin Yu (MartSoft Corp.).
Si ringrazia anche le persone che hanno contribuito alle discussioni presso xml-dist-app@w3.org .
Associating Style Sheets with XML documents
XML-Signature XPath Filter 2.0
XPointer element() Scheme
XPointer Framework
XPointer xmlns() Scheme
XML Inclusions (XInclude) Version 1.0
XML-binary Optimized Packaging
xml:id Version 1.0
XML Information Set (Second Edition)
OWL Web Ontology Language - Use Cases and Requirements
Ruby Annotation in Spanish
Ruby Annotation in Italian
SOAP Introduction