XML-binary Optimized Packaging

(em Português)

Status do documento traduzido

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/

Notas acerca da tradução

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

W3C

Empacotamento Optimizado das Matérias em Código XML-binário

Recomendação do W3C, de 25 de Janeiro de 2005

Esta versão:
http://www.w3.org/TR/2005/REC-xop10-20050125/
Última versão:
http://www.w3.org/TR/xop10/
Versão anterior:
http://www.w3.org/TR/2004/PR-xop10-20041116/
Editores:
Martin Gudgin, da Microsoft
Noah Mendelsohn, da IBM
Mark Nottingham, da BEA
Hervé Ruellan, da Canon

Consulte por favor a errata deste documento, a qual poderá conter algumas correcções normativas.

Veja também as respectivas traduções.


Resumo

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.

Estatuto do documento

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/.

Quadro dos conteúdos

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

Apêndices

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)


1 Introdução

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:

1.1 Terminologia

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:

  • Infoset XML Original - Um Infoset XML a ser optimizado.
  • Conteúdo Optimizado - Conteúdo que tenha sido removido do Infoset XML.
  • Infoset XOP - O Infoset Original com qualquer Conteúdo Optimizado, removido e substituído por xop:Inclui itens com informações referentes ao seus elementos.
  • Documento XOP - A serialização do Infoset XOP, utilizando qualquer versão do nível de recomendação do XML.
  • Pasta XOP - Uma pasta contendo o Documento XOP e/ou qualquer outro Documento Optimizado. Como um todo, a Pasta XOP é uma serialização alternativa do Infoset Original.
  • Infoset XML Reconstituído - Um Infoset XML que tenha sido construído a partir de uma pasta XOP.
Architecture of the XOP framework

1.2 Exemplos

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.

Exemplo:Infoset XML antes do processamento do XOP(Exemplo 1, SOAP)
<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>
Exemplo:Infoset XML serializado na qualidade de Pasta XOP (Exemplo 2, SOAP)
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.

Exemplo:Infoset XML antes do processamento do XOP (Exemplo 3, não-SOAP)
<m:data xmlns:m='http://example.org/stuff'>
  <m:photo>/aWKKapGGyQ=</m:photo>
  <m:sig>Faa7vROi2VQ=</m:sig>
</m:data>
Exemplo:Infoset XML serializado na qualidade de Pasta XOP (Exemplo 4, não-SOAP)
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--

1.3 Notas referentes às Convenções

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.

Prefixos e Espaços nominais (namespaces) utilizados nesta especificação.
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" .

2 Arquitectura do Infoset XOP

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.

2.1 xop:Include - item com informação referente aos elementos

O item com a informação referente aos elementos (xop:Include ), contém:

  • Um [nome local] do tópico Include.
  • Um [espaço nominal nome] do URI "http://www.w3.org/2004/08/xop/include".
  • Um ou mais itens com informação referente aos atributos, retirados de entre todas as suas propriedades, como se segue:
    • Um item de informação href obrigatório, com informações referentes aos atributos (ver 2.2 Item de informação –href- referente aos atributos).
    • Itens de informação qualificada referente aos atributos e qualidades do zero ou de outros espaços nominais. Qualquer um desses itens de informação referente aos atributos não terá obrigatóriamente de ter um [espaço-nominal nome] do "http://www.w3.org/2004/08/xop/include", não terá de alterar a semântica do processamento do item xop:Include, com a informação referente aos elementos e DEVERÁ ser ignorado, caso não seja reconhecido.
  • Itens de informação qualificada dos elementos referente ao zero ou a outros espaços-nominais na sua propriedade [derivada]. Qualquer destes itens com a informação referente aos elementosNÃO DEVERÁ obrigatóriamente possuir um [espaço-nominal nome] do URI "http://www.w3.org/2004/08/xop/include", NÃO DEVERÁ alterar a semântica do processamento do item com a informação referente aos elementos xop:Include e DEVERÁ ser ignorado, caso não seja reconhecido.

2.2 Item com a informação referente aos atributos e qualidades href

O item com a informação referente aos atributos href possui:

  • Um [nome local] do href.
  • Um [espaço-nominal nome] vazio.
  • Um [valor normalizado], o qual é na realidade a representação do URI (ver [RFC 2396] como o emendado pelo [RFC 2732]), referenciando a parte da pasta que contém os dados logicamente incluídos pelo [owner element] (por exemplo, o item de informação 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).
  • Um elemento do tipo [owner element] que seja um item de informaçãoxop:Include referente aos elementos, contendo o item de informação referente aos atributos ou qualidades.

