Esta é uma tradução da recomendação XML-binary Optimized Packaging, do W3C, cuja versão original poderá ser encontrada em:
http://www.w3.org/TR/2005/REC-xop10-20050125/
Alerta-se aqui para o facto desta tradução poder conter erros, próprios e inerentes a cada tradução deste tipo.Certo tipo de conceitos são difíceis de traduzir para o Português, ou deveriam ainda ser contemplados com uma explicação mais plausível. Em todo o caso, tentou-se aqui uma aproximação exacta ao contexto original.
· Tradutor : Alexandre Cláudio de Sena Viegas (contacto: Bandlos17@hotmail.com)
· Data da tradução : 21 de Fevereiro de 2005
Consulte por favor a errata deste documento, a qual poderá conter algumas correcções normativas.
Veja também as respectivas traduções.
Copyright © 2005 W3C® (MIT, ERCIM, Keio). Todos os direitos são reservados! São aplicáveis as disposições do W3C relativas às responsabilidades, marcas e ao uso dos documentos.
Este documento define a convenção do Empacotamento Optimizado das Matérias em código XML-binário (XOP), um meio mais eficiente de serializar conjuntos de informações XML, as quais possuem um tipo de conteúdo específico.
Esta secção descreve o estatuto deste documento, aquando a sua publicação. Ele poderá ainda vir a ser substituído por outros documentos. A lista com as actuais publicações do W3C e a revisão actualizada deste relatório técnico poderão ser encontradas no índex dos relatórios técnicos do W3C, em http://www.w3.org/TR/.
Este documento é uma recomendação do W3C. Ele foi revisto pelos membros do W3C e por outras partes interessadas, e endossado pelo Diretor na qualidade de Recomendação. Ele provém de fontes fidedignas e poderá ser usado como material de referência ou citado como referência normativa de um outro documento. O papel do W3C é a chamada de atenção para as referidas especificações, bem como promover e divulgar a sua distribuição. Tal acção realça a funcionabilidade e a inter-operacionabilidade da Web.
Este documento foi produzido pelo Grupo de Trabalho responsável pelo Protocolo em XML (WG) como parte integrante do W3C Actividade dos Serviços da Web. A versão desta especificação em Inglês é a única versão normativa. Para você poder contudo visualizar as suas traduções, veja http://www.w3.org/2003/03/Translations/byTechnology?technology=xop10.
Por favor, relate-nos qualquer erro verificado neste documento, através do email: xmlp-comments@w3.org (archive). A lista da errata desta edição está disponível em: http://www.w3.org/2005/01/xop10-errata
Este documento baseia-se na Recomendação Proposta para o Empacotamento Optimizado das Matérias em Código XML-binário de 16 de Novembro de 2004. De acordo com os feedbacks recebidos durante a última revisão, não foi efectuada qualquer alteração neste documento. A evidência resultante da interactividade, entre pelo menos duas implementações desta especificação, foi devidamente documentada no Sumario da Implementação. As alterações verificadas nestas duas versões são descritas num documento "diff".
Este documento foi produzido de acordo com o CPP de 24 de Janeiro de 2002 ,como emenda do Procedimento da Transição da Política de Patenteamentos do W3C. Um indivíduo que tenha o conhecimento real de uma patente, a qual ele acredite conter as indicações essenciais respeitantes a estas especificações, deverá divulgar a informação, de acordo com a secção 6 da Política das Patentes do W3C. As cláusulas de patenteamento mais relevantes para esta especificação poderão ser encontradas na página das divulgações do Grupo de trabalho Página com as Cláusulas de Patenteamento.
A lista das actuais Recommendações do W3c, bem como de outros documentos técnicos, poderá ser encontrada em http://www.w3.org/TR/.
1 Introdução
1.1 Terminologia
1.2 Exemplos
1.3 Notas referentes às Convenções
2 Conjunto de informações relacionadas com a arquitectura do XOP
2.1 xop:Inclui itens com informações referentes aos elementos
2.2 item com a informação dos atributos "href"
3 Modelo de processamento XOP
3.1 Criando as pastas XOP
3.2 Interpretando as pastas XOP
4 Pastas XOP
4.1 MIME Multipart/Pastas XOP associadas
5 Identificando os documentos XOP
5.1 Registro
6 Considerações relacionadas com a segurança
6.1 Integridade das pastas XOP
6.2 Confidência das pastas XOP
A Relação com as outras especificações
A.1 Dependências
A.2 Carga útil
A.3 Extensão
A.4 Requirimentos
B Referências
B.1 Referências normativas
B.2 Refêrencias informativas
C Agradecimentos (Não-normativos)
Esta especificação define a convenção do empacotamento optimizado das matérias em código XML-binário (XOP), um meio mais eficiente de serializar conjuntos de informações XML (ver [XMLInfoSet]), os quais contenham um determinado tipo de conteúdo.
A pasta XOP é criada através da conversão de uma serialização do Infoset do XML num formato de empacotamento extensível (como por exemplo o MIME Multipart/Related, ver [RFC 2387]). As parcelas do seu conteúdo que foram selecionadas (dados binários codificados para a base de 64 bits), são então extraídas, re-codificadas (neste caso, os dados são descodificados de uma base binária de 64 bits) e colocadas na pasta. As posições dessas parcelas selecionadas são marcadas no XML com um elemento especial que as une ao dados empacotados através de URLs.
Num número de aplicações importantes do XOP, os dados binários não podem estar codificados na base binária de 64 bits. Se os dados a incluir já estiverem disponíveis sob a forma de uma corrente octagonal binária, então, qualquer aplicação ou outro software que aja de acordo com este princípio, poderá copiar directamente os dados para uma pasta XOP e preparar ao mesmo tempo os elementos a serem apropriadamente ligados, para uso numa mesma base ou raíz; sempre que as pastas XOP forem analisadas, os dados binários poderão ser directamente disponibilizados, nas aplicações ou, se tal fôr apropriado, a representação dos caractéres em base binária de 64 bits poderá ser computada a partir desses mesmos dados.
De qualquer forma e a um nível conceptual, estes dados binários poderão ser considerados como tendo
sido codificados na base binária de 64 bits no documento XML. Dado que esta forma conceptual poderá
ser necessária durante algumas das fases do processamento do documento XML (por exemplo, para
atribuir o documento XML), é necessário existir aqui uma correspondência de um para um, entre os
Infosets (conjuntos de informação) XML e as pastas XOP. Para isso, a representação conceptual de
tais dados binários dá-se exactamente como se eles tivessem sido codificados na base binária de 64
bits, utilizando-se a forma canónica e lexical do esquema XML para os tipo de dados em base
binária 64
(ver [Esquema XML, Parte 2: Tipos de dados, 2ª.
Edição], 3.2.16 -
Base-binária-64). Na direcção inversa, o XOP é capaz de optimizar apenas os Infosets
codificados na base-binária-64 que estejam na sua forma lexical e canónica.
Poderão apenas ser optimizados os elementos do seu conteúdo; atributos, dados com caractéres não
compatíveis com a base binária de 64 bits e dados que não estejam descritos na representação
canónica dos dados em base binária de 64 bits
não poderão ser optimizados com sucesso
pelo XOP.
Os restantes aspectos desta especificação estão organizados da seguinte forma:
A Secção 2 descreve o Infoset do XOP, o qual preserva o conteúdo não-optimizado e a extrutura do Infoset original do XML.
A Secção 3 especifica o modelo de processamento XOP.
A Secção 4 desta especificação descreve a forma da pasta XOP.
A Secção 5 descreve a forma como os documentos XOP são identificados.
A Secção 6 explora os aspectos relacionados com a segurança no uso da convenção XOP.
Esta especificação utiliza a terminologia do Infoset XML (ver [InfoSet XML]) ao discutir o conteúdo e a extrutura XML. Esta é apenas uma convenção para uma especificação clara do comportamento XOP.
Os seguintes termos são utilizados nesta especificação:
xop:Inclui
itens com informações referentes ao
seus elementos.
O exemplo 1 exibe um Infoset XML antes do processamento
XOP. O exemplo 2 exibe o mesmo Infoset, serializado
através da utilização do formato XOP numa MIME Multipart/Pasta Associada. O conteúdo codificado
da base-binária-64 m:photo
e os elementos m:sig
foram substituídos
por um elemento xop:Include
, enquanto que os octetos binários foram serializados
em partições MIME separadas. Note-se no entanto que esses exemplos se servem de [Atribuíndo Tipos de Media aos Dados Binários em XML] para identificar o
tipo de media do conteúdo de m:photo
e dos elementos m:sig
. Note
também que os dados da amostra codificada numa base-binária-64 são mais pequenos do que aquilo
que se seria de esperar e que os octetos binários não são exibidos; na prática, a forma
optimizada é provávelmente muito mais pequena do que a sua forma original.
<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>
Versão MIME: 1.0 Tipo de conteúdo: Multipart/Related;boundary=MIME_boundary (limite); type="application/xop+xml"; start="<mymessage.xml@example.org>"; startinfo="application/soap+xml; action=\"ProcessData\"" Descrição do Conteúdo: Uma mensagem SOAP com o meu... --MIME_boundary (limite) Tipo de conteúdo: applicação/xop+xml; charset=UTF-8; tipo="applicação/soap+xml;action=\"ProcessData\"" Codificação da transferência do conteúdo:8bit ID do Conteúdo: <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 (limite) Tipo de conteúdo:image/png Codificação da transferência do conteúdo:binária ID do Conteúdo:<http://example.org/me.png> // octetos binários para png --MIME_boundary (limite) Tipo de conteúdo:application/pkcs7-signature Codificação da transferência do conteúdo:binária ID do Conteúdo:<http://example.org/my.hsh> // octetos binários para a assinatura --MIME_boundary--
O exemplo 3 exibe um Infoset XML antes do processamento
XOP. O exemplo 4 exibe o mesmo Infoset, serializado
através da utilização do formato XOP numa MIME Multipart/Pasta Associada. . O conteúdo
codificado da base-binária-64 dos elementos m:photo
e m:sig
foram
substituídos por um elemento xop:Include
, enquanto que os octetos binários foram
serializados em partições MIME separadas. Note-se também aqui que a amostra dos dados
codificados em base-binária-64 é mais pequena do que aquilo que seria de esperar e que os
octetos binários não são exibidos;na prática, é provável que a forma optimizada seja muito mais
pequena do que a forma original.
<m:data xmlns:m='http://example.org/stuff'> <m:photo>/aWKKapGGyQ=</m:photo> <m:sig>Faa7vROi2VQ=</m:sig> </m:data>
Versão MIME:1.0 Tipo de conteúdo: Multipart/Related;boundary=MIME_boundary (limite); type="application/xop+xml" (tipo); start=" (início)<mymessage.xml@example.org>"; start-info="text/xml" Descrição do Conteúdo: Um documento XML com o meu... --MIME_boundary (limite) Tipo de conteúdo: application/xop+xml (aplicação); charset=UTF-8; type="text/xml" Codificação da transferência do conteúdo: 8bit ID do Conteúdo: <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 (limite) Tipo de conteúdo: image/png Codificação da transferência do conteúdo: binária ID do Conteúdo: <http://example.org/me.png> // octetos binários para png --MIME_boundary (limite) Tipo de conteúdo:application/pkcs7-signature Codificação da transferência do conteúdo: binária ID do Conteúdo:<http://example.org/my.hsh> // octetos binários para a assinatura --MIME_boundary--
As palavras-chave "MUST" (tem de), "MUST NOT" (não é obrigatório), "REQUIRED" (requerido), "SHALL" (deve), "SHALL NOT" (não deve), "SHOULD" (deveria), "SHOULD NOT" (não deveria), "RECOMMENDED" (recomendado), "MAY" (pode) e "OPTIONAL" (opcional), deverão ser interpretadas neste documento de acordo com os parâmetros descritos no RFC 2119 [RFC 2119].
Esta especificação utiliza um número de prefixos de espaços nominais por toda a sua área; eles serão listados mais abaixo. Note-se que a escolha do prefixo do espaço nominal é arbitrário e não possui qualquer significado semântico.
Prefixo | Espaço nominal |
---|---|
Notas | |
xop | "http://www.w3.org/2004/08/xop/include" |
Um esquema XML não-normativo [Esquema XML Parte 1: Extruturas, 2a. Edição] , [Esquema XML, Parte 2: Tipo de dados, 2ª. Edição] documento para o "http://www.w3.org/2004/08/xop/include" “namespace” poderá ser encontrado em http://www.w3.org/2004/08/xop/include. Note-se que o Esquema XML prevê actualmente apenas a validação dos Infosets do XML 1.0; de acordo com esse aspecto, o esquema poderá não ser utilizável com os Infosets XOP, correspondentes às últimas versões do XML. | |
xmlmime | "http://www.w3.org/2004/11/xmlmime" |
O espaço nominal para o tipo de conteúdo atribuído. | |
soap | "http://www.w3.org/2003/05/soap-envelope" |
O espaço nominal SOAP 1.2[SOAP12]. | |
xs | "http://www.w3.org/2001/XMLSchema" |
O espaço nominal dos tipos de dados do Esquema XML [Esquema XML, Parte 2: tipos de dados, 2a. Edição]. |
Nota editorial: HR | |
Note que o URI "http://www.w3.org/2004/11/xmlmime" não é definitivo e que irá ser alterado para seguir a evolução do documento "Associação de tipos de meios aos dados binários em XML" . |
O XOP opera através da extracção do Conteúdo Optimizado do Infoset Original, a fim de criar o
Infoset XOP. Em particular, os itens contendo a informação relacionada com os caractéres,
derivados dos itens relacionados com a informação do(s) elemento(s) a ser(em)
optimizado(s), são removidas e substituídas por um tópico com a informação do elemento,
intitulado xop:Include
. O item xop:Include
, no qual se encontra a
informação do elemento, contém um tópico relacionado com a informação do atributo ou
qualidade, com uma ligação à parte da Pasta XOP que carrega a representação binária dos dados
removidos do item com a informação referente ao elemento. Os detalhes relacionados com a
construção e o processamento das serializações do XOP são fornecidos em 3 XOP Modelo de Processamento.
O Infoset utilizado como entrada (input), no processamento do XOP, não necessitará obrigatóriamente
de conter nenhum tópico contendo informações relacionadas com o elemento, com
[espaço-nominal nome], caracterizado em "http://www.w3.org/2004/08/xop/include" e um [nome local],
caracterizado em Include
. Os Infosets que contenham tais itens informativos
não poderão ser serializados através do XOP. Tudo isto porque, durante o processo de reconstrução
do Infoset um processador é incapaz de fazer a distinção entre os itens informativos referentes
aos elementos xop:Include
,inseridos durante a construção das Pastas XOP, e os
itens que faziam parte do infoset Original.
As sub-divisões seguintes, fornecem-lhe as definições formais referentes ao conteúdo permitido no item informativo referente ao elemento e itens com a informação referente aos atributos ou qualidade , usados na construção de uma serialização XOP; todo o conteúdo que não seja explícitamente especificado é aqui proibido. O Esquema XML não-normativo para a [Linguagem de Markup Extensível (XML) 1.0 (3ª. Edição)] , para as serializações desse item com a informação do elemento e itens com a informação dos atributos poderá ser encontrado em http://www.w3.org/2004/08/xop/include.
xop:Include
- item com informação
referente aos elementos
O item com a informação referente aos elementos (xop:Include
), contém:
Include
.
href
obrigatório, com informações referentes
aos atributos (ver 2.2 Item de informação –href-
referente aos atributos).
xop:Include
, com a informação referente
aos elementos e DEVERÁ ser ignorado, caso não seja reconhecido.
xop:Include
e DEVERÁ ser ignorado, caso não seja reconhecido.
href
O item com a informação referente aos atributos href
possui:
href
.
xop:Include
,referente aos
elementos). O [valor normalizado] TEM DE SER um URI validado pelo CID: Esquema URI
(ver [RFC 2392]). Acrescentando mais alguns factos, o [valor
normalizado] tem de ser uma forma lexical válida do Esquema XML xs: qualquer dado do
tipo URI
(ver [Esquema XML, Parte 2: Tipos de dados, 2ª.
Edição]3.2.17
qualquer URI).
xop:Include
referente aos elementos, contendo o item de
informação referente aos atributos ou qualidades.
Esta secção descreve o modelo de processamento na criação e na interpretação das Pastas XOP. Excepto no caso de indicação contrária, o resultado desse processamento DEVERÁ conter um campo semântico equivalente, a fim de se poder assim executar em separado as etapas especificadas, atendendo ainda à ordem em que eleas foram fornecidas.
Para criar uma Pasta XOP a partir de um Infoset XML Original:
xs:base-binária-64
(ver [Esquema XML, Parte 2: Tipos de dados, 2ª. Edição]3.2.16
base-binária-64) e NÃO É OBRIGATÓRIO conter quaisquer espaços em branco, precedendo em
linha com ou a seguir ao conteúdo que se distinga desses espaços em branco.
xop:Incluir
(ver 2.1 xop:Incluir item com informações referentes aos
elementos), o qual é construído da seguinte forma:
href
do tópico
xop:Incluir
informações referentes aos elementos (ver 2.2 Item com informações referentes aos atributos
href).
xop:Inclui
item com informações referentes aos elementos)
contiver um item com informações referentes ao atributo do tipo xmlmime:Tipo
de conteúdo
, o seu valor DEVERÁ refelectir-se adequadamente nos meta-dados
destinados a essa parte.
Outras partes PODERÃO ser adicionadas à pasta, a fim de satisfazer os requerimentos específicos da aplicação. Outros conteúdos específicos PODERÃO ser reflectidos no empacotamento dos meta-dados, de acordo segundo o mais indicado.
Se o conteúdo não puder ser codificado com êxito para a pasta XOP, as implementações dever-se-ão comportar como se essa parcela do Infoset XML Original não tivesse sido nomeada para a optimização em causa.
Esta secção especifica os meios pelos quais o Infoset XML Original poderá ser reconstruído, a partir de uma pasta XOP que tenha sido preparada de acordo com as regras definidas no tópico 3.1 Criando as Pastas XOP.
Nota: convenções ou mecanismos do relatório dos erros a serem usados no processo de empacotamento de pastas, as quais se pensava falsamente tratarem de Pastas XOP, estão para além da área desta especificação.
Para criar um Infoset XML Reconstituído XML a partir de uma Pasta XOP:
xop:Include
,(como o definido em 2.1 xop:Inclui
um item com informações referentes aos elementos):
href
contido no tópico com a
informação referente aos elementos xop:Include
(i.e.,
correspondendo ao URI codificado no [valor normalizado] do item de informação
referente aos atributos.
xop:Incluircode> informações referentes aos
elementos</<em>, o qual aparece na propriedade derivada de E, contendo
itens de carácter informativo e representando a forma canónica da
codificação em base-binária-64 do corpo da entidade da fracção identificada
pertencente à pasta (isto significa, ela substitui efectivamente o item com a
informação referente aos elementos
xop:Include, com os dados
reconstruídos a partir dessa fracção da pasta.
O XOP está apto à utilização Tais mecanismos de empacotamento DEVEM estar aptos a representar, com uma precisão minimal, todas as partes criadas, de acordo com os aspectos definidos em 3 Modelo de processamento XOP (ver 3.1 Criando Pastas XOP ), e DEVEM ser usados de maneira a que forneçam meios que posssibilitem a designação de uma parte distinta da raíz (principal, primária, etc.).
A sub-secção mais abaixo especifica de um ponto de vista normativo, a forma como um mecanismo de empacotamento em particular (MIME Multiparte/Associad.) é utilizado, mas não impossibilita o uso de outros mecanismos de empacotamento, os quais se sirvam das convenções XOP.
Esta secção descreve a forma como o empacotamento das Pastas MIME/Associadas (como especificado em [RFC 2387]) é usado com o XOP.
A parte da raíz MIME é a parte da raíz pertencente à Pasta XOP e DEVERÁ ser uma serialização do uso do Infoset XOP que utilize qualquer nível de recomendação do W3C referente às versões XML (exemplo: [Linguagem Markup Extensível (XML) 1.0 (3ª. Edição)], [Linguagem Markup Extensível (XML) 1.1]) e DEVE ser identificada com o tipo de meio da “aplicação/xop+xml” (como é definido mais abaixo). O parâmetro contendo a informação inicial referente ao tipo de meio utilizado na pasta DEVERÁ conter o tipo de conteúdo associado ao conteúdo da serialização XML. (exemplo: ela conterá o mesmo valor que o parâmetro referente ao tipo da parte da raíz).
À excepção do objectivo de determinar a parte MIME na raíz, como o especificado em [RFC 2387], a ordenação das partes MIME não têm obrigatóriamente de ser consideradas como significantes no processamento XOP ou na construção do Infoset XOP.
A parte correspondente aos meta-dados é reflectida em campos do encabeçamento do MIME.
Especificamente falando, o URI utilizado no valor correspondente a um item com informações
referentes aos atributosattribute href
, num item contendo as informações
relativas aos elementos do tipo xop:Include
, contém a URI que utiliza o
esquema “cid:” (ver [RFC 2392]), de maneira que a parte MIME e ele
correspondente DEVERÁ conter um campo destinado ao cabeçalho com a ID do Conteúdo
(Content-ID)(ver [RFC 2387]), com o valor de campo correspondente.
Além disso, se um item com as informações referentes ao atributo, do tipo
xmlmime:Tipo de conteúdo
,fôr encontrado (como é descrito em 3 Modelo de Processamento XOP), ele deve-se
reflectir no campo dos valores relativo ao cabeçalho do Tipo de Conteúdo MIME.
Os Documentos XOP, quando utilizados nos sistemas idênticos ao MIME, são identificados com o tipo de média “applicação/xop+xml”, com o parâmetro referente ao “tipo”, o qual transporta o tipo de conteúdo associado à serialização do Original XML. Note contudo que quando o parâmetro referente ao tipo contém certo tipo de caractéres reservados, ele necessita de ser devidamente quotado e “escapado”.
Por exemplo, uma Pasta XOP usando o MIME multipart/related na serilaização de uma Mensagem SOAP 1.2 [Versão SOAP 1.2, Parte 1: Extrutura do “messaging”] com um parâmetro de acção do "http://www.example.net/foo" colocaria uma etiqueta na própia Pasta com o tipo de média “multipart/related”, e a parte referente à raíz, com o tipo de média “aplicação/xop+xml” conjuntamente com o parâmetro referente ao tipo de conteúdo "application/soap+xml;action=\"http://www.example.net/foo\"".
aplicação
xop+xml
Este parâmetro transporta o tipo de conteúdo associado à serialização do Infoset XML, incluindo os parâmtros da forma mais apropriada.
Este parâmetro contém semânticas idênticas às dos parâmetros dos “charsets" do tipo de meio “aplicação/xml”, como o especificado em RFC 3023 [RFC3023].
Idêntico ao sucedido nas "aplicações/xml”, como descrito em RFC 3023 [RFC3023], secção 3.2.
Em adição às considerações específicas referentes à aplicação, o xop contém as mesmas considerações relacionadas com a segurança que as descritas em RFC3023 [RFC3023], na secção 10.
Não existe conhecimento de quaisquer acções de inter-operacionabilidade.
Este documento
Até à data, não existe qualquer conhecimento de aplicações que usem este tipo de meio.
Mark Nottingham, da BEA <mnot@pobox.com>
COMUM
A especificação XOP é o produto de trabalho do Consórcio da World Wide WebGrupo de Trabalho responsável pelo Protocolo. O W3C detém o absoluto controle sobre qualquer alteração a verificar nesta especificação.
A integridade dos Infosets optimizados através do uso do XOP poderá necessitar de ser assegurada. Dado que as pastas XOP podem ser transformadas para recuperar tais Infosets (ver 3.2 Interpretando as Pastas XOP), as técnicas de Assinatura Digital XML existentes poderão ser usadas para os proteger. Note contudo, que uma assinatura sobre o Infoset não o protegerá necessáriamente contra modificações dos outros aspectos do empacotamento XOP; por exemplo, uma verificação da assinatura do Infoset não o poderá proteger contra uma eventual reorganização das partes que não estejam relacionadas com a raíz.
Futuramente, os algorítmos de transformação a serem utilizado conjuntamente com as Assinaturas XML, poderiam fornecer um modelo de processamento mais eficiente, especialmente nos pontos onde os octectos, na sua forma mais “crua”, tenham de ser directamente “digeridos” (trabalhados).
A confidencialidade das Pastas XOP poderá necessitar de ser assegurada. Dado que estas Pastas
podem ser transformadas em Infosets XML, as técnicas de codificação XML existentes (ver [XML Codificando a Sintaxe e o Processamento]) podem ser usadas, a fim de
proteger tais Pastas. Qualquer parte da referida Pasta poderá ser codificada, quer inclua
caractéres na base-binária-64, quer não. O item com a informação dos elementos
CipherData
,resultante dessa codificação, poderá ser optimizado, dado que o seu
conteúdo foi definido com caractéres na base-binária-64.
Futuramente, um algorítmo de transformação utilizado conjuntamente na codificação XML poderia fornecer um modelo de processamento mais eficiente, especialmente nos pontos onde os octetos são directamente codificados.
Este apêndice sumaria as dependências XOP relativamente às especificações adjacentes, a natureza das cargas úteis apropriadas e os meios de ampliação do tipo XOP.
As estruturas das convenções XOP relativamente ao número de especificações subjacentes. Elas são:
XML (ex: [Linguagem de Markup Extensível (XML) 1.0 (3ª. Edição)], ), [Linguagem Markup Extensível (XML) 1.1]) – O Documento XOP é codificado, através da utilização de qualquer uma das versões dos níveis de recomendação do XML (ver 3.1 Criando as Pastas XOP). Os formatos que usem o XOP DEVERÃO identificar quais as versões do XML permissíveis à codificação do Infoset XML. O XOP não confina o uso de qualquer um dos mecanismos definidos pelo XML, incluindo aqueles que permitam explícitamente as extensões, nem o uso de especificações subjacentes.
Espaços-nominais em XML (ex: [Espaços-nominais em XML], [Espaços-nominais em XML 1.1]) – O Documento XOP utiliza qualquer versão do nível de recomendação W3C referente aos Espaços-nominais em XML, compatível com a(s) versões do XML utilizado. Os formatos onde o XOP seja usado, DEVERÃO conter a identificação das versões dos Espaços-nominais em XML que estejam aptas a codificar o Infoset XOP. O xOP não confina o uso de quaisquer mecanismos definidos pelos Espaços Nominais em XML, incluindo aqueles que permitem explícitamente extensões, nem confina o uso de especificações subjacentes.
Indexs dos Recursos Uniformes (ver [RFC 2396]) - O Documento XOP utiliza URIs, a fim de localizar as partes nas Pastas XOP (ver 2.2 Item com informações referentes aos atributos href. O xOP não confina o uso de quaisquer mecanismos definidos pelos URIs, incluindo aqueles que permitem explícitamente extensões, nem confina o uso de especificações subjacentes.
Mecanismo de Empacotamento – O XOP requer o uso de um Mecanismo de Empacotamento que satisfaça os requesitos estabelecidos em 4 Pastas XOP. Tal mecanismo DEVERÁ estar em uso, se bem que o XOP não requeira nenhum mecanismo específico. Os formatos que usem o XOP DEVEM identificar pelo menos um mecanismo, o qual seja permissível à criação da Pasta XOP, e DEVEM especificar a forma como cada um desses mecanismos permitidos deverá ser utilizado na construção da referida Pasta.
A relação de tal mecanismo para com o XOP (MIME Multipart/Tipo de conteúdo a ele relacionado) é especificado no tópico 4.1 MIME Multipart/Pastas XOP Associadas.
A carga útil da Pasta XOP é aqui designada sob a forma de um Infoset XML. O XOP confina a
escala de caractéres admissíveis na carga útil àquelas que estão contidas na produção “Char” de
uma versão do nível de recomendação XML. Adicionalmente, o Infoset XML Original não poderá
conter um item com as informações referentes aos elementos contendo um [nome local] do
tópico Inclui
e um [espaço-nominal nome] considerado em
"http://www.w3.org/2004/08/xop/include". Finalmente, as partes pertencentes à carga útil que
foram nomeadas para ser optimizadas em XOP DEVERÃO estar codificados na base binária de 64
bits, na forma canónica do Esquema XML dos dados do tipo base-binária-64
(ver [Esquema XML, Parte 2: Tipos de dados, 2a. Edição] 3.2.16 - Base binária
64).
Os Documentos XOP permitem extensões para o elemento xop:Inclui
, sempre que tal
não lhes altere a sua semântica. Qualquer alteração da sua semântica DEVERÁ ser identificada
por um novo espaço-nominal do tipo URI (terão portanto de definir um novo item com a informação
referente aos elementos do tipo Inclui
, num outro espaço-nominal).
A extensibilidade das especificações XOP sublinhadas não é confinada pelo seu uso em XOP.
Este documento foi, juntamente com o [Mecanismo de Optimização na Transmissão da Mensagem SOAP] e a [Representação SOAP no cabeçalho], produzido em convergência com o desenvolvimento das exigências incorporadas no documento [Casos e Requesitos no Uso da Serialização SOAP Optimizada].
Esta especificação é o trabalho do Grupo de Trabalho responsável pelo Protocolo do W3C XML.
Tomaram parte nesse Grupo de Trabalho ( os nomes foram inseridos por ordem alfabética, pela altura em que este documento foi escrito): David Fallside (IBM), Tony Graham (Sun Microsystems), Martin Gudgin (Microsoft Corporation, anteriormente da 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, anteriormente na Lotus Development), Jeff Mischkinsky (Oracle), Jean-Jacques Moreau (Canon), Mark Nottingham (BEA Systems, anteriormente na Akamai Technologies), David Orchard (BEA Systems, anteriormente na Jamcracker), Herve Ruellan (Canon), Jeff Schlimmer (Microsoft Corporation), Pete Wenzel (SeeBeyond), Volker Wiechers (SAP AG).
Os participantes que se precederam foram: Yasser alSafadi (Philips Research), Bill Anderson (Xerox), Vidur Apparao (Netscape), Camilo Arbelaez (webMethods), Mark Baker (Idokorro Mobile, Inc., anteriormente na Sun Microsystems), Philippe Bedu (EDF (Electricite De France)), Olivier Boudeville (EDF (Electricite De France)), Carine Bournez (W3C), Don Box (Microsoft Corporation, anteriormente na 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.).
Todas as pessoas que participaram nas discussões no xml-dist-app@w3.org estão também imensamente agradecidas.