Vantagens do formato DOCX sobre o DOC


9

Hoje descobri acidentalmente que o .docx é o mesmo .zip (ou não há grande diferença entre eles). Quando você altera o .docx para o .zip e abre com o WinRAR, você vê vários arquivos XML nas pastas. Nesse arquivo XML, é armazenado o texto, fontes, proprietário, última modificação e assim por diante. Em uma palavra, todas as informações estão sendo armazenadas como dados XML.

Mas o mesmo não é adequado para arquivos de extensão .doc. É impossível abri-los como .zip ou .rar.

Então, pergunta: Qual é a vantagem de armazenar dados do .docx em XML que a Microsoft mudou a maneira de armazenar dados? Na verdade, quero saber não a vantagem do formato XML, mas por que a Microsoft está usando vários arquivos XML para armazenar os dados .docx. Acontece que .docx não é um novo formato na raiz.


Dentro de 1 minuto .. 5 quase as mesmas respostas. O poder do SO.
MRG

1
Ter dados no formato XML não significa que não seja um novo formato. Você não pode alimentar esse XML no OpenOffice e torná-lo renderizado corretamente. Você deve definir claramente o que será estrutura XML, que atributos, quais os elementos etc.

1
Considere alterar o título para algo mais informativo.
9309 Carl Bergquist

2
Claro que é um novo formato. Venha agora.

Caros Janis Veinbergs e Kyle Rozendo, Trabalhei com XML e XSD várias vezes e sei como funciona !!! Fique atento, eu disse "na raiz". Você não pode concordar que é o formato XML usado, não um novo formato !!!!
Narek 09/10/2009

Respostas:


12

Um .docxarquivo pode armazenar recursos incorporados, como arquivos de imagem, não apenas arquivos XML. Em vez de codificar coisas em base64 ou algo assim e armazená-las em um arquivo XML ou inventar outro formato de serialização binária, eles decidiram usar o formato ZIP padrão.

Além disso, XML é um formato de arquivo muito detalhado que contém muitos padrões redundantes. Você pode obter uma alta taxa de compactação para arquivos XML.

A propósito, eu realmente não entendo a parte "enganando-nos". É melhor inventar um novo formato de arquivo criptográfico do zero ou usar um formato padrão conhecido?


O principal benefício que vejo é que existem APIs abertas para criar esses arquivos, portanto, é possível criar arquivos .docx a partir do zero sem gastar muito em SDKs proprietários. O Microsoft SDK ainda fornece um refletor de documento que irá gerar código C # para gerar um documento pré-fabricado do zero.
Will Eddins 9/10/09

@Guard: Sim. Minha resposta aborda a versão original da pergunta. A questão mudou significativamente desde então;) O título original era "A Microsoft está enganando?"
Mehrdad Afshari 10/10/09

O xml por si só não torna um formato "conhecido", sendo o .docx um dos melhores exemplos.
Artistoex

5

O artigo da Wikipedia resume muito bem:

"A Microsoft ficou sob crescente pressão para adotar um formato de arquivo aberto, em particular várias nações adotaram regras de que os documentos oficiais deveriam estar em um formato aberto".

Editar: E compactá-lo faz muito sentido, pois o XML é muito detalhado e naturalmente comprime muito bem.


3
"Abrir" não significa "pode ​​ser descompactado".
Greg Hewgill 9/10/09

3
O zíper tem outras vantagens além da compactação. Ele também atua como um contêiner para vários arquivos.
Joey

3

Usar um arquivo .zip renomeado é uma prática bastante comum - por exemplo, arquivos .pak do Quake III são realmente arquivos .zip. Não faz sentido inventar seu próprio formato de arquivo compactado quando já existem perfeitamente bons.


1
Mais exemplos de uso de arquivos ZIP: Java .jar, Winamp .wsz/ .wal(skins), Firefox .xpi(XPInstaller - temas, complementos). ( tarArquivos também são populares.)
user1686

1

Não é apenas o Office Open XML que usa XML compactado. O OpenDocument do Open Office faz o mesmo nos bastidores.

Existem algumas vantagens listadas na página da Wikipedia nas Convenções de embalagem aberta :

Indirection

Veja o exemplo de um catálogo em que um logotipo é repetido 1.000 vezes. Usando um mecanismo de indireção, se quisermos alterar o logotipo, precisamos alterar apenas uma entrada em um arquivo, sem nenhuma pesquisa envolvida, porque sabemos onde procurar. Isso aumenta substancialmente a manutenção. Se você deseja alterar o layout dos, por exemplo, os diretórios ZIP em que seus arquivos estão armazenados, isso se torna trivial, porque você não precisa conhecer todos os elementos que podem apontar para o arquivo, eles estão todos em um único local.

Chunking

Ele incentiva os documentos a serem divididos em pequenos pedaços. Isso é melhor para reduzir o efeito de corrupção de arquivos. E melhor para acesso a dados: por exemplo, todas as informações de estilo em uma parte XML, cada planilha ou tabela separada em suas próprias partes diferentes. Isso permite acesso mais rápido e menos criação de objetos para os clientes, além de facilitar o trabalho de vários processos no mesmo documento.

Chunking também beneficia os programadores. Substituir uma folha de estilo por outra torna-se uma operação de arquivo ZIP, não uma operação XML. E reduz a quantidade de coisas que um programador precisa entender, porque ele pode abordar os trechos assumindo que todas as informações sobre um tópico estão nesse trecho: eles são poupados da labuta mental de ter que pesquisar em um arquivo grande com muitas informações. elementos estranhos.

Indireção relativa

Nas convenções de empacotamento aberto, cada arquivo que tem referência possui seu próprio arquivo _rels com as listas indiretas. Isso facilita cortar e colar algumas informações com todos os recursos associados em alguns casos, fornece escopo de nome para remover a chance de conflito de nomes entre arquivos e assim por diante.


0

O maior benefício é que você pode acessar seus dados descompactando o arquivo e copiando o texto dos arquivos xml. Isso pode ser feito com um utilitário zip e um editor de texto, mesmo se você não tiver uma cópia do Word 2007.

É isso que torna o formato mais aberto que os formatos binários mais antigos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.