Página inicial‎ > ‎

Estrutura de um arquivo ODF

A representação mais comum de um arquivo OpenDocument é através de uma coleção de subdocumentos dentro de um pacote compactado no padrão ZIP. Esse pacote compactado é identificado com uma identificação diferente conforme o tipo de documento que está sendo operado. Em geral, a estrutura de subdocumentos é a mesma para todos os tipos de documentos.

Devido a sua estrutura, um arquivo no formato ODF possui peculiaridades como o tamanho de arquivo significativamente menor em relação a formatos binários, a possibilidade de reparo simples através da manipulação de conteúdos, a possibilidade de desenvolvimento direto aplicativos sem a necessidade de utilização de uma camada intermediária de software e a garantia do acesso a um conteúdo legível em formato texto através do arquivo content.xml.
A estrutura de subdocumentos e diretórios de um arquivo OpendDocument básico é a seguinte:

content.xml
meta.xml
settings.xml
styles.xml
Other files
mimetype
META-INF/
manifest.xml
Thumbnails/
thumbnail.png

Como é possível identificar pela estrutura, o formato apresenta uma separação significativa entre conteúdo, apresentação visual e metadados. Os arquivos em formato XML são definitidos através da linguagem RELAX NG para definição de regras de validação ("esquemas") em documentos no formato XML. Esta, por sua vez, é definida por uma especificação do consórcio OASIS bem como pela parte dois do padrão internacional ISO/IEC 19757: Document Schema Definition Languages (DSDL).

content.xml

O arquivo content.xml é o mais importante de um documento OpenDocument. Ele armazena o conteúdo do documento (exceto dados binários como imagens, por exemplo). A sua estrutura permite que o conteúdo seja legível. 

<text:h style-name="Heading_2">Este é um título</text:h>
<text:p style-name="Text_body"/>
<text:p style-name="Text_body">

   Este é um parágrafo. A informação de formatação está no estilo Text_body. A tag text:p abaixo representa um parágrafo em branco.

</text:p>

styles.xml

Este arquivo apresenta o conjunto de informações de formatação do documento, representado pelos estilos utilizados. O formato OpenDocument utiliza fortemente estilos para a definição de formatação. Em documentos de texto, por exemplo, são cinco estilos disponíveis para o usuário:

Estilos de parágrafo
Estilos de página
Estilos de caractere
Estilos de quadro
Estilos de lista

No entanto, no armazenamento, mesmo a formatação manual é implementada através de estilos. Esses estilos são dinamicamente criados pela aplicação quando necessário. 

meta.xml

O arquivo meta.xml contém os metadados do arquivo. Por exemplo, o nome do autor, a data da última modificação, o nome do último usuário que fez a modificação, o idioma, etc... O conteúdo desse arquivo se assemelha com o exemplo abaixo:

<meta:creation-date>2003-09-10T15:31:11</meta:creation-date>
<dc:creator>Daniel Carrera</dc:creator>
<dc:date>2005-06-29T22:02:06</dc:date>
<dc:language>es-ES</dc:language>
<meta:document-statistic
      table-count="6" object-count="0"
      page-count="59" paragraph-count="676"
      image-count="2" word-count="16701"
      character-count="98757"/>

As tags <dc:....> obedecem ao padrão Dublin Core XML.

settings.xml

Armazena as configurações de exibição como o fator de ampliação e a posição do cursor, ou seja, propriedades que não pertencem ao conteúdo ou à formatação.

mimetype (arquivo)

Armazena a definição do tipo MIME do arquivo. Seu objetivo é permitir a identificação do tipo de arquivo pelas aplicações e pelo o sistema operacional. Em sistemas baseados em Unix, a extensão de arquivo, no caso, passa a ser apenas uma referência ao usuário e não propriamente a identificação do tipo de arquivo.

Thumbnails (pasta de arquivos)

Thumbnails é a pasta onde é armazenada a miniatura do documento, definida com o nome “thumbnail.png”.  Esse arquivo é criado a partir da primeira página do documento toda vez que o arquivo é salvo. A imagem é um arquivo PNG não-entrelaçado de 24bits, conforme o Thumbnail Managing Standard (TMS), e possui 128x128 pixels. 

META-INF (pasta de arquivos)

META-INF é a pasta que contém o arquivo manifest.xml. Esse arquivo XML apresenta as informações sobre o conteúdo do “pacote” OpenDocument (entenda-se como pacote o próprio arquivo OpenDocument) e é sempre armazenado no caminho  META-INF/manifest.xml. As informações armazenadas mais importantes são:

 1. a lista de todos os arquivos do “pacote” OpenDocument
 2. O tipo de formato de cada arquivo dentro do “pacote”.

Caso tenha sido feita alguma criptografia sobre o arquivo, a informação necessária para descriptografá-lo está armazenada no manifest.

Pictures (pasta de arquivos)

A pasta Pictures é a pasta onde os arquivos de imagem são armazenados. Os formatos de arquivo dependend do tipo de imagem inserida no documento pelo usuário. Em geral, arquivos de bitmap são armazenados no formato PNG, enquanto arquivo vetoriais são armazenados em formato SVG.