Преимущества формата DOCX перед DOC

6650
Narek

Сегодня я случайно обнаружил, что .docx - это тот же .zip (или между ними нет большой разницы). Когда вы изменяете файл .docx на .zip и открываете его с помощью WinRAR, вы видите кучу файлов XML в папках. В этом XML-файле хранятся текст, шрифты, владелец, последние изменения и так далее. Одним словом вся информация хранится в виде XML-данных.

Но то же самое не подходит для файлов расширения .doc. Невозможно открыть их как .zip op как .rar.

Итак, вопрос: в чем преимущество хранения данных .docx в XML по сравнению с тем, что Microsoft изменила способ хранения данных? На самом деле я хочу знать не преимущество формата XML, а то, почему Microsoft использует несколько файлов XML для хранения данных .docx. Оказывается, что .docx не новый формат в корне.

9
В течение 1 минуты .. 5 почти одинаковых ответов. Сила ТАК. MRG 15 лет назад 0
Наличие данных в формате XML не означает, что это не новый формат. Вы не можете передать этот XML в OpenOffice и заставить его правильно отображаться. Вы должны четко определить, какой будет структура XML, какие атрибуты, какие элементы и т. Д. 15 лет назад 1
Подумайте об изменении названия на что-то более информативное. Carl Bergquist 15 лет назад 1
Конечно это новый формат. Давай же. 15 лет назад 2
Уважаемые Янис Вейнбергс и Кайл Розендо, я много раз работал с XML и XSD и знаю, как это работает !!! Будьте внимательны, я сказал "в корне". Вы не можете согласиться с тем, что это только что использованный формат XML, а не новый формат !!!! Narek 15 лет назад 0
Замечательный вопрос - именно то, что мне было интересно узнать! Tal Galili 14 лет назад 0

5 ответов на вопрос

12
Mehrdad Afshari

.docxФайл может хранить вложенные ресурсы, как файлы изображений, а не только XML - файлы. Вместо того, чтобы кодировать материал в base64 или что-то еще и сохранять его в файле XML или изобретать еще один двоичный формат сериализации, они решили использовать стандартный формат ZIP.

Кроме того, XML - это очень подробный формат файла, содержащий множество избыточных шаблонов. Вы можете получить высокую степень сжатия для файлов XML.

Кстати, я не понимаю, как нас обмануть. Лучше изобрести новый загадочный формат файла с нуля или использовать стандартный, известный формат?

Основное преимущество, которое я вижу, состоит в том, что есть открытые API для фактического создания этих файлов, поэтому создание файлов .docx с нуля возможно без больших затрат на проприетарные SDK. Microsoft SDK даже предоставляет отражатель документа, который будет генерировать код C # для создания готового документа с нуля. Will Eddins 15 лет назад 0
@ Страж: Да. Мой ответ касается оригинальной версии вопроса. Вопрос значительно изменился с тех пор;) Первоначальное название было "Microsoft обманывает?" Mehrdad Afshari 15 лет назад 0
xml сам по себе не делает формат «известным», а .docx является одним из лучших примеров. artistoex 12 лет назад 0
5
Henning

Статья Википедии подытоживает довольно красиво:

«Microsoft столкнулась с растущим давлением, чтобы принять открытый формат файла, в частности, некоторые страны приняли правила, согласно которым официальные документы должны быть в открытом формате».

Редактировать: и сжатие имеет большой смысл, так как XML очень многословен и, естественно, сжимается очень хорошо.

«Открыть» не означает «можно разархивировать». Greg Hewgill 15 лет назад 3
У сжатия есть и другие преимущества, кроме сжатия. Он также действует как контейнер для нескольких файлов. Joey 15 лет назад 3
3
Greg

Использование переименованного файла .zip является довольно распространенной практикой - например, файлы Quake III .pak действительно являются файлами .zip. Нет смысла изобретать свой собственный формат сжатого файла, когда уже есть очень хорошие.

Дополнительные примеры использования ZIP-архивов: Java `.jar`, Winamp` .wsz` / `.wal` (скины), Firefox` .xpi` (XPInstaller - темы, дополнения). (архивы tar также популярны.) grawity 15 лет назад 1
1
Joey

Это не только Office Open XML, который использует сжатый XML. OpenDocument в Open Office делает то же самое за кулисами.

Есть несколько преимуществ, перечисленных на странице Википедии в соглашениях об открытой упаковке :

косвенность

Возьмите пример каталога, где логотип повторяется 1000 раз. Используя механизм косвенного обращения, если мы хотим изменить логотип, нам нужно изменить только одну запись в одном файле без поиска, потому что мы знаем, где искать. Это существенно повышает ремонтопригодность. Если вы хотите изменить макет, скажем, каталогов ZIP, в которых хранятся ваши файлы, это становится тривиальным вопросом, поскольку вам не нужно знать каждый элемент, который может указывать на файл, все они находятся в одном месте.

лязг

Это поощряет разделение документов на маленькие кусочки. Это лучше для уменьшения эффекта повреждения файлов. И лучше для доступа к данным: например, вся информация о стиле в одной XML-части, каждая отдельная рабочая таблица или таблица в своих разных частях. Это обеспечивает более быстрый доступ и меньший объем создания объектов для клиентов, а также облегчает работу нескольких процессов над одним и тем же документом.

Chunking также приносит пользу программистам. Замена одной таблицы стилей другой становится операцией файла ZIP, а не операцией XML. И это уменьшает количество вещей, которые программист должен понимать, потому что они могут приблизиться к фрагментам, предполагая, что вся информация по теме находится в этом фрагменте: они избавлены от умственного труда от необходимости поиска в большом файле с большим количеством посторонние элементы.

Относительная косвенность

В соглашениях об открытой упаковке каждый файл, на который имеется ссылка, имеет собственный файл _rels со списками косвенных ссылок. Это облегчает вырезание и вставку некоторой информации со всеми связанными с ней ресурсами в некоторых случаях, предоставляет возможность определения имен, чтобы исключить вероятность столкновения имен между файлами, и так далее.

0
Joe Internet

Самым большим преимуществом является то, что вы можете получить ваши данные, разархивировав файл и скопировав текст из XML-файлов. Это можно сделать с помощью zip-утилиты и текстового редактора, даже если у вас нет копии Word 2007.

Это то, что делает формат более открытым, чем старые двоичные форматы.

Похожие вопросы