Ventajas del formato DOCX sobre DOC

9

Hoy he descubierto accidentalmente que el .docx es el mismo .zip (o no hay una gran diferencia entre ellos). Cuando cambia el .docx al .zip y lo abre con WinRAR, ve un montón de archivos XML en las carpetas. En ese archivo XML se almacena el texto, las fuentes, el propietario, la última modificación, etc. En una palabra, toda la información se almacena como datos XML.

Pero lo mismo no es correcto para los archivos de extensión .doc. Es imposible abrirlos como .zip op como .rar.

Entonces pregunta: ¿Cuál es la ventaja de almacenar los datos de .docx en XML que Microsoft ha cambiado la forma de almacenar datos? De hecho, quiero saber no la ventaja del formato XML, sino por qué Microsoft está utilizando múltiples archivos XML para almacenar los datos .docx. Resulta que .docx no es un formato nuevo en la raíz.

Narek
fuente
Dentro de 1 minuto .. 5 casi las mismas respuestas. El poder de SO.
MRG
1
Tener datos en formato XML no significa que no sea un formato nuevo. No puede alimentar ese XML en OpenOffice y hacer que se procese correctamente. Debe definir claramente lo que será la estructura XML, lo que atribuye, ¿qué elementos etc
1
Considere cambiar el título a algo más informativo.
Carl Bergquist
2
Por supuesto que es un nuevo formato. Ven ahora.
Estimados Janis Veinbergs y Kyle Rozendo ¡He trabajado con XML y XSD muchas veces y sé cómo funciona! Esté atento dije "en la raíz". ¡No puede aceptar que es el formato XML que acaba de usar, no un formato nuevo!
Narek

Respuestas:

12

Un .docxarchivo puede almacenar recursos incrustados, como archivos de imagen, no solo archivos XML. En lugar de codificar cosas en base64 o algo así y almacenarlas dentro de un archivo XML o inventar otro formato de serialización binario, decidieron usar el formato ZIP estándar.

Además de eso, XML es un formato de archivo muy detallado que contiene muchos patrones redundantes. Puede obtener una alta relación de compresión para archivos XML.

Por cierto, realmente no entiendo la parte de "engañarnos". ¿Es mejor inventar un nuevo formato de archivo críptico desde cero o usar un formato estándar conocido?

Mehrdad Afshari
fuente
El principal beneficio que veo es que hay API abiertas para crear realmente estos archivos, por lo que es posible crear archivos .docx desde cero sin gastar mucho en SDK propietarios. El SDK de Microsoft incluso proporciona un reflector de documentos que generará un código C # para generar un documento prefabricado desde cero.
Will Eddins
@ Guardia: Sí. Mi respuesta aborda la versión original de la pregunta. La pregunta ha cambiado significativamente desde entonces;) El título original era "¿Microsoft está engañando?"
Mehrdad Afshari
xml en sí mismo no hace que un formato sea "conocido", siendo .docx uno de los mejores ejemplos.
artistoex
5

El artículo de Wikipedia lo resume muy bien:

"Microsoft se vio sometido a una presión cada vez mayor para adoptar un formato de archivo abierto, en particular varias naciones adoptaron reglas para que los documentos oficiales deberían estar en un formato abierto".

Editar: Y comprimirlo tiene mucho sentido, ya que el XML es muy detallado y, naturalmente, se comprime muy bien.

Henning
fuente
3
"Abrir" no significa "se puede descomprimir".
Greg Hewgill
3
La compresión tiene otras ventajas además de la compresión. Actúa también como un contenedor para múltiples archivos.
Joey
3

Usar un archivo .zip renombrado es una práctica bastante común; por ejemplo, los archivos .pak de Quake III son realmente archivos .zip. No tiene sentido inventar su propio formato de archivo comprimido cuando ya existen archivos perfectamente buenos.

Greg
fuente
1
Más ejemplos de uso de archivos ZIP: Java .jar, Winamp .wsz/ .wal(skins), Firefox .xpi(XPInstaller - themes, addons). (los tararchivos también son populares)
user1686
1

No es solo Office Open XML el que usa XML comprimido. OpenDocument de Open Office hace lo mismo detrás de escena.

Hay algunas ventajas que se enumeran en la página de Wikipedia sobre las Convenciones de empaquetado abierto :

Indireccion

Tome el ejemplo de un catálogo donde un logotipo se repite 1,000 veces. Usando un mecanismo de indirección, si queremos cambiar el logotipo solo necesitamos cambiar una entrada en un archivo, sin necesidad de buscar porque sabemos dónde buscar. Esto aumenta sustancialmente la mantenibilidad. Si desea cambiar el diseño de, por ejemplo, los directorios ZIP donde se almacenan sus archivos, se convierte en un asunto trivial, porque no necesita conocer todos los elementos que pueden apuntar a un archivo, todos están en un solo lugar.

Fragmentado

Alienta a los documentos a dividirse en pequeños trozos. Esto es mejor para reducir el efecto de la corrupción de archivos. Y mejor para el acceso a datos: por ejemplo, toda la información de estilo en una parte XML, cada hoja de trabajo o tabla separada en sus propias partes diferentes. Esto permite un acceso más rápido y menos creación de objetos para los clientes, y facilita que múltiples procesos trabajen en el mismo documento.

La fragmentación también beneficia a los programadores. Reemplazar una hoja de estilo con otra se convierte en una operación de archivo ZIP, no en una operación XML. Y reduce la cantidad de cosas que un programador necesita comprender, porque puede acercarse a los fragmentos asumiendo que toda la información sobre un tema está en ese fragmento: se ahorran el trabajo mental de tener que buscar en un archivo grande con muchos elementos extraños

Indirección relativa

En las Convenciones de empaquetado abierto, cada archivo que tiene referencia tiene su propio archivo _rels con las listas de indirección. Esto hace que sea más fácil cortar y pegar cierta información con todos sus recursos asociados en algunos casos, proporciona un alcance del nombre para eliminar la posibilidad de que el nombre entre en conflicto, y así sucesivamente.

Joey
fuente
0

El mayor beneficio es que puede acceder a sus datos descomprimiendo el archivo y copiando el texto de los archivos xml. Esto se puede hacer con una utilidad zip y un editor de texto, incluso si no tiene una copia de Word 2007.

Esto es lo que hace que el formato sea más abierto que los formatos binarios más antiguos.

Joe Internet
fuente