Не следует путать с [1] , XLSX, PPTX, проект Microsoft Office. Формат представляет собой [2] , которые могут быть переведены в последовательность битов ( Шаблон:Не переведено .
Первоначально формат создавался как замена прежнему двоичному формату документов, который использовали приложения Microsoft Office вплоть до версии Office 2003 включительно. В 2006 году формат Office Open XML был объявлен свободным и [1] [3] и в ISO 29500:2008. Полная поддержка формата ISO 29500 ожидалась (но не появилась) в Microsoft Office 2010.
25 июня 2014 года Microsoft выпустила Open XML SDK в open source под Apache 2.0 лицензией. [4]
- 1 Стандартизация
- 1.1 Ecma International
- 1.2 ISO/IEC
- 1.3 Дальнейшая жизнь стандарта
- 2.1 Предыдущие версии MS Office
- 2.2 Поддержка формата в других текстовых процессорах
Стандартизация [ ]
К 2005 году участились призывы к госструктурам переходить на открытые форматы. Если в бывшем СССР культура пользования лицензионным ПО была ещё слаба, в Европе закрытый формат правительственных документов фактически стал требованием платить из государственных бюджетов Microsoft — американской компании — несколько сотен долларов за рабочее место. Осознав, что у неё нет подходящего формата, а конкуренты, OASIS , проводят свой Ecma International [ ]
xml чем открыть?
Microsoft заявила, что Office Open XML будет открытым стандартом, и представила его на утверждение 8 декабря 2005 года ECMA организовала технический комитет 45 (TC45), чтобы «выпустить формальный стандарт для офисных приложений, полностью совместимый с форматами Office Open XML, представленными Microsoft». Предложение также поддержали BP , the British Library, Intel , NextPage., Statoil ASA и [5]
ISO/IEC [ ]
5 сентября 2007 года принятие варианта OOXML как стандарта ISO/IEC 29500 было временно отклонено по результатам голосования. [6]
В марте 2008 года изменённая спецификация была принята как будущий стандарт ISO/IEC 29500. В частности, в [7] Позже оказалось, что файлы, сохраняемые Microsoft Office 2007, не проходят тестов на соответствие стандарту, что нарушает правила принятия стандарта через процедуру [8]
В мае 2008 были поданы апелляции от ЮАР [9] [10] , [11] [12] , [13] . Также подана жалоба о нескольких нарушениях от Open Source Leverandørforeningen в [14]
Публикация ISO/IEC DIS 29500 была отложена на период рассмотрения апелляций (30 дней). [15] [16]
В июле руководители ISO и IEC порекомендовали [17]
В августе ISO отклонила апелляции стран, выступающих против принятия OOXML как стандарта, так как они не смогли получить поддержку необходимого числа участников ISO для приостановления принятия стандарта [18]
В конце августа государственные IT‐организации Бразилии, ЮАР, Венесуэлы, [19] [20]
В Норвегии, где из 21 голоса «против» и двух голосов «за» получилось «за», 29 сентября 2008 года 13 членов технической комиссии в знак протеста вышли из состава Шаблон:Не переведено . [21] [22] [23]
По данным собрания ISO/IEC JTC1/SC34 , подкомиссии OASIS неопубликованный запрос на передачу ей контроля над стандартом [24] [25] [26]
Дальнейшая жизнь стандарта [ ]
После того, как OOXML стандартизовали, работа над стандартом приостановилась; Microsoft Office 2010 всё ещё отвечал «переходным» требованиям OOXML, но не «строгим». Microsoft пообещал полное соответствие в следующей версии. ISO пригрозила убрать переходные части из стандарта. Шаблон:Заготовка раздела
Поддержка в текстовых процессорах [ ]
Предыдущие версии MS Office [ ]
Большей популярностью на 2007 год пользуются его предшественники — двоичные форматы Microsoft Office 97—2003. Поддержка одной из версий OOXML (не соответствующая ISO/IEC 29500) появилась в Microsoft Office 2007. [8] Для работы с этим форматом в предыдущих версиях MS Office, Microsoft предлагает установить Microsoft Office Compatibility Pack, который обеспечивает «прозрачную» работу с форматами Office 2007 пакетов MS Office 2000, XP и 2003. [27]
Поддержка формата в других текстовых процессорах [ ]
В OpenOffice.org 3 версии присутствует частичная встроенная поддержка OOXML. Для решения данной проблемы существуют онлайн-конверторы, способные конвертировать формат DOCX в другие форматы. Также существует плагин (разработанный фирмой [28]
Поддержка формата OOXML в текстовом процессоре Corel [29]
Критика [ ]
- Сам формат предназначен для «точного представления ранее сформированного корпуса электронных документов, таблиц и презентаций, созданных с помощью приложений Microsoft Office». Шаблон:Не переведено указала на проблемы с условиями, под которыми Microsoft опубликовали спецификацию [30]
- Название Office Open XML слишком похоже на [31][32] Такое уже случалось с предложениями стандартов от Microsoft. [33]
- Несмотря на то, что информация о формате открыта, он защищён патентами Microsoft, и любая программа (нарушающая лицензионное соглашение на использование запатентованных составляющих стандарта) для чтения Open XML нарушит законы США. [34][35]
- Документация к Open XML занимает более 7000 страниц, что является излишне большим объёмом и существенно усложняет попытку создания программы с поддержкой Open XML. [36][37]
- Из‑за широкого использования в Open XML битовых масок невозможно провести формальную проверку XML‐файла с помощью Microsoft Excel, а тому — от Lotus 1-2-3 , отсчитывает годы, начиная с 1900. При этом сам 1900 год неправильно трактуется как Примечания [ ]
Ссылки [ ]
- Сайт Microsoft для разработчиков openxmldeveloper.org
- Сайт Microsoft для покупателей и партнеров
- Официальная открытая публикация стандартов формата файлов
- Пакет обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint 2007
Статьи [ ]
- Ошибка скрипта: Модуля «String» не существует.Tracking the status of Office Open XML (en). Balance of Cowards (31 августа 2007). — Примерная сводная таблица готовящихся голосов за стандартизацию OOXML ISO. Проверено 6 февраля 2011.Архивировано из первоисточника 23 февраля 2012.
- Реализация стандарта Office Open XML (OOXML): О чём должны знать государственные учреждения (ru). Перевод статьи, опубликованной на сайте Альянса ODF (27 октября 2010). Проверено 6 февраля 2011.
См. также [ ]
- Шаблон:Ecma International Standards Шаблон:Стандарты ISO Шаблон:Microsoft Office
Источник: microsoft.fandom.com
Коротко об OpenXML
Вот уже более десятка лет разработчики бизнес-приложений регулярно сталкиваются с задачей генерации документов в форматах, поддерживаемых наиболее популярными офисными приложениями. Подобные задачи ставятся заказчиками проектов по разработке или внедрению информационных систем из-за того, что офисные приложения (в нашей стране это в первую очередь различные версии Microsoft Office), как правило, в той или иной мере знакомы всем бизнес-пользователям, а это существенно упрощает и удешевляет их обучение, обязательно проводимое в процессе внедрения новых решений, а также сопровождение самого решения.
Какие технологии обычно используются разработчиками для генерации подобных документов? Последние десять лет наиболее распространенным способом генерации документов формата Microsoft Office являлась технология COM (Component Object Model) — одна из базовых технологий Windows. Ее применение основано на том, что приложения Microsoft Office, равно как и многие приложения и службы самой операционной системы Windows, реализуют свои прикладные программные интерфейсы в виде COM-интерфейсов, доступных внешним приложениям. Практически все, что может сделать пользователь любого приложения семейства Microsoft Office с помощью меню, клавиатуры и панели инструментов, может быть реализовано в автоматическом режиме, то есть путем манипуляции соответствующим офисным приложением из бизнес-приложения, генерирующего соответствующие документы.
Читатели, интересующиеся деталями применения технологии COM для генерации офисных документов, могут обратиться к публикациям в нашем издании примерно семилетней давности (см., например, цикл статей «Автоматизация приложений Microsoft Office в примерах» в КомпьютерПресс № 11 и 12’2000) — эти материалы по-прежнему доступны на нашем сайте www.compress.ru. В данной же публикации мы не будем вдаваться в многократно обсуждавшиеся технические подробности, а вместо этого обратим внимание на один из недостатков этого подхода, который в конце 90-х годов казался несущественным, но сегодня должен обязательно учитываться.
Представим себе информационную систему, в которой генерация документов формата Microsoft Office должна осуществляться централизованно, а сами документы должны быть предназначены для применения большим количеством пользователей. Подобные требования могут предъявляться к средству генерации, например, еженедельных отчетов для менеджмента на основе корпоративной базы данных либо нормативной документации наподобие должностных инструкций на основании данных, регулярно обновляемых в том или ином средстве управления бизнес-процессами.
Наиболее удобно при решении подобных задач осуществлять генерацию документов автоматически по расписанию, без участия пользователя, причем не на рабочей станции, а на сервере. Применение технологии COM в этом случае налагает серьезные ограничения на серверную операционную систему (это обязательно должна быть одна из версий Windows) и вынуждает иметь на сервере установленные офисные приложения. Очевидно, что генерация документов без наличия собственно офисных приложений была бы более удобной, ведь в этом случае серверное приложение не обязано работать под управлением той же платформы, что и офисные приложения. А это, в свою очередь, означает, что для создания подобных решений нужно, чтобы формат данных офисных приложений был документирован.
Форматы некоторых офисных приложений Microsoft были документированы вплоть до 2000 года, однако начиная с Office 2000 компания Microsoft перестала предоставлять доступ к спецификациям этих форматов, потому единственным способом корректной генерации документов Microsoft Office с этого момента и до выхода Office 2007 было применение все той же технологии COM. Однако после выхода Office 2007 данная ситуация изменилась — теперь формат офисных приложений Microsoft стал открытым и документированным. А это означает, что решения, генерирующие офисные документы, можно создавать в отсутствие самих офисных приложений — более того, создавать их на любой платформе.
Что такое OpenXML
Как было отмечено выше, идея открытого формата офисных документов отнюдь не нова. Однако именно в последнее время наметилась тенденция массового перехода офисных приложений к открытым форматам. Так, известный офисный пакет OpenOffice.org поддерживает открытый формат ODF (Open Document Format), спецификация которого является общедоступной, а кроме того, сегодня доступен и инструментарий разработки приложений, работающих с документами в формате ODF, — ODF Toolkit.
Формат OpenXML полностью поддерживает функциональность всех версий Microsoft Office — он позволяет сохранять все особенности документов, созданных с помощью Microsoft Office 2007 и предшествующих версий.
То, что существует техническая возможность создавать и сохранять документы формата OpenXML с помощью приложений, отличных от Microsoft Office 2007, интересно в первую очередь разработчикам бизнес-приложений и системным интеграторам. Что касается пользователей, их должна больше заинтересовать уже реализованная возможность его применения — например чтение и сохранение файлов формата OpenXML может быть осуществлено в рамках трех предыдущих версий Microsoft Office (начиная с Office 2000). Так, при попытке открыть документ этого формата с помощью Office 2003 пользователю будет предложено загрузить соответствующий конвертор (он доступен по адресу: http://www.microsoft.com/downloads/details.aspx?FamilyId=941B3470-3AE9-4AEE-8F43-C6BB74CD1466https://compress.ru/article.aspx?id=17883″ target=»_blank»]compress.ru[/mask_link]
Office Open XML
Не следует путать с OpenOffice.org XML или с OpenDocument, не имеющими прямого отношения к данному формату.
Office Open XML (OOXML, DOCX [1] , XLSX, PPTX, проект ISO/IEC IS 29500:2008) — серия форматов файлов для хранения электронных документов пакетов офисных приложений — в частности, Microsoft Office. Формат представляет собой zip-архив, содержащий текст в виде XML, графику и другие данные [2] , которые ранее хранились в двоичных форматах DOC, XLS и т. д.
Первоначально формат создавался как замена прежнему двоичному формату документов, который использовали приложения Microsoft Office вплоть до версии Office 2003 включительно, и конкурент стандартизированному прямо перед этим OpenDocument. В 2006 году формат Office Open XML был объявлен свободным и открытым форматом Ecma International. Он является форматом по умолчанию для приложений Microsoft Office 2007 и более поздних.
Две разные версии OOXML определены в ECMA-376 [1] [3] и в ISO 29500:2008. Полная поддержка формата ISO 29500 ожидалась (но не появилась) в Microsoft Office 2010.
С созданием OOXML двоичные форматы Microsoft открыли на несвободных [4] условиях Microsoft Open Specification Promise [en] — к тому времени они были частично распознаны, но исчерпывающей документации не существовало.
- 1 Стандартизация
- 1.1 Предпосылки
- 1.2 Ecma International
- 1.3 ISO/IEC
- 1.4 Дальнейшая жизнь стандарта
- 2.1 Предыдущие версии MS Office
- 2.2 Поддержка формата в других текстовых процессорах
Источник: wiki2.org
Документ office open xml docx чем открыть
Docx – формат текстовых файлов MS Office, который вряд ли нуждается в презентации. Дело в том, что документы указанного расширения сегодня применяются повсеместно, и относятся к числу самых популярных как среди рядовых пользователей, так и учителей, педагогов, писателей и т.д.
Формат файла docx появился в 2007 году, после чего регулярно подвергался модернизации, собственно, тенденция продолжается. В настоящее время документы MS Office можно открыть не только с помощью указанного пакета программ, но и за счет других бесплатных редакторов, «просмотрщиков». Чаще всего, программы для открытия docx предусматривают чтение и редактирование электронных таблиц, презентаций, текста и прочего. Рассмотрим самые популярные бесплатные варианты, и сделаем вывод относительно наиболее удобного из них для работы с описанным стандартом документов.
- Небольшой вес офисного пакета с быстрой установкой
- Загрузка и редактирование документов без зависаний
- Работа со всеми известными форматами документов
Бесплатно Windows Office
Windows XP / Vista / 7 / 8 / 10 Версия: 1.4 29.10.2019
Размер файла: 43 МБ.
Программа Windows Office для открытия DOCX файлов
Если ассоциации на вашем ПК настроены правильно, вам не придется разбираться с тем, как открыть docx — будет достаточно дважды кликнуть мышкой по документу при помощи приложения Windows Office. В свойствах документа можно настроить открытие данного разрешения указанной программой по умолчанию.
Если правильное применение разрешения не настроено, то при нажатии по файлу откроется окно, в котором Вы сможете указать путь к программе для работы с файлами docx. В нашем случае это Windows Office. Собственно, на этом всё. В дальнейшем, чтобы просмотреть или отредактировать документ никаких дополнительных действий помимо двойного клика мышкой по файлу не потребуется. Стоит добавить, что предложенная утилита отличается небольшим весом, быстро устанавливается и регулярно в автономном режиме.
Бесплатно Windows Office
Windows XP / Vista / 7 / 8 / 10 Версия: 1.0 04.12.2015
Размер файла: 45,2 МБ.
Начиная с Microsoft Office 2007, в Microsoft Office используются форматы файлов на основе XML, например DOCX, XLSX и PPTX. Эти форматы и расширения имен файлов применяются к Microsoft Word, Microsoft Excel и Microsoft PowerPoint. В этой статье приводятся основные преимущества формата, описаны расширения имен файлов и описаны способы предоставления общего доступа к файлам Office пользователям, использующим более ранние версии Office.
Каковы преимущества форматов Open XML?
Форматы Open XML включают большое количество преимуществ — не только для разработчиков и тех решений, которые они создают, но и для отдельных пользователей и организаций любого размера:
Компактные файлы Файлы автоматически сжимаются, а в некоторых случаях они могут быть не менее 75%. В формате Open XML для хранения документов используется технология сжатия ZIP, что позволяет экономить деньги, так как уменьшает объем дискового пространства, необходимого для хранения файлов, и снижает пропускную способность, необходимую для отправки файлов по электронной почте, через сети и через Интернет. При открытии файла он автоматически размещается в архиве. При сохранении файла он автоматически заархивирован. Для открытия и закрытия файлов в Office не нужно устанавливать специальные служебные программы для работы с ZIP.
Улучшенные возможности восстановления поврежденных файлов. Файлы имеют модульную структуру, поэтому различные компоненты данных файла хранятся отдельно друг от друга. Это позволяет открывать файлы даже в том случае, если компонент в файле (например, диаграмма или таблица) поврежден или поврежден.
Поддержка дополнительных функций Многие дополнительные возможности Office 365 требуют, чтобы документ хранился в формате Open XML. Такие вещи , как автосохранение и Проверка читаемости: в двух примерах можно работать только с файлами, которые ХРАНЯТСЯ в формате Open XML.
Улучшенная конфиденциальность и дополнительный контроль над персональными данными. Доступ к документам может быть конфиденциальным, так как личные данные и конфиденциальные сведения, такие как имена авторов, примечания, исправления и пути к файлам, можно легко идентифицировать и удалить с помощью инспектора документов.
Улучшенная интеграция и совместимость бизнес-данных. Использование форматов Open XML в качестве платформы взаимодействия с данными для набора Office позволяет сохранять документы, листы, презентации и формы в формате XML-файлов, которые можно бесплатно использовать для пользователей и лицензий.
Кроме того, Office поддерживает пользовательские XML-схемы, которые улучшают существующие типы документов Office. Это означает, что пользователи могут легко разблокировки информации в существующих системах и работать с ними в знакомых программах Office. Информация, созданная в Office, может быть легко использована другими бизнес-приложениями. Все, что нужно для открытия и редактирования файла Office — это служебная программа ZIP и редактор XML.
Упрощенное обнаружение документов, содержащих макросы. Файлы, сохраненные с использованием суффикса x, используемого по умолчанию (например, DOCX, XLSX и PPTX), не могут содержать макросы Visual Basic для приложений (VBA) и макросы XLM. Макросы могут содержать только те файлы, расширения имен которых заканчиваются на «м» (например, DOCM, xlsm и PPTM).
Если вы хотите сохранить файл в двоичном формате, чтение может иметь разные версии Office.
Как преобразовать файл из старого двоичного формата в современный формат Open XML?
Открыв файл в приложении Office, щелкните файл> Сохранить как (или сохранить копию, если файл хранится в OneDrive или SharePoint) и убедитесь, что для типа сохранить как задан современный формат.
Это приведет к созданию новой копии файла в формате Open XML.
Что такое расширения имени XML-файла?
По умолчанию документы, листы и презентации, созданные в Office, сохраняются в формате XML с расширениями имен файлов, которые добавляют «x» или «m» к расширениям имен файлов, с которыми вы уже знакомы. «X» обозначает XML-файл без макросов, а «m» обозначает XML-файл, который содержит макросы. Например, при сохранении документа в Word файл теперь использует расширение имени DOCX-файла по умолчанию вместо расширения DOC-файла.
При сохранении файла в качестве шаблона отображаются изменения такого же вида. Расширение шаблона, используемое в более ранних версиях, теперь содержит «x» или «m» в конце. Если файл состоит из кода или макросов, необходимо сохранить его с помощью нового формата XML-файлов с поддержкой макросов, который добавляет «m» для макроса к расширению файла.
В приведенных ниже таблицах перечислены все расширения имен файлов по умолчанию в Word, Excel и PowerPoint.
Office Open XML – это целая серия форматов документов, создаваемых и используемых в MSOffice. К ним относятся:
Известны случаи, когда возникают неполадки при открытии и редактировании файла. В этой статье будут рассмотрены основные причины возникновения ошибки «Не удается открыть файл OFFICE Open XML из-за ошибок его содержимого» при открытии, а также способы решения данной проблемы.
Скриншот ошибки «Не удается открыть файл OFFICE Open XML из-за ошибок его содержимого»
Причины возникновения ошибки в Ворд
Проблема может возникнуть внезапно или иметь какие-то предшествующие причины, например, сложности с последним сохранением файла или неполадки, возникшие при последнем редактировании файла. Вне зависимости от специфики возникновения неполадок, данная проблема решается общими методами.
Как исправить «Не удается открыть файл OFFICE Open XML из-за ошибок его содержимого»
Для начала, необходимо проанализировать, какие типы файлов находятся в документе и которые из них необходимо восстановить. Документ Office Open XML может содержать следующие типы информации:
- текстовые данные;
- изображения;
- гиперссылки;
- таблицы;
- диаграммы;
- различные формы;
- закладки и многое другое.
Еще один способ восстановления документа Office Open XML посредством программы Adobe In Design:
Восстановление файла встроенными функциями Windows
Вне зависимости от установленной версии Windows, каждая сборка предполагает наличие такого простого редактора, как Word Pad. Он не имеет широких возможностей форматирования текста, зато может быть полезен в подобных ситуациях. Для того, чтобы использовать эту программу, необходимо кликнуть на документе правой кнопкой мыши и в открывшемся списке нажать на «Открыть с помощью…». В появившемся окне появится иконка программы WordPad, которая поможет открыть не только текстовую информацию, но и изображения с гиперссылками.
Использование программы Xml Pad
Бесплатная утилита, которую можно свободно скачать в сети. Эта программа проста в установке, она позволяет просматривать и редактировать несколько типов файлов, но нас интересует только .xml, поэтому необходимо кликнуть на него. Затем необходимо открыть «битый» файл посредством этой программы и приступить к редактированию.
Основное преимущество данной программы заключается в том, что она показывает строку, которая вызывает ошибку при открытии файла. В некоторых случаях достаточно удалить или редактировать данную строку, чтобы вернуть файл в рабочее состояние. Если же данный метод не сработает, то придется извлечь все текстовые данные, перенести их в новый файл и сохранить, создав новое форматирование вручную.
Совет: Следует всегда сохранять резервную копию файла и хранить ее либо на внешнем диске, либо в другой директории. Это поможет исключить возникновение подобных «Не удается открыть файл OFFICE Open XML из-за ошибок его содержимого» проблем.
Видео в котором используется метод открытия файла посредством программы Notepad ++:
Источник: planshet-info.ru
Файлы MS Office «изнутри». Open Packaging Conventions. Базовые принципы. Компоненты и связи
Сегодняшним постом я хочу начать серию материалов. В ней я планирую немного поговорить о том, что представляют собой файлы MS Office “изнутри”, а также об инструментах (утилитах и библиотеках) для их создания, изучения, изменения, …
Сегодняшним постом я хочу начать еще одну серию. В ней я планирую немного поговорить о том, что представляют собой файлы MS Office “изнутри”, а также об инструментах (утилитах и библиотеках) для их создания, изучения, изменения, …
Прежде чем перейти к содержательной части некоторый предваряющий disclaimer (традиционно ):
● Я в основном буду касаться современных офисных форматов, тех что появились в редакции Office 2007. Их еще называют XML-based форматами, в противовес старым бинарным (и это закрепилось в расширении файлов: docx, pptx, xlsx, … – в противовес doc, ppt, xls, …), ну или просто Open XML
● Некоторая часть статей (по крайней мере в самом начале) будет основана на материалах Open XML Developer Workshop (контент и видео), который вел Doug Mahugh. Если вам не хочется ждать моих статей рекомендую обратиться к этим материалам
● Еще одним хорошим подспорьем для изучающих Open XML будет книга Воутер Ван Вугт. OpenXML. Кратко и доступно. Ранее она в электронном виде была доступна в блоге евангелиста Microsoft Владимира Габриеля, но теперь – увы. Так что, если вам интересно и не хочется тратить время на поиск, можете взять здесь.
Вроде бы все. Можно приступать.
Что такое Open Packaging Conventions?
В двух словах, это формат контейнеров, поддерживающих хранение как структурированных (XML), так и неструктурированных компонентов (картинки, видео, бинарные компоненты, …) в одном файле.
Краткая но довольно информативная статья об OPC есть на wikipedia.
Что можно сказать в общем об этом стандарте/формате? Я бы выделил такие моменты:
● Формальное описание является частью ECMA-376. Office Open XML File Formats, более конкретно – второй частью Part 2 — Open Packaging Conventions.
● Сам стандарт описывает только структуру хранения и самые общие метаданные (типа автора, даты,…) поэтому потенциально в таком контейнере можно хранить практически что угодно.
Например, вот несколько форматов, основанных на OPC от самого Microsoft:
o .xps (.oxps) – формат “электронной бумаги” или формат c фиксированной разметкой, предназначенный для передачи документов без искажения форматирования (в чем-то аналог PDF).
o .vsix – формат расширений Visual Studio, начиная с версии 2010
o .cspkg – формат пакетов для Windows Azure Cloud Services
o .appx – формат пакетов приложений Windows Store (для Windows 8)
Что представляют собой контейнеры в OPC?
Тут нужно сделать одну существенную оговорку: сам стандарт разбивает описание контейнеров на 2 части: абстрактную модель (которая описывает из каких элементов состоят контейнеры, но ни слова не говорит о том как это должно храниться физически) и физический формат пакета, т.е. конкретную реализацию.
Т.е. в чистой теории, контейнер в OPC может храниться единый файл, а может, например, как набор отдельных ресурсов на Web-сервере. Но (!) на текущий момент определена только 1 реализация – в виде единого файла ZIP-архива.
Структура контейнеров в OPC
Вообще говоря, концептуальная схема пакетов в Open Packaging Conventions очень проста, она включает в себя всего два элемента:
● компоненты (parts), которые собственно и содержат хранящийся контент (любой: xml, image, video, …)
● отношения (relationships), которые определяют
o предназначение (смысл/семантику) каждой части
o отношения между частями, а также между частями и пакетом целиком
Как уже было сказано выше компонент в OPC это и есть основная единица хранения контента. Каждый компонент характеризуется 2-я составляющими: именем и типом содержимого.
Имя компонента состоит из набора сегментов, начинающихся с прямого слэша (“/”), вот несколько примеров:
В спецификации приведены более формальные правила построения имен, из которых я укажу только основные (на мой взгляд):
● все имена должны начинаться с прямого слэша (“/”) и не должны им заканчиваться
● имя недолжно содержать пустых сегментов (т.е. /images//image1.jpg – неправильное имя)
● ни одно имя компонента не должно строиться как имя уже существующего компонента + новый сегмент. Т.е. если есть компонент с именем /abc/abc, то компонент с именем /abc/abc/a существовать не может, зато вполне может существовать компонент с именем /abc/abcde
● имена могут записываться Unicode-символами или использовать кодирование в виде /a/%D1%86.xml
Тип содержимого компонента задается в соответствии с RFC 2616 (раздел Media Types) т.е. в виде /:
Связи
Любой компонент в пакете (а также сам пакет) может ссылаться на другие компоненты или некоторые ресурсы за пределами пакета. Для представления этих ссылок введен специальный механизм связей. По большому счету, связи позволяют решить 2 задачи:
● получить список связанных с компонентом ресурсов, без необходимости анализировать его содержимое (которое может быть очень большим, иметь разную структуру, быть зашифрованным или вообще не поддерживать хранение ссылок)
● поменять набор связей компонента, не меняя его содержимого (которое может быть, например, зашифровано или защищено цифровой подписью)
Создавая свой пакет вы, конечно же, можете не использовать связи. Вместо этого везде в коде использовать фиксированные имена компонент, а где нужны списки связанных ресурсов, ссылаться на них прямо из самих компонент. Однако, рекомендации “лучших собаководов” все же советуют использовать связи везде, где это возможно.
Информация о связях для каждого компонента (а также самого пакета), хранится в специальных компонентах связей (relationships parts) тип содержимого которых application/vnd.openxmlformats-package.relationships+xml
Имена компонентов связи строятся из имени исходных компонент, к которым:
● добавляется предпоследний сегмент с именем _rels
● дописывается “расширение” .rels
Связи самого пакета хранятся в специальном компоненте с именем /_rels/.rels
Например, если в пакете у нас есть компонент с именем /document/mainPart.xml и два связанных компонента с картинками (пусть их мена будут /images/image1.png и /images/image2.jpeg), то пакет для них будет иметь следующую структуру:
Содержимое компонента связи представляет собой XML следующего формата:
Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles»
Target=»styles.xml» />
Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme»
Target=»theme/theme1.xml» />
Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable»
Target=»fontTable.xml» />
Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/image»
Target=»file:///C:UsersPublicPicturesSample%20PicturesDesert.jpg»
TargetMode=»External» />
Как уже наверняка понятно из приведенного фрагмента, каждый тэг определяет одну связь. Его атрибуты:
Идентификатор связи. На него ссылаются из содержимого компонент, когда необходимо использовать конкретную связь.
Тип связи. По сути дела тип указывает семантику связи. Например, две разных связи могут указывать на 2 компонента типа image/jpeg, но одно изображение будет картинкой в тексте документа, а второе – миниатюрой (thumbnail) всей страницы целиком.
В качестве типа может использоваться любой валидный URI
(Необязательный) Принимает одно из возможных значений:
· Internal (значение по умолчанию) – указывает, что связь ссылается на компонент пакета
· External – связь указывает на ресурс за пределами пакета
Адрес ресурса или компонента на который ссылается связь
Важный момент: для обращения к компонентам и внешним ресурсам можно использовать как абсолютные адреса (для компонент это будет их полное имя), так и относительные. В последнем случае полное имя компоненты рассматривается как путь в файловой системе, каждый сегмент, кроме последнего – имя “папки”, а последний – имя “файла”. Вот несколько примеров такой адресации:
Имя исходного компонента
Источник: ecm-journal.ru