Em um mercado de tecnologia em que os clientes buscam cada vez mais exercer seu direito de escolha, com interoperabilidade e inovação, surge o Open XML, um formato de arquivos projetado para atender aos novos requisitos que o uso eletrônico de documentos demanda, como em processos automatizados, sistemas colaborativos ou gerenciamento eletrônico.
Este padrão aberto, mantido pela ECMA International, se baseia em duas tecnologias amplamente utilizadas - a tecnologia de empacotamento e compressão do ZIP, que define o container e encapsula o conteúdo do documento, e a linguagem de marcação XML, que define suas partes ou módulos. Esta visão é definida como Open Packaging Convention (OPC), que descreve um modelo lógico para representar o pacote, suas partes ou módulos e o relacionamento entre elas.
A especificação é implementada atualmente no Microsoft Office 2007 e em diversas suítes de escritório, como o Novell OpenOffice, Corel WordPerfect e Apple iWork ’08, além de estar presente em outras plataformas como o iPhone da Apple, e na suíte Documents to Go da Dataviz sob a plataforma Palm OS. Porém, o uso do padrão vai além de suítes de escritório. Sua implementação pode ocorrer em qualquer ambiente (independente da linguagem de programação e do sistema operacional), desde que haja bibliotecas de manipulação de ZIP e XML.
Na plataforma .Net há disponível a Packaging API, distribuída como parte do .Net Framework 3.0. Ela implementa a OPC, oferecendo classes para manipulação do seu modelo lógico. Com base nesta API foi lançado o Microsoft SDK for Open XML Formats, que estende a Packaging API, adicionando elementos de mais alto nível por meio de uma representação em classes de cada uma das partes suportadas por um documento.
Seguindo o mesmo conceito da Packaging API, foi desenvolvida a OpenXML4J, uma biblioteca gratuita voltada para desenvolvedores Java. Um exemplo de aplicação desta biblioteca pode ser encontrado no site do Núcleo de Desenvolvimento Open Source e Interoperabilidade, que hospeda diversos outros projetos Open Source com foco em interoperabilidade, dentre eles oito demonstrações de cenários de uso do Open XML e um projeto de um conversor de textos para o formato.
Para analisar o conteúdo de um documento Open XML, toma-se como base um arquivo criado através do Microsoft Word 2007. Ao trocar sua extensão de .docx para .zip, é possível utilizar uma ferramenta de descompressão ZIP para descompactar e abrir o pacote. Assim, existe uma estrutura de arquivos e diretórios representando o modelo lógico estabelecido pela OPC. Dentre eles, identificam-se três elementos comuns a documentos textuais:
O Office Open XML define um formato aberto de arquivos que pode ser manipulado em qualquer aplicativo, trazendo assim para seus usuários e desenvolvedores benefícios como estabilidade, interoperabilidade, integração com dados empresariais, modularidade, extensibilidade e preservação do legado de documentos já existentes, abrindo então espaço para inovações em processos que envolvam o uso de documentos eletrônicos.
Para mais informações, acesse os links abaixos:
OpenXmlDeveloper.org: portal com informações técnicas sobre o Office Open XML;
Open XML Explained e-book: aborda os fundamentos da especificação e do desenvolvimento de soluções baseadas em Office Open XML;
Open XML Community: comunidade global de organizações que suportam o Office Open XML;
Microsoft Office Compatibility Pack: add-in que permite ao Office 2000, XP e 2003 a manipulação de documentos no formato Office Open XML. http://office.microsoft.com/downloads/;
CodePlex: abriga diversos projetos Open Source, como ferramentas que auxiliam no desenvolvimento de aplicativos e fluxos de trabalho que utilizam o Office Open XML, e bibliotecas que facilitam seu uso em diversas linguagens, como PHP, C# e C++.
*Colaboraram Daniel Augusto Assad de Oliveira e Leandro Jekimim Goulart, integrantes do Laboratório da Tecnologia Aplicada da UNESP de Bauru.