3 Modelo de processamento XOP

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.

3.1 Criando as pastas XOP

Para criar uma Pasta XOP a partir de um Infoset XML Original:

  1. Assegure-se de que o Infoset XML Original não contém nenhum item de informação referente aos elementos contendo o [espaço-nominal nome] do URL "http://www.w3.org/2004/08/xop/include" e o [nome local] do xop:code>Include. De acordo com o qua já foi aqui discutido no tópico 2 Arquitectura do Infoset XOP, os Infosets XML que contenham tais itens de informação referentes aos elementos ,não poderão ser representados através da utilização do XOP.
  2. Crie uma pasta vazia.
  3. Identifique, dentro do Infoset XML Original, os itens de informação referentes aos elementos a serme optiimizados. Para serem optimizados, os caractéres compreendendo a derivada original do item com a informação referente ao elemento DEVERÁ estar na forma canónica do código 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.
  4. Crie um Infoset XOP, o qual seja uma cópia do Infoset XML Original, mas com a derivada ([children]) de cada item com informação referente aos elementos, identificado na etapa anterior e substituída por um elemento do tipo xop:Incluir (ver 2.1 xop:Incluir item com informações referentes aos elementos), o qual é construído da seguinte forma:
    1. Transforma os caractéres que foram substituídos em dados binários, através do seu processamento em dados codificados para a base-binária-64.
    2. Serializa os dados binários para uma nova partição da pasta, com meta-dados apropriados e correspondendo ao [valor normalizado] do item com a informação referente aos atributos do tipo href do tópico xop:Incluir informações referentes aos elementos (ver 2.2 Item com informações referentes aos atributos href).
    3. Se o item com a informação referente aos elementos a serem optimizados (por exemplo, os dados ancestrais do mais recentemente inserido 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.
  5. Serializa o Infoset XOP daí resultante numa pasta, usando qualquer versão do nível de recomendação W3C para o XML (ex: [Linguagem Extensível do Markup (XML) 1.0 (3ª. Edição)], [Linguagem Extensível do Markup (XML) 1.1]) e identifica-o it como parte da raíz, da acordo com a convenção do mecanismo de empacotamento, etiquetando-o com o tipo de meio da aplicação/xop+xml (application/xop+xmlmedia type), como descrito no tópico 5 Identicando os Documentos XOP.

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.

3.2 Interpretando as pastas XOP

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:

  1. Construa um Infoset XML, considerando e analisando gramaticalmente a parte da raíz pertencente à Pasta como um documento XML. O documento DEVERÁ ser analisado de acordo com o nível da Recomendação XML, identificada na declaração XML do mesmo documento. Se não existir nenhuma declaração XML presente, então o documento DEVERÁ ser conjunturalmente analisado segundo o descrito na [Linguagem de Markup extensível (XML) 1.0 (3ª. Edição)].
  2. Utilizando esse Infoset XML para cada item E, o qual contém informações referentes aos elementos e ainda, na qualidade de elemento único da sua propriedade de derivada ([children]), um tópico com informações referentes aos elementos do tipo xop:Include,(como o definido em 2.1 xop:Inclui um item com informações referentes aos elementos):
    1. Localiza a parte da pasta que corresponde ao URI do item com a informação referente aos atributos 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.
    2. Substitui o item 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.

4 Pastas XOP

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.

4.1 MIME Multipart/Pastas XOP Associadas

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.

5 Identificando os Documentos XOP

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\"".

5.1 Registro

Nome do tipo de meios MIME:

aplicação

Nome do sub-tipo MIME:

xop+xml

Parâmetros requeridos:
tipo

Este parâmetro transporta o tipo de conteúdo associado à serialização do Infoset XML, incluindo os parâmtros da forma mais apropriada.

Parâmetros opcionais:
charset

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].

Codificando as considerações:

Idêntico ao sucedido nas "aplicações/xml”, como descrito em RFC 3023 [RFC3023], secção 3.2.

Considerações relacionadas com a segurança

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.

Considerações relacionadas com a Inter-operacionabilidade:

Não existe conhecimento de quaisquer acções de inter-operacionabilidade.

Especificações publicadas:

Este documento

Aplicações que usam este tipo de meio:

Até à data, não existe qualquer conhecimento de aplicações que usem este tipo de meio.

Informações adicionais:
Extensão do ficheiro:

XOP

Identificadores dos segmentos:

Idênticos aos dos identificadores da "aplicação/xml”, como descrito em RFC 3023 [RFC3023], na secção 5.

