Одной из новинок Microsoft Office 2007 станет поддержка нового формата хранения документов на базе языка XML. Этот формат будет поддерживаться в программных продуктах Microsoft Word 2007, Microsoft Excel 2007 и Microsoft PowerPoint 2007. В данном обзоре мы рассмотрим основные характеристики Office 2007 Open XML Format, обсудим формат файлов, а также программные интерфейсы для работы с офисными файлами в новом формате.
Поддержка языка XML не является эксклюзивом пакета Microsoft Office — первые варианты такой поддержки появились в 1999 году в Office 2000, когда были представлены XML-форматы для Word (WordprocessingML) и Excel (SpreadSheetML). В версии Office 2007 появился формат PresentationML для PowerPoint, а форматом сохранения документов по умолчанию стал ZIP-контейнер, соответствующий спецификации Open Packaging Conventions (подмножество Office 2007 Open XML Format) и пришедшей на смену бинарным форматам хранения документов, электронных таблиц и презентаций, использовавшихся в предыдущих версиях Office.
В таблице приведен список используемых в Microsoft Office 2007 расширений файлов, в которых хранятся документы в формате Office 2007 Open XML Format.
Microsoft планирует выпуск соответствующих обновлений для предыдущих версий Office, начиная с Office 2000 — для того, чтобы эти продукты могли полноценно работать с новым форматом хранения документов, создаваемых в Word, Excel и PowerPoint.
Общий обзор формата Office 2007 Open XML Format
Начнем обсуждение Office 2007 Open XML Format с рассмотрения общих характеристик этого формата. Затем в следующем разделе мы обратимся к более подробному рассмотрению деталей сохранения документов, создаваемых такими приложениями Microsoft Office 2007, как Word 2007, Excel 2007 и PowerPoint 2007.
Контейнер
XML-формат, используемый в Microsoft Office 2007, представляет собой ZIP-архив — контейнер, который называется package и в котором помещаются различные компоненты документа, называемые частями (part) и элементами (item). Части являются фрагментами документа и отвечают за его содержимое, элементы представляют собой метаданные, описывающие то, каким образом части должны быть собраны вместе и отображены. Элементы можно разделить на два типа: реляционные (relationship items), описывающие взаимоотношения между частями и типизованные (content-type items), задача которых — дать описание содержимого каждой части документа. Реляционные элементы, в свою очередь, подразделяются на элементы, описывающие взаимоотношения контейнеров, и элементы, задающие взаимоотношения между частями документа.
Части документа
Каждый документ содержит так называемую главную часть — все остальные элементы либо располагаются внутри этой главной части, либо так или иначе привязаны к ней. В зависимости от типа файла (текстовый документ, электронная таблица, презентация) главная часть может называться по-разному. Например:
Не все части документа сохраняются в XML-формате. Например, графические изображения (*.png, *.jpg, *.tiff) хранятся в оригинальном формате, что делает более удобным доступ к ним и выполнение соответствующих манипуляций. Помимо этого в бинарном виде хранятся VBA-проекты и внедренные в документы OLE-объекты. Части документа, сохраняемые в XML-формате, соответствуют схемам, определенным для того или иного фрагмента документа.
Реляционные элементы
Как мы увидели выше, для каждого типа документа главная часть располагается в соответствующей папке контейнера и имеет собственное название. Реляционный элемент с именем officeDocument (схема http://schemas.microsoft.com/office/2006/relationships/officeDocument) позволяет обнаружить главную часть любого документа — он хранится в файле с расширением *.rels в папке _rels. Файл *.rels содержит описание взаимоотношений фрагментов документа в следующем формате:
- Id — строковый идентификатор взаимоотношения, который должен иметь уникальное в рамках файла имя;
- Type — описывает тип взаимоотношения, указывает на схему, которая определяет тип для данного формата. Существует ряд предопределенных типов, часть из которых показана ниже:
http://schemas.microsoft.com/office/2006/relationships/officeDocument
http://schemas.microsoft.com/office/2006/relationships/image
http://schemas.microsoft.com/office/2006/relationships/sound
http://schemas.microsoft.com/office/2006/relationships/oleObject
http://schemas.microsoft.com/office/2006/relationships/activeXControl
http://schemas.microsoft.com/office/2006/relationships/diagram
- Target — указывает на папку и файл, в которых располагается описываемый фрагмент документа.
Папка _rels имеет ключевое значение для всего процесса сохранения офисных документов в формате XML. Взаимоотношения между частями документа всегда задаются именно в этой папке. Упомянутое выше взаимоотношение officeDocument является взаимоотношением на уровне контейнера — другими словами, оно описывает весь контейнер и потому хранится в папке _rels в корне контейнера. Если же требуется найти описание взаимоотношений между частями документа, то в случае Microsoft Word 2007 его следует искать в файле document.xml — он будет находиться в подкаталоге word каталога _rels. Итеративный просмотр содержимого этого файла позволит вам обнаружить все части документа и взаимоотношения между ними.
Типизованные элементы
Как мы уже отмечали, типизованные элементы содержат метаданные, описывающие файловый тип каждой части документа. К частям документа могут относиться простой текст (text/plain), графическое изображение (image/jpeg) или более абстрактные понятия, например XML-документ (application/xml). Реляционные элементы также имеют соответствующие типизованные элементы, служащие для описания взаимоотношений. Множество типизованных элементов позволяет потребителям XML-файлов получить представление не только о его содержимом, но и о том, как интерпретировать и отрисовывать отдельные части документа.
Типизованные элементы хранятся вместе, в одном элементе с именем [Content_Types].xml в корневой папке контейнера. Типизованный элемент по умолчанию обычно ассоциируется с расширением имени файла, например *.xml или *.jpg. Типизованный элемент override может указывать на то, что данный фрагмент имеет указанный тип независимо от расширения имени файла.
Встроенные объекты
Формат Office Open XML может включать любое число встроенных объектов, которые могут принадлежать к любому типу. Эта возможность, пришедшая на смену неэффективному кодированию Base64, которое использовалось в предыдущих версиях продукта, сделала файлы более гибкими и удобными для обработки.
Например, вставка графического изображения в документ Word 2007 приведет к появлению в контейнере следующих элементов:
- в файл [Content_Types).xml будет добавлено описание типа, связывающего расширение файла *.jpg с to image/jpeg;
- папка media, созданная в папке word, будет содержать копию вставленного в документ графического изображения;
- в файле document.xml, который находится в папке word, будет вставлена ссылка на новое взаимоотношение;
- в файле document.xml.rels (находящийся в папке word) будет добавлено новое взаимоотношение, которое будет ссылаться на соответствующий элемент в файле document.xml.
После рассмотрения основных характеристик контейнеров и входящих в них элементов хотелось бы более подробно обсудить, как выглядит содержимое файлов, создаваемых в Word 2007, Excel 2007 и PowerPoint 2007.
Детали реализации
Начнем с простого текстового документа, созданного с помощью Word 2007. На рис. 1 показано, как этот документ выглядит в редакторе.
Рис. 1. Документ, созданный средствами Word 2007
Рис. 2. Структура docx-файла
В файле [Content_Types).xml описаны все типизованные элементы, связанные с данным документом. Все типизованные элементы, уникальные для Word 2007, имеют префикс application/vnd.ms-word. Если типизованный элемент соответствует XML-файлу, то в конец URI добавляется «+xml». Типичными для Word 2007 типизованными элементами являются:
- application/vnd.ms-word.comments+xml — содержит комментарии в формате XML;
- application/vnd.ms-package.core-properties+xml — содержит свойства документа в формате XML;
- image/png — графическое изображение в оригинальном формате.
Поскольку имеется возможность изменения имени любого фрагмента документа, в файле [Content_Types).xml описаны и ссылки на такие фрагменты. Например, вот как указывается местоположение таблицы шрифтов:
Здесь задается связь между схемой, описывающей нижний колонтитул документа, и файлом footer1.xml, в котором содержится сам колонтитул.
Более подробно прочитать о структуре XML-файла Word 2007 можно в документе «Walkthrough: Office 12 Word Open XML File Format», доступном на сайте MSDN.
Теперь создадим простую электронную таблицу — для этого воспользуемся Excel 2007. На рис. 3 показано, как эта таблица выглядит в Excel 2007.
Рис. 3. Таблица, созданная средствами Excel 2007
Как видно на рис. 4, структура xlsx-файла напоминает структуру docx-файла, но части документа имеют другие имена, отражающие назначение частей электронной таблицы, а не текстового документа. Типичными типизованными элементами для Excel 2007 будут:
Рис. 4. Структура xlsx-файла
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml;
- application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml.
В папке xl располагаются основные части электронной таблицы — workbook.xml, styles.xml, папка worksheets, папка drawings, папка charts и т.п. Взаимоотношения между частями документа описаны в файле workbook.xml.rels.
Более подробно прочитать о структуре XML-файла Excel 2007 можно в документе «Walkthrough: Office 12 Excel Open XML File Format», доступном на сайте MSDN.
Завершить рассмотрение примеров использования Office 2007 Open XML Format мы хотим простой презентацией, созданной в PowerPoint 2007. Ниже показано, как эта презентация выглядит в PowerPoint 2007 (рис. 5).
Рис. 5. Презентация, созданная средствами PowerPoint 2007
Откроем файл sample.pptx в программе WinZip и посмотрим на его структуру (рис. 6).
Рис. 6. Структура pptx-файла
Несмотря на то что в pptx-файле содержится значительно больше (по сравнению с docx- и xlsx-файлами) фрагментов, его структура легко узнаваема. Файл presentation.xml описывает всю презентацию, файл presentation.xml.rels — взаимоотношения между частями презентации. Типичными типизованными элементами для PowerPoint 2007 будут:
- application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml;
- application/vnd.openxmlformats-officedocument.presentationml.slideMaster+ xml;
- application/vnd.openxmlformats-officedocument.presentationml.slide+xml;
- application/vnd.openxmlformats-officedocument.presentationml.presentation. main+xml;
- application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml.
Каждый слайд описан документом slide.xml, расположенным в каталоге slides. В каталогах theme и slideLayouts находятся xml-документы, описывающие различные шаблоны, применимые к слайдам.
Программные интерфейсы
Для работы с документами, сохраненными в формате Office 2007 Open XML Format, следует использовать классы, реализованные в пространстве имен System.IO.Packaging (библиотека WinFX, сборка windowsbase.dll). Подробное описание данного пространства имен можно получить в онлайновой версии документации к библиотеке WinFX, расположенной по адресу: http://windowssdk.msdn.microsoft.com/library/en-us/cpref12/html/N_System_IO_Packaging.asp.
Рассмотрим несколько примеров. Мы уже отмечали, что для успешной обработки документа в формате Office 2007 Open XML Format необходимо успешно найти главную часть документа, которая имеет тип http://schemas.microsoft.com/office/2006/relationships/officeDocument. Для документов, созданных средствами Word, главная часть хранится в файле document.xml, для электронных таблиц — в файле workbook.xml, а для презентаций — в файле presentation.xml. После того как главная часть документа найдена, мы получаем возможность обнаружить все остальные части документа. В приведенном примере показано, как найти главную часть (documentPart) офисного документа.
После того как мы научились извлекать главную часть документа, давайте выясним, каким образом можно найти любую часть документа — для этого необходимо выполнить итерацию по описанию взаимоотношений частей. Ниже показано, как это сделать, на примере поиска комментариев в документе Word.
В приведенном примере мы использовали URI для нахождения адреса определенного фрагмента документа — это необходимо для того, чтобы не зависеть от имени фрагмента, которое может меняться по мере работы с документом. Последний пример, который мы рассмотрим, относится к удалению определенного фрагмента документа. Предположим, что мы хотим удалить из файла VBA-проект.
Приведенные примеры помогут вам составить общее представление о том, как использовать классы System.IO.Packaging для работы с документами в формате Office 2007 Open XML Format. В ближайшее время Microsoft планирует опубликовать значительное число примеров использования этого программного интерфейса — следите за новинками на сайте MSDN (http://msdn.microsoft.com).
Сценарии использования документов в XML-формате
Возможность манипуляции частями офисных документов либо посредством редакторов XML-файлов, либо через вышеупомянутые программные интерфейсы открывает перед разработчиками ряд новых сценариев, которые мы хотим кратко описать. К новым сценариям можно отнести следующие:
- обмен данными — открытость формата офисных документов делает их полноценными участниками бизнес-процессов — появляется возможность извлечения или вставки данных в документы, персонализации документов при их рассылке конечным потребителям, использования настраиваемых схем и т.п.;
- управление содержимым документов — у разработчиков появляется возможность редактирования содержимого документов: обновления данных, изменения отдельных частей документа, удаления или добавления новых частей;
- повторное использование фрагментов документов — модульность нового формата офисных документов позволяет повторно задействовать фрагменты документов — использовать их как строительные блоки для создания новых документов;
- сборка документов на лету — у разработчиков появляется возможность создания офисных документов на лету, как используя готовые части документов (например, отдельные слайды), так и полностью генерируя документы с нуля путем реализации серверных сценариев, недоступных для более ранних версий Office;
- обеспечение безопасности — возможность манипуляции VBA-проектами внутри офисных документов делает их более безопасными. Простое изменение расширения имени файла гарантирует, что макросы, расположенные внутри документа, не будут выполняться. Помимо этого открытость офисных документов делает более простой работу антивирусных приложений и всевозможных сканеров;
- управление конфиденциальной информацией — открытость офисных документов упрощает управление конфиденциальной информацией, позволяя динамически создавать версии документов, не содержащие информацию для служебного пользования, и таким образом значительно сокращая затраты на создание документов, предназначенных для сторонних клиентов.
Более подробную информацию о новых продуктах семейства Microsoft Office 2007 можно получить на сайте MSDN в разделе, посвященном разработке на этой платформе, — http://www.microsoft.com/office/preview/default.mspx.
- ПК и комплектующие
Популярные статьи
![]()
В настоящем обзоре мы рассмотрим модель моноблока от компании HP, которая является признанным лидером в производстве компьютеров как для домашнего использования, так и для офисов. Моноблок HP 205 G4 22 — модель нового семейства, которая построена на базе процессоров AMD последнего поколения и отличается неплохой производительностью вкупе с привлекательной ценой

Швейцарская компания Logitech G представила беспроводную игровую мышь Logitech G PRO X Superlight. Новинка предназначена для профессиональных киберспортсменов, а слово Superlight в ее названии указывает на малый вес этой модели, который не превышает 63 г. Это почти на четверть меньше по сравнению с анонсированным пару лет тому назад манипулятором Logitech G PRO Wireless

Как показало недавнее исследование Кембриджского университета — количество людей, которые пользуются сегодня криптовалютами, приближается к размеру населения небольшой страны и это только начало, мир меняется. Поэтому компания ASRock разработала и выпустила в продажу весьма необычную материнскую плату — H110 PRO BTC+, которую мы и рассмотрим в этом обзоре

Компания Rapoo анонсировала в Китае беспроводную клавиатуру Ralemo Pre 5 Fabric Edition. Новинка выполнена в формате TKL (без секции цифровых клавиш) и привлекает внимание оригинальным дизайном. Одна из отличительных особенностей этой модели — верхняя панель, обтянутая тканью с меланжевым рисунком

Линейку компьютерных мониторов MSI пополнила модель Optix MAG301 CR2, адресованная любителям игр. Она оборудована ЖК-панелью типа VA со сверхширокоформатным (21:9) экраном изогнутой формы (радиус закругления — 1,5 м). Его размер — 29,5 дюйма по диагонали, разрешение — 2560×1080 пикселов

Каталог продукции компании SilverStone пополнил комплект MS12. Он позволяет создать портативный накопитель на базе стандартного SSD типоразмера M.2 2280 с интерфейсом PCI Express

Компания ADATA Technology анонсировала твердотельные накопители серии XPG Spectrix S20G. Они предназначены для оснащения игровых ПК и, как утверждают их создатели, сочетают высокую производительность и эффектный внешний вид

Линейку видеоадаптеров ASUS на базе графических процессоров NVIDIA пополнила модель GeForce RTX 3070 Turbo (заводской индекс TURBO-RTX3070-8G), предназначенная для оснащения игровых ПК. Одной из особенностей новинки является конструкция системы охлаждения

КомпьютерПресс использует
Чем открыть XML-формат: 4 рабочих способа
Формат XML – это файл, имеющий расширение .xml и содержащий расширяемый язык разметки. В таких файлах хранится разнообразная информация, от настроек приложений и программных комплексов, заканчивая базами данных.
XML формат
Файлы этого формата применяются для обмена данными между пользователями в сети Интернет и программами. Программисты работают с ними регулярно, а рядовые пользователи сталкиваются, например, при получении и загрузке данных в электронном виде в Росреестр.

За счет того, что файл содержит текстовую информацию, он редактируется во многих текстовых редакторах. В отличие от XTML, похожего по форматированию, в XML применяются теги, задаваемые пользователями. Именно потому, что каждый пользователь способен и волен создать разметку, которая ему нужна в конкретной ситуации, язык и называется расширяемым. По структуре этот тип документа состоит из дерева элементов, где эти элементы обладают содержимым и атрибутами.
Чем открыть XML
Открыть данный формат можно несколькими способами, самые популярные из которых сейчас рассмотрим.
Обратите внимание! Стандартный блокнот не способен отобразить данный формат в читаемом виде.
Как открыть xml через браузер
При двойном щелчке по файлу он в большинстве случаев открывается через браузер, причем через тот, который назначен браузером по умолчанию на данном компьютере (в основном это Microsoft Edge для Windows 10). Но эта настройка изменяемая:
- Нажмите на файл правой кнопкой мыши, вызвав контекстное меню, найдите пункт «Свойства» (расположен внизу).
- На вкладке «Общие» нажмите “Изменить” и выберете нужный браузер или иное приложение, через которое нужно открывать файл.

- Подтвердите действие кнопкой «OK».

Совет! Чтобы разово открыть через другую программу, не меняя постоянные настройки, можно используя пункт «Открыть с помощью» в том же контекстном меню. Чтобы открыть документ через уже открытый браузер, его перетаскивают мышкой в окно этого браузера.

Word
Современные виды текстового редактора Word открывают XML с легкостью, преобразовывая список данных в читаемую структуру.

Excel
Excel распределяет данные этого формата в таблице. Единственный недостаток, который отмечают пользователи – документ в этой программе открывается медленно, может даже показаться, что Excel завис.

Notepad
Бесплатный текстовый редактор на открытой платформе Notepad мгновенно открывает даже тяжелые файлы. Но опытным программистам не хватает функционала программы, поэтому они используют дополнительные плагины к Notepad.

Еще для XML файлов используются онлайн-редакторы, специализированные бесплатные и платные программные комплексы (Oxygen XML Editor, XML Marker, XMLPad, EditiX Lite Version и др.). Естественно, что функционал платных значительно выше.
Для просмотра содержимого файлов какую программу использовать не играет роли, а вот при создании и редактировании – может. Сравнительные характеристики и подробные инструкции по каждой программе легко находимы в Сети.
- Российский сервис Steam помогает пополнять балансы
- Как найти музыку из видео: 16 самых быстрых способов
- AppData: гайд – что за папка, как найти и отчистить
Создание файла XML из Word

Научитесь создавать файл XML из документа Microsoft Word для удобного обмена данными. Этот курс поможет вам улучшить навыки работы с текстовыми документами.
Формат XML предназначен для хранения данных, которые могут быть полезны в работе некоторых программ, сайтов и поддержке определенных языков разметки. Создать и открыть файл в этом формате несложно. Это можно сделать, даже если на вашем компьютере не установлено специализированное программное обеспечение.
Немного об XML
XML сам по себе является языком разметки, чем-то похожим на HTML, который используется на веб-страницах. Но если последний используется только для отображения информации и ее правильной разметки, XML позволяет структурировать ее определенным образом, что делает этот язык похожим на аналог базы данных, не требующий СУБД.
Вы можете создавать файлы XML, используя как специализированные программы, так и встроенный текстовый редактор Windows. Удобство написания кода и уровень его функциональности зависят от типа используемого программного обеспечения.
Способ 1: Visual Studio
Вместо этого редактора кода Microsoft вы можете использовать любые его аналоги от других разработчиков. Фактически, Visual Studio — это более продвинутая версия обычного Блокнота. Код теперь имеет специальную подсветку, ошибки автоматически выделяются или исправляются, а специальные шаблоны уже загружены в программу, что упрощает создание больших файлов XML.
Для начала вам необходимо создать файл. Щелкните элемент «Файл» на верхней панели и выберите «Создать…» в раскрывающемся меню. Откроется список, в котором указана запись «Файл».

Вам будет перенесено окно с выбором расширения файла, соответственно выберите пункт «XML файл».

Во вновь созданном файле уже будет первая строка с кодировкой и версией. По умолчанию записывается первая версия и кодировка UTF-8, которую вы можете изменить в любой момент. Затем, чтобы создать полный XML-файл, вам нужно записать все, что было в предыдущем операторе.
По окончании работы снова выберите в верхней панели «Файл», затем из выпадающего меню пункт «Сохранить все».
Способ 2: Microsoft Excel
Вы можете создать XML-файл без написания кода, например, используя современные версии Microsoft Excel, что позволяет сохранять таблицы с этим расширением. Однако нужно понимать, что в этом случае у вас не получится создать что-то более функциональное, чем обычный стол.
Этот метод лучше всего подходит для тех, кто не хочет или не умеет работать с кодом. Однако в этом случае пользователь может столкнуться с некоторыми проблемами при перезаписи файла в формате XML. К сожалению, преобразование обычной таблицы в XML возможно только в более новых версиях MS Excel. Для этого воспользуйтесь следующими пошаговыми инструкциями:
Способ 3: Блокнот
Даже обычный Блокнот вполне подходит для работы с XML, но у пользователя, незнакомого с синтаксисом языка, возникнут трудности, так как в нем придется писать различные команды и теги. Несколько проще и продуктивнее процесс будет в специализированных программах для редактирования кода, например, в Microsoft Visual Studio. В них есть специальные метки и подсказки, которые значительно упрощают работу человеку, не знающему синтаксиса этого языка.
Для этого метода ничего скачивать не нужно, так как в операционной системе уже есть встроенный «Блокнот». Попробуем создать простую XML-таблицу по приведенным инструкциям:
- Создайте простой текстовый документ с расширением TXT. Вы можете разместить его где угодно. Открой это.
- Начните набирать в нем первые команды.
Во-первых, вам нужно установить кодировку для всего файла и указать версию XML, это делается с помощью следующей команды: Первое значение — это версия, менять ее не нужно, а второе значение — это кодировка. Рекомендуется использовать кодировку UTF-8, так как с ней прекрасно работает большинство программ и обработчиков. Однако его можно изменить на любое другое, просто набрав желаемое имя.
- Создайте первый каталог в вашем файле, написав тег и закрыв его вот так .
- Теперь вы можете написать какой-то контент внутри этого тега. Создаем тег и даем ему любое имя, например «Иван Иванов». Готовая конструкция должна выглядеть так:
- Внутри тега теперь можно писать более подробные параметры, в данном случае это информация об определенном Иване Иванове. Мы пропишем ваш возраст и местонахождение.
- Если вы следовали инструкциям, вы должны получить тот же код, что и ниже. Когда закончите, найдите «Файл» в верхнем меню и выберите «Сохранить как…» в раскрывающемся меню. При сохранении в поле «Имя файла» после точки должно стоять расширение не TXT, а XML.

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





