Родное имя | Форматы файлов Office Open XML - соглашения об открытой упаковке |
---|---|
Положение дел | Опубликовано |
Впервые опубликовано | 7 декабря 2006 г. |
Последняя версия | ISO / IEC 29500-2: 2012 22 августа 2012 г. |
Организация | Microsoft , Ecma , ISO / IEC |
Базовые стандарты | ECMA-376, ISO / IEC 29500-2 |
Связанные стандарты | XML , ZIP |
Домен | Электронные документы |
Сокращение | OPC |
Интернет сайт | ECMA-376 , ISO / IEC 29500-2: 2012 |
В Open Packaging конвенция (OPC) представляет собой контейнер-файл технология , первоначально созданный Microsoft для хранения сочетания XML и не-XML - файлов , которые вместе образуют единое целое , такие как Open Specification XML Paper (OpenXPS) документ. Форматы файлов на основе OPC сочетают в себе преимущества, заключающиеся в том, что независимые файловые объекты, встроенные в документ, остаются нетронутыми, что приводит к получению файлов гораздо меньшего размера по сравнению с обычным использованием XML.
Технические характеристики [ править ]
OPC указано в части 2 Office Open XML стандартов ISO / IEC 29500: 2008 и ECMA -376 . [1] [2]
ISO / IEC 29500-2: 2008 спецификация и второе издание ECMA-376 делает нормативную ссылку на PKWARE, Inc. «s .ZIP Формат файла спецификации версии 6.2.0 (2004), и дополняет его с нормативным набором пояснения. Примечание. В более ранней первой редакции ECMA-376 содержится информативная ( т. Е. Ненормативная) ссылка на новую версию 6.2.1 (2005) PKWARE Inc. «Спецификация формата файла .ZIP». [1] Формат ZIP не определен ни одним международным стандартом, но получил широкое признание сообщества и разработчиков.
В 2006 году Microsoft представила в Инженерную рабочую группу Интернета черновик «пакетной» схемы URI ( pack://
), которая будет использоваться для ссылок URI на пакеты на основе OPC. Срок действия черновика истек в 2009 году, указанный синтаксис несовместим со стандартом Интернета для схем URI (STD 66, RFC 3986 ). [3] Схема теперь указана как историческая . [4]
Стандарт ISO 19165: 1-2018 рекомендует использовать соглашения об открытой упаковке для реализации геопространственного пакета, определенного в информационной системе открытого архива .
Использование [ править ]
Как XML Paper Specification (XPS) [5], так и Office Open XML (OOXML) используют Open Packaging Conventions (OPC), которые обеспечивают профиль общего формата ZIP . Помимо данных и содержимого документа в разметке XML, файлы в пакете ZIP могут включать другие текстовые и двоичные файлы в таких форматах, как PNG , BMP , AVI , PDF , RTF или даже уже упакованный файл ODF . OPC также определяет некоторые соглашения об именах и метод косвенного обращения, чтобы обеспечить независимость положения двоичных файлов и файлов XML в ZIP-архиве.
Файлы OPC можно открывать с помощью обычных утилит ZIP. OPC допускает косвенное обращение , разбиение на части и относительное косвенное обращение . [6]
Форматы файлов с использованием OPC [ править ]
OPC является базовой технологией для многих новых форматов файлов: [7]
Формат файла | Расширение имени файла | Содержание | Стандарт |
---|---|---|---|
Формат файлов в формате 3D Manufacturing Format (3MF) Консорциума 3MF [8] | .3mf | Данные САПР для аддитивного производства ( 3D-печать ) | |
Формат файла Autodesk AutoCAD Design Web Format (DWFX) [9] | .dwfx | Данные для проектирования в САПР ( 2D / 3D компьютерная графика и технические чертежи ) | |
Документ принципиальной схемы [10] | .cddx | Принципиальная схема, содержащая компоновку, соединения и встроенные компоненты | |
Формат файла Family.Show [11] | .familyx | генеалогические семейные данные, истории и фотографии | |
Пакеты FDI для интеграции полевых устройств [12] [13] | .fdix | Информация об интеграции полевого устройства | МЭК 62769-4: 2015 |
Формат файлов Microsoft Application Virtualization | .appv | Портативное приложение | |
Формат файлов Microsoft Semblio | .semblio | Интерактивные учебные материалы, например электронные книги с изображениями, аудио и видео. | |
Формат файлов Microsoft Visual Studio 2010+ Extensions | .vsix | Расширение интегрированной среды разработки | |
Формат файла чертежа Microsoft Visio 2013 | .vsdx | Заменяет форматы .vsd (двоичный файл Visio) и .vdx (документ Visio XML), используемые в более ранних версиях [14] | |
Пакет приложений для Microsoft Windows 8 , Windows 8.1 и Windows Phone 8.1 [15] | .appx | Пакет программного обеспечения для приложений, перечисленных в Microsoft Windows Store и Windows Phone Store [16] | |
Microsoft Windows , 8.1 и Windows Phone 8.1 App Bundle [17] | .appxbundle | Программный пакет, который объединяет аппаратные платформы, языки и ресурсы для приложения, указанного в Microsoft's Windows Store и Windows Phone Store. | |
Пакет Microsoft Windows Azure C # | .cspkg | Данные облачной платформы | |
Спецификация Microsoft XML Paper | .xps | Фиксированный документ для обмена документами | |
Открытая сжатая карта MiraMon | .mmzx | Географическая информация ( Геопространственная растровая графика , векторная графика и табличные данные, символы и метаданные в файлах, ссылки на геосервисы и т. Д.) | ISO 19165-1: 2018 |
Пакет NuGet | .nupkg | Программный комплекс для системы управления пакетами | |
Документ Office Open XML | .docx | Документ обработки текста | ECMA-376, ISO / IEC 29500: 2008 |
Презентация Office Open XML | .pptx | Файл презентации | ECMA-376, ISO / IEC 29500: 2008 |
Книга Office Open XML | .xlsx | Spreadsheet учебное пособие | ECMA-376, ISO / IEC 29500: 2008 |
Спецификация Open XML Paper | .oxps | Фиксированный документ для обмена документами | ECMA-388 |
Платформа Industrie 4.0 - оболочка административных активов | .aasx | Формат файла пакета для административных оболочек активов (AAS) | |
Формат файлов Siemens PLM Software | .jtx | ||
Файл модели MathWorks Simulink | .slx | Спецификация динамической системы для модельно-ориентированного проектирования | |
SMPTE Media Package | .smpk | Формат хранения для распространения и воспроизведения мультимедийных видео и аудио файлов | СМПТЭ СТ 2053-2011 |
Файл твердотельной 3D- модели SpaceClaim [18] | .scdoc | Встроенные файлы данных 3D CAD включают файлы твердотельных моделей Standard ACIS Binary (SAB) | |
Пакет Microsoft XAML | - | Не спецификация. Функция поддерживается .NET Framework только для сохранения WPF FlowDocument с изображениями [19] |
Программирование [ править ]
OPC изначально поддерживается в Microsoft .NET Framework 3.0 пространством имен System.IO.Packaging . Существуют библиотеки с открытым исходным кодом для других языков.
Начиная с Windows 7 , OPC также изначально поддерживается в Windows API через набор COM- интерфейсов, вместе называемых Packaging API .
В качестве альтернативы можно использовать библиотеки ZIP для создания и открытия файлов OPC, если в ZIP включены правильные файлы и соблюдаются соглашения.
Пакет, части и отношения [ править ]
В терминологии OPC термин « пакет» соответствует ZIP-архиву, а термин « часть» соответствует файлу, хранящемуся в ZIP-архиве . Каждая часть в пакете имеет уникальное имя части, совместимое с URI, вместе с указанным типом содержимого, выраженным в форме типа мультимедиа MIME . Тип содержимого части явно определяет тип данных, хранящихся в части, и уменьшает проблемы дублирования и неоднозначности, присущие расширениям файлов .
Пакеты OPC могут также включать отношения, которые определяют связи между пакетом, частями и внешними ресурсами. Помимо иерархии каталогов и частей, пакеты OPC обычно используют отношения для доступа к контенту через направленный граф ассоциаций отношений. Отношения состоят из четырех элементов:
- идентификатор (ID)
- необязательный источник (пакет или часть внутри пакета)
- тип отношения (выражение в стиле URI, определяющее тип отношения)
- цель ( URI другой части пакета или внешнего ресурса)
Пакеты OPC могут хранить части, содержащие данные любого типа (текст, изображения, XML, двоичные файлы и т. Д.). Однако расширение «.rels» зарезервировано для хранения метаданных отношений в подпапках «/ _rels». Имя подпапки «_rels», расширение файла «.rels» в таком каталоге и имя файла «[Content_Types] .xml» в любой папке - единственные три зарезервированных имени для файлов, хранящихся в пакете OPC.
- /[Content_Typespting.xml файл
- Этот файл определяет типы мультимедиа MIME для всех частей, хранящихся в пакете. В файле «/[Content_Typespting.xml» определены сопоставления по умолчанию на основе расширений файлов, а также переопределения для определенных частей с типами содержимого, которые отличаются от значений по умолчанию для расширений файлов. Например, один из этих определенных типов MIME:
< Расширение по умолчанию = "rels" ContentType = "application / vnd.openxmlformats-package.relationships + xml" />
- / _rels
- Папка корневого уровня "/ _rels" хранит отношения для пакета в целом. Папка «/ _rels» обычно содержит файл с именем «.rels». «/_rels/.rels» - это XML-файл, в котором хранятся начальные отношения на уровне пакета . Обычно при открытии файла на основе OPC приложения начинают с доступа к файлу «/_rels/.rels» для чтения начальных отношений на уровне пакета.
- [название] .rels
- У каждой части могут быть свои отношения. В _rels папки , где один идет , чтобы найти отношения для любой данной части в пакете. Чтобы найти взаимосвязи для конкретной части, нужно заглянуть в папку «_rels», которая является родственником этой части: если у части есть взаимосвязи, папка «_rels» будет содержать файл, имя исходной части которого имеет символ ". rels "добавлен к нему. Например, если у файла части типов контента есть какие-либо связи, внутри папки «/ _rels» будет файл с именем «[Content_Types] .xml.rels».
Все отношения (включая отношения, связанные с корневым пакетом) представлены в виде файлов XML. Если вы откроете файл «.rels» в текстовом редакторе, вы сможете просмотреть фактическую разметку XML, которая определяет все отношения, на которые нацелена эта часть. Типичный файл отношений содержит такой XML-код:
<Relationships xmlns = "http://schemas.openxmlformats.org/package/2006/relationships" > <Relationship Id = "R0" Type = "http://schemas.microsoft.com/xps/2005/06/fixedpresentation" Target = "/FixedDocumentSequence.fdseq" /> <Relationship Id = "R1" Type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail" Target = "/ Documents / 1 / Metadata / Page1_Thumbnail.JPG " /> </Relationships>
который определяет два отношения для корневого пакета, первое рассматривается как корневой пакет (здесь для раннего документа Microsoft XPS , до того, как он был стандартизирован как спецификация Open XML Paper в коллекции openxmlformats), а другой используется для ссылки альтернативная форма (здесь миниатюрное изображение первой страницы документа).
Основные части встроенных документов часто хранятся в папке с именем «/ Document» (которая может содержать сами подкаталоги, если файл содержит несколько связанных документов, каждый из которых имеет различные части), а также дополнительные части метаданных, которые не нужны для обработка основных частей документа хранится в папке с именем «/ Metadata»; однако эти фактические имена папок фактически указываются в данных в формате XML в файлах отношений « [partname] .rels», и спецификация OPC допускает любую организацию папок, которая удобна для приложения, и эти два имени папки не требуются.
Разделение на части [ править ]
Он побуждает разбивать документы на небольшие части. Это лучше для уменьшения эффекта повреждения файлов. [20] И лучше для доступа к данным: например, вся информация о стилях в одной части XML, каждый отдельный рабочий лист или таблица в своих разных частях. Это позволяет клиентам быстрее получать доступ и создавать меньше объектов, а также упрощает работу нескольких процессов над одним и тем же документом.
Относительное косвенное обращение [ править ]
В Open Packaging Conventions каждый файл, имеющий ссылку, имеет свой собственный файл _rels со списками косвенного обращения . Это упрощает вырезание и вставку некоторой информации со всеми связанными с ней ресурсами в некоторых случаях, обеспечивает определение области действия имен, чтобы исключить вероятность конфликта имен между файлами и т. Д.
Ссылки [ править ]
- ^ a b ИСО / МЭК 29500-2: 2008 - Информационные технологии - Описание документов и языки обработки - Форматы файлов Office Open XML - Часть 2: Соглашения об открытой упаковке , ISO
- ^ Ecma International TC45 (декабрь 2006 г.). «Стандартные форматы файлов Office Open XML ECMA-376» . Ecma International . Проверено 4 апреля 2007 .
- ^ "Статус пакета: исторический" . IANA . 2011-10-04 . Проверено 12 мая 2013 .
- ^ «Схемы универсального идентификатора ресурса (URI)» . Реестры протоколов . IANA . Проверено 12 мая 2013 . Внешняя ссылка в
|work=
( помощь ) - ^ Команда XPS (01.09.2006). «Соглашения об открытых упаковках и совместимость разметки Open XML» . Блог команды XPS . Проверено 4 апреля 2007 .
- ^ Рик Джелифф (2007-07-29). "Комментарий. Может ли файл быть одновременно ODF и Open XML?" . O'Reilly чистые XML-блоги.
- ^ Приключения в упаковке - Эпизод 1 , 18 мая 2009 г., Джек Дэвис, Блог группы разработчиков Microsoft Packaging: Open Packaging Conventions
- ^ http://3mf.io/wp-content/uploads/2016/03/3MFcoreSpec_1.1.pdf
- ^ "Архивная копия" . Архивировано из оригинала на 2014-09-03 . Проверено 30 августа 2014 .CS1 maint: archived copy as title (link)
- ^ «Формат файла CDDX - Принципиальная схема» . www.circuit-diagram.org .
- ^ "Архив CodePlex" . Архив CodePlex .
- ^ http://www.fdi-cooperation.com/technology.html
- ^ «IEC 62769-4: 2015 | Интернет-магазин IEC» . webstore.iec.ch .
- ^ https://msdn.microsoft.com/en-us/library/office/jj228622%28v=office.15%29.aspx
- ^ https://msdn.microsoft.com/en-us/library/windows/apps/hh464929(v=VS.85).aspx
- ↑ Уоррен, Том (11 февраля 2014 г.). «Windows Phone 8.1 включает универсальные приложения и множество обновлений функций» . Грань .
- ^ "Архивная копия" . Архивировано из оригинала на 2016-10-18 . Проверено 26 января 2015 .CS1 maint: archived copy as title (link)
- ^ "Формат файла SpaceClaim" . 2013-05-06. Архивировано из оригинала на 2013-09-15 . Проверено 14 августа 2017 .
- ^ https://msdn.microsoft.com/en-us/library/system.windows.dataformats.xamlpackage(v=vs.110).aspx
- ^ «Использование OPC для хранения ваших данных: страница 3» . www.devx.com .
Внешние ссылки [ править ]
- Скачать спецификацию ISO / IEC 29500-2: 2012
- OPC: новый стандарт упаковки ваших данных
- Основы соглашений об открытой упаковке
- Цифровые подписи OPC: руководство по применению для обеспечения безопасности общих критериев
- Блог команды разработчиков упаковки
- Open Packaging Conventions (OPC) Форум MSDN
- Модель адресации соглашений об открытой упаковке
- Документы по тестированию реализации OPC
- Проводник пакетов OPC для редактирования частей XML
- ISO 19165-1: 2018 ISO 19165 Географическая информация - Сохранение цифровых данных и метаданных - Часть 1: Основы