Base URI:

Como o especificado no RFC 3023 [RFC3023], na secção 6.

Código do Tipo de Ficheiro Macintosh:

TEXT

Nomes e endereços electrónicos a contactar, para mais informações:

Mark Nottingham, da BEA <mnot@pobox.com>

Uso previsto:

COMUM

Autor/Controle das alterações verificadas:

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.

6 Considerações relacionadas com a segurança

6.1 Integridade das pastas XOP

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).

6.2 Confidência das pastas XOP

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.

Relação com as outras especificações

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.

A.1 Dependências

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.2 Carga útil

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).

A.3 Extensão

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.

A.4 Requirimentos

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].

B Referências

B.1 Referências Normativas (formais)

Linguagem de Markup extensível (XML) 1.0 (3ª. Edição)
Linguagem de Markup Extensível (XML) 1.0 (3.a Edição), Jean Paoli, Eve Maler, Tim Bray, e todos os restantes Editores. Consórcio da World Wide Web, 04 de Fevereiro de 2004. Esta é a versão http://www.w3.org/TR/2004/REC-xml-20040204. A versão mais recente está disponível em http://www.w3.org/TR/REC-xml.
Linguagem Extensível do Markup (XML) 1.1
Linguagem Extensível do Markup (XML) 1.1, John Cowan, C. M. Sperberg-McQueen, François Yergeau, e todos os restantes Editores. Consórcio da World Wide Web, 04 de Fevereiro de 2004. Esta é a versão http://www.w3.org/TR/2004/REC-xml11-20040204/. A versão mais recente está disponível em http://www.w3.org/TR/xml11/.
Mecanismo de Optimização na Transmissão da Mensagem SOAP
Mecanismo de Optimização na Transmissão da mensagem SOAP, Hervé Ruellan, Noah Mendelsohn, Martin Gudgin, e Mark Nottingham, Editores. Consórcio da World Wide Web, 25 de Janeiro de 2005. Esta é a versão http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/. A versão mais recente está disponível em http://www.w3.org/TR/soap12-mtom/.
Bloco Responsável pela Representação dos Recursos SOAP
Bloco Responsável pela Representação dos Recursos SOAP, Martin Gudgin, Yves Lafon e Anish Karmarkar, Editores. Consórcio da World Wide Web, 25 de Janeiro de 2005. Esta é a versão http://www.w3.org/TR/2005/REC-soap12-rep-20050125/. A versão mais recente está disponível em http://www.w3.org/TR/soap12-rep/.
Casos e Requesitos no Uso da Serialização Optimizada SOAP
Casos e Requesitos no Uso da Serialização optimizada SOAP, Tony Graham, Mark Jones e Anish Karmarkar, Editores. Consórcio da World Wide Web, 08 de Junho de 2004. Esta é a versão http://www.w3.org/TR/2004/WD-soap12-os-ucr-20040608/. A versão mais recente está disponível em http://www.w3.org/TR/soap12-os-ucr/.
Espaços Nominais em XML
Espaços Nominais em XML, Andrew Layman, Dave Hollander e Tim Bray, Editores. Consórcio World Wide Web , 14 de Janeiro de 1999. Esta é a versão http://www.w3.org/TR/1999/REC-xml-names-19990114. A versão mais recente está disponível em http://www.w3.org/TR/REC-xml-names.
Espaços Nominais em XML, 1.1
Espaços Nominais em XML 1.1, Richard Tobin, Andrew Layman, Tim Bray e Dave Hollander, Editores. Consórcio da World Wide Web, 04 de Fevereiro de 2004. Esta é a versão http://www.w3.org/TR/2004/REC-xml-names11-20040204. A versão mais recente está disponível em http://www.w3.org/TR/xml-names11/.
Conjunto de Informações XML (2ª. Edição)
Conjunto de Informações XML (2ª. Edição), Richard Tobin and John Cowan, Editores. Consórcio da World Wide Web, 04 de Fevereiro de 2004. Esta é a versão http://www.w3.org/TR/2004/REC-xml-infoset-20040204. A versão mais recente está disponível http://www.w3.org/TR/xml-infoset.
Esquema XML Parte 1: Extruturas, 2a. Edição
Esquema XML Parte 1: Extruturas, 2ª. Edição, David Beech, Murray Maloney, Henry S. Thompson, e Noah Mendelsohn, Editores. Consórcio da World Wide Web, 28 de Outubro 2004. Esta é a versão http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/. A versão mais recente está disponível em http://www.w3.org/TR/xmlschema-1/.
Esquema XML, Parte 2: Tipos de dados, 2ª. Edição
Esquema XML, Parte 2: Tipos de dados, 2ª. Edição, Ashok Malhotra e Paul V. Biron, Editores. Consórcio da World Wide Web, 28 de Outubro 2004. Esta é a versão http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/. A versão mais recente está disponível em http://www.w3.org/TR/xmlschema-2/.
Associação de Tipos de Meios aos Dados Binários em XML
Definindo os Tipos de Meios para os Dados em XML to Binary Data in XML, Ümit Yalç?nalp e Anish Karmarkar, Editors. Consórcio da World Wide Web, 02 de Novembro de 2004. Esta é a versão http://www.w3.org/TR/2004/WD-xml-media-types-20041102. A versão mais recente está disponível em http://www.w3.org/TR/xml-media-types.
RFC 2119
Palavras-chave para a indicação dos Níveis dos Requesitos, no uso das RFCs, S. Bradner, Editor. IETF, Março de 1997. Esta RFC está disponível em http://www.ietf.org/rfc/rfc2119.txt.
RFC 2387
The MIME Multi-parte/Tipo de Conteúdo Relacionado, E. Levinson, Editor. IETF, Augusto de 1998. Esta RFC está disponível em http://www.ietf.org/rfc/rfc2387.txt.
RFC 2557
MIME Capsulação dos Documentos Agregados, tais como o HTML (MHTML), J. Palme, A. Hopmann and N. Shelness, Editores. IETF, Março de 1999. Esta RFC está disponível em http://www.ietf.org/rfc/rfc2557.txt.
RFC 2392
Indentificadores dos Recursos Uniformes do Conteúdo e Mensagem ID, E. Levinson, Editor. IETF, Augusto de 1998. Esta RFC está disponível em http://www.ietf.org/rfc/rfc2392.txt.
RFC 2396
Identificadores dos Recursos Uniformes (URI): Síntaxe Genérica, T. Berners-Lee, R. Fielding e L. Masinter, Editores. IETF, Augusto de 1998. Esta RFC está disponível em http://www.ietf.org/rfc/rfc2396.txt.
RFC 2732
Formato dos Endereços Literais do Tipo nas URL's, R. Hinden, B. Carpenter e L. Masinter, Editores. IETF, Dezembro de 1999. Esta RFC está disponível em http://www.ietf.org/rfc/rfc2732.txt.

