Що таке файл DOCX?
DOCX — добре відомий формат документів Microsoft Word. Представлений у 2007 році з випуском Microsoft Office 2007, структура цього нового формату документа була змінена зі звичайного двійкового на поєднання XML і двійкових файлів. Файли Docx можна відкривати за допомогою Word 2007 та інших версій, але не за допомогою попередніх версій MS Word, які підтримують розширення файлів DOC.
Коротка історія
Після того, як корпорація Майкрософт відкрила специфікації для формату файлу DOC, її конкурентам було легко переробити цей формат і забезпечити таку саму підтримку у своїх власних програмах. Крім того, конкуренція з боку Open Office у вигляді формату Open Document Format змусила Microsoft прийняти більш відкриті та широкі стандарти. Це було на початку 2000 року, коли Microsoft вирішила піти на зміни, щоб відповідати стандарту для Office Open XML. Документи відповідно до цього нового стандарту отримали .docx розширення, «X» для XML. До 2007 року цей новий формат файлів став частиною Office 2007 і також продовжується в нових версіях Microsoft Office. Новий тип файлу має переваги невеликого розміру файлу, меншої кількості змін пошкодження та добре відформатованого представлення зображень.
Технічні характеристики формату файлу DOCX - Додаткова інформація
Файл Docx складається з колекції файлів XML, які містяться в архіві ZIP. Вміст нового документа Word можна переглянути, розпакувавши його вміст. Колекція містить список файлів XML, які класифікуються як:
- Файли метаданих - містить інформацію про інші файли, доступні в архіві
- Документ - містить фактичний вміст документа
Файли метаданих
Microsoft Word використовує ці файли, щоб знайти зв’язок між файлами та знайти вміст документа. Коли архів документа Word розпаковано, він містить кілька таких файлів, як описано нижче.
Відносини - _rels/.rels
Цей файл містить інформацію, яка вказує MS Word, де шукати вміст документа та інші посилання. Кожен зв’язок ідентифікується унікальним ідентифікатором зв’язку та вказує файл XML, на який посилається, як цільовий. Зразок файлу зв’язків показано таким чином:
<Relationship Id#"rId1" Type#"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target#"word/document.xml"/>.
Типи вмісту
Документ може містити кілька типів медіа, як-от зображення, теми, текстове мистецтво тощо. [Content_Types].xml містить інформацію про такі медіа-типи, присутні в документі. Вміст такого XML-файлу показано таким чином:
<Override PartName#"/word/document.xml" ContentType#"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>
Посилання на ресурси - _rels/document.xml.rels
У цьому файлі XML є посилання на інформацію про ресурси, наприклад зображення, вбудовані в документ.
Основний вміст документа
Це відноситься до основного XML-файлу архіву, який містить текстовий вміст документа. Цей вміст представлено різними вузлами відповідно до специфікацій OpenOffice XML. Здебільшого вміст цього файлу складається з абзаців і таблиць, хоча це можуть бути й інші вузли.
Вузли формату файлів
Основний файл document.xml — це набір вузлів для представлення загального вмісту файлу. Кожен вузол має початок і кінець, які інкапсулюють або інші вузли, або вміст. Спрощений приклад такого xml-файлу:
<w:document>
<w:body>
<w:p w:rsidR#"005F670F" w:rsidRDefault#"005F79F5">
<w:r><w:t>Example Document</w:t></w:r>
</w:p>
<w:sectPr w:rsidR#"005F670F">
<w:pgSz w:w#"12240" w:h#"15840"/>
<w:pgMar w:top#"1440" w:right#"1440" w:bottom#"1440" w:left#"1440" w:header#"720" w:footer#"720"
w:gutter#"0"/>
<w:cols w:space#"720"/>
<w:docGrid w:linePitch#"360"/>
</w:sectPr>
</w:body>
</w:document>
Нижче наведено інформацію про деякі вузли, які містяться у файлі DOCX для представлення вмісту.
<w:document>
- представляє кореневий елемент основного вмісту файлу.
<w:body>
– представляє тіло документа, яке може складатися з багатьох інших вузлів елементів, таких як параграфи, таблиці та розділи.
Абзаци
Абзац — це основний вміст у документі. Він представлений **<w:p> ** елемент у документі. Абзац також складається з одного або кількох прогонів **<w:r> ** містить власне текст абзацу. Окрім рядків, абзаци також можуть містити інші елементи документа, такі як гіперпосилання, коментарі тощо. Приклад структури абзацу наведено нижче:
<w:p>
<w:pPr>
<w:pStyle> w:val#"MyStyle"/>
<w:spacing w:before#"120" w:after#"120"/>
</w:pPr>
<w:r>
<w:t xml"space#"preserve">A paragraph is main container in a document that further consists of a one or more runs where the text of paragraph is actually contained.</w:t>
</w:r>
</w:p>