Vantaggi del formato DOCX rispetto a DOC


9

Oggi ho scoperto per caso che .docx è lo stesso .zip (o non c'è alcuna grande differenza tra loro). Quando cambi il .docx in .zip e apri con WinRAR vedi un mucchio di file XML nelle cartelle. In quel file XML è archiviato il testo, i caratteri, il proprietario, l'ultima modifica e così via. In una parola, tutte le informazioni vengono archiviate come dati XML.

Ma lo stesso non è giusto per i file di estensione .doc. È impossibile aprirli come .zip op come .rar.

Quindi domanda: qual è il vantaggio di archiviare i dati .docx in XML che Microsoft ha cambiato il modo di archiviare i dati? In effetti, non voglio conoscere il vantaggio del formato XML, ma perché Microsoft utilizza più file XML per archiviare i dati .docx. Si scopre che .docx non è un nuovo formato nella radice.


Entro 1 minuto .. 5 risposte quasi identiche. Il potere di SO.
MRG

1
Avere dati in formato XML non significa che non sia un nuovo formato. Non puoi alimentare quell'XML in OpenOffice e renderlo correttamente. Devi definire chiaramente quale sarà la struttura XML, quali attributi, quali elementi ecc.

1
Valuta di cambiare il titolo in qualcosa di più informativo.
Carl Bergquist,

2
Naturalmente è un nuovo formato. Andiamo ora.

Cari Janis Veinbergs e Kyle Rozendo, ho lavorato molte volte con XML e XSD e so come funziona !!! Stai attento, ho detto "nella radice". Non puoi essere d'accordo sul fatto che sia il formato XML appena usato, non un nuovo formato !!!!
Narek,

Risposte:


12

Un .docxfile può archiviare risorse incorporate, come file immagine, non solo file XML. Invece di codificare elementi in base64 o qualcosa del genere e archiviarli in un file XML o inventare un altro formato di serializzazione binaria, hanno deciso di utilizzare il formato ZIP standard.

Inoltre, XML è un formato di file molto dettagliato che contiene molti schemi ridondanti. È possibile ottenere un elevato rapporto di compressione per i file XML.

A proposito, non capisco davvero la parte "ingannarci". È meglio inventare da zero un nuovo formato di file criptico o utilizzare un formato standard noto?


Il vantaggio principale che vedo è che ci sono API aperte per la creazione effettiva di questi file, quindi la creazione di file .docx da zero è possibile senza spendere molto in SDK proprietari. Microsoft SDK fornisce anche un riflettore di documenti che genererà il codice C # per generare un documento pre-creato da zero.
Will Eddins,

@Guard: Sì. La mia risposta riguarda la versione originale della domanda. Da allora la domanda è cambiata in modo significativo;) Il titolo originale era "Microsoft sta ingannando?"
Mehrdad Afshari,

xml di per sé non rende un formato "noto", .docx è uno dei migliori esempi.
artistoex,

5

L' articolo di Wikipedia lo riassume abbastanza bene:

"Microsoft ha subito una crescente pressione per l'adozione di un formato di file aperto, in particolare diverse nazioni hanno adottato le regole secondo cui i documenti ufficiali dovrebbero essere in un formato aperto".

Modifica: comprimerlo ha molto senso, dato che l'XML è molto dettagliato e naturalmente si comprime molto bene.


3
"Apri" non significa "può essere decompresso".
Greg Hewgill,

3
La compressione presenta altri vantaggi oltre alla compressione. Funziona anche come contenitore per più file.
Joey,

3

L'uso di un file .zip rinominato è una pratica piuttosto comune, ad esempio i file .pak di Quake III sono in realtà file .zip. Non ha senso inventare il proprio formato di file compresso quando ne esistono già perfettamente perfetti.


1
Altri esempi di utilizzo degli archivi ZIP: Java .jar, Winamp .wsz/ .wal(skin), Firefox .xpi(XPInstaller - temi, componenti aggiuntivi). (Anche gli tararchivi sono popolari.)
user1686

1

Non è solo Office Open XML che utilizza XML zippato. OpenDocument di Open Office fa lo stesso dietro le quinte.

Ci sono alcuni vantaggi elencati nella pagina Wikipedia sulle Convenzioni Open Packaging :

indirection

Prendi l'esempio di un catalogo in cui un logo viene ripetuto 1.000 volte. Usando un meccanismo indiretto, se vogliamo cambiare il logo, dobbiamo solo cambiare una voce in un file, senza alcuna ricerca perché sappiamo dove cercare. Ciò aumenta sostanzialmente la manutenibilità. Se vuoi cambiare il layout, per esempio, delle directory ZIP in cui sono archiviati i tuoi file, diventa una cosa da poco, perché non hai bisogno di conoscere tutti gli elementi che possono puntare al file, sono tutti in un punto.

chunking

Incoraggia i documenti a essere suddivisi in piccoli pezzi. Questo è meglio per ridurre l'effetto della corruzione dei file. E meglio per l'accesso ai dati: ad esempio, tutte le informazioni di stile in una parte XML, ogni foglio di lavoro o tabella separati nelle loro diverse parti. Ciò consente un accesso più rapido e meno creazione di oggetti per i client e semplifica il funzionamento di più processi sullo stesso documento.

Chunking è anche vantaggioso per i programmatori. La sostituzione di un foglio di stile con un altro diventa un'operazione di file ZIP, non un'operazione XML. E riduce la quantità di cose che un programmatore deve capire, perché può avvicinarsi ai blocchi assumendo che tutte le informazioni su un argomento siano in quel blocco: viene risparmiato il lavoro mentale di dover cercare in un file di grandi dimensioni con un sacco di elementi estranei.

Indirection relativo

Nelle Convenzioni Open Packaging ogni file che ha riferimento ha il proprio file _rels con gli elenchi indiretti. Ciò rende più semplice tagliare e incollare alcune informazioni con tutte le risorse associate in alcuni casi, fornisce l'ambito dei nomi per rimuovere la possibilità di scontro tra i file e così via.


0

Il più grande vantaggio è che puoi ottenere i tuoi dati decomprimendo il file e copiando il testo dai file XML. Questo può essere fatto con un programma di utilità zip e un editor di testo, anche se non si dispone di una copia di Word 2007.

Questo è ciò che rende il formato più aperto rispetto ai formati binari più vecchi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.