B.2 Refêrencias informativas

Versão Canónica do XML 1.0
Versão Canónica do XML 1.0, John Boyer, Editor. Consórcio da World Wide Web, 15 de Março de 2001. Esta é a versão http://www.w3.org/TR/2001/REC-xml-c14n-20010315. A versão mais recente está disponível em http://www.w3.org/TR/xml-c14n.
Canonização XML Exclusiva, Versão 1.0
Canonização XML Exclusiva, Versão 1.0, Joseph Reagle, Donald E. Eastlake 3rd e John Boyer, Editores. Consórcio da World Wide Web, 18 de Julho de 2002. Esta é a versão http://www.w3.org/TR/2002/REC-xml-exe-c14n-20020718/. A versão mais recente está disponível em http://www.w3.org/TR/xml-exc-c14n.
Processamento e Síntaxe da Codificação XML
Processamento e Síntaxe da Codificação XML, Joseph Reagle e Donald Eastlake, Editores. Consórcio da World Wide Web, 10 de Dezembro de 2002. Esta é a versão http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/. A versão mais recente está disponível em http://www.w3.org/TR/xmlenc-core/.
Versão SOAP 1.2, Parte 1: Estrutura da Comunicação (Messaging)
Versão SOAP 1.2, Parte 1: Estrutura da Comunicação (Messaging), Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, e todos os restantes Editores. Consórcio da World Wide Web, 24 de Junho de 2003. Esta é a versão http://www.w3.org/TR/2003/REC-soap12-part1-20030624/. A versão mais recente está disponível em http://www.w3.org/TR/soap12-part1/.
Versão SOAP 1.2, Parte 2: Adjuntos
Versão SOAP 1.2, Part 2: Adjuntos, Henrik Frystyk Nielsen, Noah Mendelsohn, Jean-Jacques Moreau, e todos os restantes Editores. Consórcio da World Wide Web, 24 de Junho de 2003. Esta é a versão http://www.w3.org/TR/2003/REC-soap12-part2-20030624/. A versão mais recente está disponível em http://www.w3.org/TR/soap12-part2/.

C Agradecimentos (Informais)

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.