WordprocessingML
WordprocessingML — это формат файлов, основанный на языке разметки XML, который используется для хранения и представления документов текстового процессора Microsoft Word. Входит в состав семейства форматов Office Open XML (OOXML), стандартизированного международной организацией ISO/IEC (стандарт ISO/IEC 29500:2008, а также ECMA-376). WordprocessingML определяет структуру документа, включая его содержимое (текст, таблицы, изображения), форматирование (шрифты, стили, абзацы), метаданные и параметры страницы, что позволяет обеспечивать высокую степень совместимости между различными версиями Microsoft Office и другими программами, поддерживающими этот стандарт.
История
Формат WordprocessingML был разработан корпорацией Microsoft в рамках перехода от проприетарного двоичного формата .doc (используемого в версиях Word до 2003 года) к открытому, основанному на XML. Первая спецификация была опубликована в 2006 году как часть стандарта ECMA-376, который затем был принят ISO в 2008 году. Основной целью создания нового формата было повышение совместимости документов, их устойчивости к повреждениям, а также упрощение обработки и автоматизации документооборота. В отличие от старого двоичного формата, WordprocessingML представляет собой текстовый XML-файл, который можно читать и редактировать с помощью стандартных текстовых редакторов и инструментов обработки XML.
Файлы WordprocessingML обычно имеют расширение .docx (для документов без макросов) или .docm (для документов с макросами). Формат стал основным для Microsoft Word, начиная с версии Office 2007. С тех пор он претерпел ряд изменений и уточнений, отражённых в последующих версиях стандарта (например, ISO/IEC 29500:2012, ISO/IEC 29500:2016). Несмотря на то, что формат является открытым, его реализация в Microsoft Office включает некоторые проприетарные расширения, что может вызывать неполную совместимость при открытии документов в других офисных пакетах, таких как LibreOffice или Google Docs.
Структура и устройство
Файл WordprocessingML (например, document.docx) представляет собой ZIP-архив, содержащий набор XML-файлов и других ресурсов (изображения, шрифты, темы оформления). Внутренняя структура архива строго регламентирована стандартом. Основные компоненты включают:
- Основной документ (
word/document.xml): содержит собственно содержимое документа — текст, параграфы, таблицы, списки, а также их форматирование. Это центральный файл, в котором описывается логическая структура документа. - Стили (
word/styles.xml): определяет набор стилей (например, «Заголовок 1», «Обычный», «Цитата»), которые могут применяться к элементам документа. Стили могут быть как встроенными, так и пользовательскими. - Связи (
word/_rels/document.xml.rels): файл, содержащий ссылки на внешние ресурсы (изображения, гиперссылки, другие части документа). - Метаданные (
docProps/core.xml): содержит основные свойства документа, такие как автор, дата создания, заголовок, тема. Дополнительные метаданные могут храниться вdocProps/app.xml. - Настройки (
word/settings.xml): хранит параметры документа, например, режим совместимости, защиту от изменений, параметры печати. - Темы (
word/theme/theme1.xml): определяет цветовую палитру, шрифты и эффекты, используемые в документе. - Изображения и другие ресурсы: хранятся в папке
word/media/и других подпапках.
Каждый XML-файл внутри архива использует пространства имён, определённые в стандарте OOXML. Основные элементы в document.xml включают:
<w:document>— корневой элемент.<w:body>— содержит всё содержимое документа.<w:p>— параграф.<w:r>— текстовый фрагмент (run), который может быть частью параграфа.<w:t>— собственно текст внутри фрагмента.<w:rPr>— свойства форматирования фрагмента (шрифт, размер, цвет, жирность, курсив и т.д.).<w:pPr>— свойства параграфа (выравнивание, отступы, межстрочный интервал).
Классификация и виды
WordprocessingML является частью более широкого семейства Office Open XML, которое включает также SpreadsheetML (для электронных таблиц, формат .xlsx) и PresentationML (для презентаций, формат .pptx). Внутри самого WordprocessingML можно выделить несколько подтипов в зависимости от содержимого и назначения:
- Документы без макросов (.docx): стандартный формат, не содержащий макросов VBA (Visual Basic for Applications). Это наиболее распространённый тип.
- Документы с макросами (.docm): поддерживают макросы, что позволяет автоматизировать действия в документе. Из-за потенциальной угрозы безопасности (вирусы) такие файлы часто блокируются почтовыми серверами.
- Шаблоны (.dotx, .dotm): используются для создания новых документов на основе заданной структуры и форматирования. Шаблоны с макросами имеют расширение .dotm.
- Документы с поддержкой XML-карт (.docx с настраиваемыми XML-схемами): позволяют связывать части документа с внешними XML-данными, что удобно для автоматического заполнения форм.
Применение и значение
WordprocessingML является основным форматом для создания, редактирования и обмена текстовыми документами в экосистеме Microsoft Office, которая доминирует на рынке офисного программного обеспечения. Его применение охватывает практически все сферы, где требуется работа с документами: от делопроизводства и образования до научных публикаций и юридической практики.
Основные преимущества формата:
- Открытость и стандартизация: спецификация опубликована, что позволяет сторонним разработчикам создавать программы, способные читать и создавать файлы .docx.
- Совместимость: документы, созданные в разных версиях Microsoft Word (начиная с 2007), обычно корректно открываются и отображаются.
- Устойчивость к повреждениям: благодаря ZIP-архивации и XML-структуре, повреждение одной части файла часто не приводит к полной потере данных.
- Автоматизация: XML-представление упрощает программную обработку документов, например, для генерации отчётов, заполнения шаблонов или извлечения текста.
- Сжатие: ZIP-архивация значительно уменьшает размер файла по сравнению с двоичным форматом .doc.
Однако существуют и недостатки:
- Сложность спецификации: полная реализация стандарта требует значительных усилий, что приводит к неполной совместимости между различными программами.
- Зависимость от Microsoft: несмотря на открытость, Microsoft Office остаётся эталонной реализацией, и многие расширения (например, для сложных макетов или элементов управления) не полностью поддерживаются в других офисных пакетах.
- Размер файла: для документов с большим количеством изображений или сложным форматированием размер может быть значительным, хотя и меньше, чем у двоичного .doc.
Критика и альтернативы
WordprocessingML, как часть стандарта OOXML, подвергался критике со стороны сторонников открытых форматов, в частности, сообщества, поддерживающего формат OpenDocument (ODF, ISO/IEC 26300). Основные претензии заключались в том, что OOXML слишком сложен, содержит множество неоднозначностей и ориентирован в первую очередь на обратную совместимость с устаревшими функциями Microsoft Word, что затрудняет его реализацию в других программах. Кроме того, процесс стандартизации OOXML в ISO сопровождался спорами о лоббировании со стороны Microsoft.
В качестве альтернативы WordprocessingML используются:
- OpenDocument Text (.odt): формат, принятый в качестве стандарта для многих государственных учреждений (например, в Евросоюзе) и поддерживаемый LibreOffice, Apache OpenOffice и другими программами.
- Rich Text Format (.rtf): более старый, но широко поддерживаемый формат, однако он менее функционален и не поддерживает многие современные возможности.
- Plain Text (.txt): простейший текстовый формат без форматирования.
- HTML: для веб-публикаций и документов, предназначенных для просмотра в браузере.
Несмотря на критику, WordprocessingML остаётся доминирующим форматом для текстовых документов в корпоративной среде и среди пользователей Microsoft Office.
Интересные факты
- Внутреннее устройство файла .docx можно изучить, просто переименовав его в .zip и открыв любым архиватором. Это позволяет, например, извлечь изображения или проверить структуру документа без установки Microsoft Word.
- Стандарт OOXML включает более 6000 страниц спецификации, что делает его одним из самых объёмных технических стандартов.
- Версия WordprocessingML, используемая в Microsoft Word 2007, имела некоторые отличия от более поздних версий, что иногда приводило к проблемам с совместимостью при открытии старых документов в новых версиях программы.
- Формат поддерживает встраивание шрифтов, что позволяет документу корректно отображаться на компьютерах, где эти шрифты не установлены.
Источники
- ISO/IEC 29500-1:2016 — Information technology — Document description and processing languages — Office Open XML File Formats — Part 1: Fundamentals and Markup Language Reference.
- ECMA-376 — Office Open XML File Formats.
- Спецификация Microsoft Office Open XML (OOXML) — официальная документация Microsoft.
- Статья «Office Open XML» в Википедии (русскоязычная версия).
- Книга «Open XML: The Markup Explained» by Wouter van Vugt.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →