| 略語 | OPCC の |
|---|---|
| ネイティブ名 | Office Open XML ファイル形式 - オープン パッケージ コンベンション |
| 状態 | 公開済み |
| 初版 | 2006年12月7日 |
| 最新バージョン | ISO/IEC 29500-2:2021 2021年8月 |
| 組織 | マイクロソフト、Ecma、ISO / IEC |
| 基本基準 | ECMA-376、ISO/IEC 29500-2 |
| 関連規格 | XML、ZIP |
| ドメイン | 電子文書 |
| Webサイト | ECMA-376、 ISO/IEC 29500-2:2021 |
Open Packaging Conventions (OPC) は、当初Microsoftによって作成されたコンテナ ファイル テクノロジで、Open XML Paper Specification (OpenXPS) ドキュメントなどの単一のエンティティを形成するXMLファイルと非 XML ファイルの組み合わせを保存するために作成されました。OPC ベースのファイル形式は、ドキュメントに埋め込まれた独立したファイル エンティティをそのまま残すという利点と、通常の XML の使用に比べてファイル サイズがはるかに小さいという利点を兼ね備えています。[疑わしい–議論]
仕様
OPCは、Office Open XML標準ISO / IEC 29500:2008およびECMA -376のパート2で規定されています。[1] [2]
ISO/IEC 29500-2:2008 仕様と ECMA-376 の第 2 版は、PKWARE, Inc.の.ZIP ファイル形式仕様バージョン 6.2.0 (2004) を規範的に参照し、規範的な説明を補足しています。注: ECMA-376 の古い第 1 版は、新しい PKWARE Inc. の「.ZIP ファイル形式仕様」バージョン 6.2.1 (2005) を参考 (つまり、非規範的) に参照しています。[1] ZIP 形式は国際標準で指定されていませんが、コミュニティと開発者の間で広く受け入れられています。
マイクロソフトは、2006 年にインターネット エンジニアリング タスク フォースに、OPC ベースのパッケージへの URI 参照に使用される「パック」URI スキーム( ) の草案を提出しました。草案は 2009 年に期限切れとなり、指定された構文は URI スキームのインターネット標準(STD 66、RFC 3986) と互換性がありません。[3]このスキームは現在、歴史的としてリストされています。[4]pack://
ISO 19165:1-2018 では、オープン アーカイブ情報システムで定義されている地理空間パッケージを実装するために、オープン パッケージング コンベンションの使用を推奨しています。
使用法
XML Paper Specification (XPS) [5]とOffice Open XML (OOXML) はどちらもOpen Packaging Conventions (OPC) を使用しており、共通ZIP形式のプロファイルを提供しています。ZIP パッケージ内のファイルには、XML マークアップのデータとドキュメント コンテンツに加えて、PNG、BMP、AVI、PDF、RTFなどの形式のテキスト ファイルやバイナリ ファイル、さらには既にパッケージ化されたODFファイルも含めることができます。OPC では、ZIP アーカイブ内のバイナリ ファイルと XML ファイルの位置の独立性を可能にする命名規則と間接参照方法も定義されています。
OPCファイルは一般的なZIPユーティリティを使用して開くことができます。OPCでは間接参照、チャンク化、相対間接参照が可能です。[6]
OPC を使用するファイル形式
OPCは多くの新しいファイル形式の基礎技術である: [7]
プログラミング
OPC は、 System.IO.Packaging名前空間によってMicrosoft .NET Framework 3.0でネイティブにサポートされています。他の言語用のオープン ソース ライブラリが存在します。
Windows 7以降、OPC は、パッケージ API と総称される一連 のCOMインターフェイスを通じてWindows APIでもネイティブにサポートされるようになりました。
あるいは、ZIP に正しいファイルが含まれていて規則に従っている限り、ZIP ライブラリを使用して OPC ファイルを作成および開くこともできます。
パッケージ、部品、関係

OPC 用語では、パッケージという用語はZIP アーカイブに対応し、パーツという用語はZIP 内に格納されているファイルに対応します。パッケージ内のすべてのパーツには、一意の URI 準拠のパーツ名と、MIME メディア タイプ形式で表現される指定されたコンテンツ タイプがあります。パーツのコンテンツ タイプは、パーツに格納されるデータのタイプを明示的に定義し、ファイル拡張子に固有の重複とあいまいさの問題を軽減します。
OPC パッケージには、パッケージ、パーツ、外部リソース間の関連を定義するリレーションシップも含めることができます。ディレクトリとパーツの階層に加えて、OPC パッケージでは通常、リレーションシップを使用して、リレーションシップ関連の有向グラフを通じてコンテンツにアクセスします。リレーションシップは、次の 4 つの要素で構成されます。
- 識別子 (ID)
- オプションのソース(パッケージまたはパッケージ内の一部)
- 関係タイプ(関係のタイプを定義する URI スタイルの式)
- ターゲット(パッケージ内の別の部分または外部リソースへのURI )
OPC パッケージには、あらゆるタイプのデータ (テキスト、画像、XML、バイナリなど) を含むパーツを保存できます。ただし、拡張子「.rels」は、「/_rels」サブフォルダ内の関係メタデータを保存するために予約されています。サブフォルダ名「_rels」、そのようなディレクトリ内のファイル拡張子「.rels」、および任意のフォルダ内のファイル名「[Content_Types].xml」は、OPC パッケージに保存されるファイル用に予約されている 3 つの名前のみです。
- /[Content_Types].xml ファイル
- このファイルは、パッケージに保存されているすべてのパーツのMIME メディア タイプを定義します。"/[Content_Types].xml" ファイルは、ファイル拡張子に基づくデフォルトのマッピングと、ファイル拡張子のデフォルトとは異なるコンテンツ タイプを持つ特定のパーツのオーバーライドを定義します。たとえば、定義されている MIME タイプの 1 つは次のとおりです。
<デフォルトの拡張子 = "rels"コンテンツタイプ = "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 コードが含まれています。
<リレーションシップxmlns= "http://schemas.openxmlformats.org/package/2006/relationships" > <リレーションシップID= "R0"タイプ= "http://schemas.microsoft.com/xps/2005/06/fixedrepresentation"ターゲット= "/FixedDocumentSequence.fdseq" /> <リレーションシップID= "R1"タイプ= "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail"ターゲット= "/Documents/1/Metadata/Page1_Thumbnail.JPG" /> < /リレーションシップ>
これはルート パッケージの 2 つのリレーションを定義します。最初のリレーションはルート パッケージと見なされ (ここでは、openxmlformats コレクション内でOpen XML Paper Specificationとして標準化される前の初期のMicrosoft XPSドキュメント用)、もう 1 つは代替フォームを参照するために使用されます (ここでは、ドキュメントの最初のページのサムネイル レンダリングされたイメージ)。
埋め込まれたドキュメントの主要部分は、多くの場合、「/Document」という名前のフォルダーに保存されます (ファイルに、それぞれさまざまな部分を持つ複数の関連ドキュメントが含まれている場合は、サブディレクトリ自体が含まれる場合があります)。また、ドキュメントの主要部分の処理に必要のないオプションのメタデータ部分は、「/Metadata」という名前のフォルダーに保存されます。ただし、これらの実際のフォルダー名は、実際には「[partname] .rels」関係ファイルの XML 形式のデータ内で指定されており、OPC 仕様では、アプリケーションに便利な任意のフォルダー構成が許可されているため、これらの 2 つのフォルダー名は必須ではありません。
チャンキング
ドキュメントを小さなチャンクに分割することを推奨します。これにより、ファイル破損の影響を軽減できます。[21]また、データアクセスも向上します。たとえば、すべてのスタイル情報を 1 つの XML パーツにまとめ、各ワークシートまたはテーブルをそれぞれ別のパーツにまとめます。これにより、クライアントのアクセスが高速化され、オブジェクトの作成が少なくなり、複数のプロセスが同じドキュメントで作業しやすくなります。
相対間接
Open Packaging Conventions では、参照を持つ各ファイルには、間接リストを含む独自の_relsファイルがあります。これにより、場合によっては、関連するすべてのリソースを含む一部の情報の切り取りと貼り付けが容易になり、ファイル間で名前が衝突する可能性を排除するための名前スコープが提供されます。
参考文献
- ^ ab ISO/IEC 29500-2:2008 - 情報技術 - 文書記述および処理言語 - Office Open XML ファイル形式 - パート 2: オープン パッケージング規約、ISO
- ^ Ecma International TC45 (2006 年 12 月)。「標準 ECMA-376 Office Open XML ファイル形式」。Ecma International。2007年 4 月 4 日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ 「pack Status: historical」. IANA . 2011-10-04 . 2013-05-12閲覧。
- ^ 「Uniform Resource Identifier (URI) Schemes」。プロトコルレジストリ。IANA 。2013年5月12日閲覧。
{{cite web}}:外部リンク(ヘルプ)|work= - ^ XPS チーム (2006-09-01)。「Open Packaging Conventions と Open XML Markup Compatibility」。XPS チーム ブログ。2007-04-04に取得。
- ^ Rick Jeliffe (2007-07-29)。「ファイルは同時に ODF と Open XML にできますか?」に関するコメント。O'Reilly net XML ブログ。
- ^ パッケージングの冒険 - エピソード 1、2009 年 5 月 18 日、Jack Davis 著、Microsoft パッケージング チーム ブログ: Open Packaging Conventions
- ^ 「アーカイブコピー」(PDF) 。 2016年8月7日時点のオリジナル(PDF)からアーカイブ。 2016年5月26日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ 「AutoCAD DWF ファイルとは | DWG から DGN」。2014 年 9 月 3 日時点のオリジナルよりアーカイブ。2014 年 8 月 30 日閲覧。
- ^ 「CDDX ファイル形式 - 回路図」。www.circuit-diagram.org。
- ^ 「CodePlex アーカイブ」。CodePlexアーカイブ。
- ^ 「テクノロジー - FDI-Cooperation」www.fdi-cooperation.com。2014年9月19日時点のオリジナルよりアーカイブ。
- ^ 「IEC 62769-4:2015 | IEC ウェブストア」。webstore.iec.ch。
- ^ 「開発者ツール、技術ドキュメント、コーディング例」。
- ^ 「アプリ パッケージと展開 (Windows ランタイム アプリ) - Windows アプリ開発」。2015 年 10 月 6 日。
- ^ Warren, Tom (2014 年 2 月 11 日)。「Windows Phone 8.1 にはユニバーサル アプリと多数の機能更新が含まれています」。The Verge。
- ^ “コンテンツが移動されました (Windows)”. 2016年10月18日時点のオリジナルよりアーカイブ。2015年1月26日閲覧。
- ^ 資産管理シェルの詳細 - パート 1
- ^ 「SpaceClaim ファイル形式」 2013-05-06. 2013-09-15 にオリジナルからアーカイブ。2017-08-14に閲覧。
- ^ 「DataFormats.XamlPackage フィールド (System.Windows)」。
- ^ 「OPC を使用して独自のデータを保存する: ページ 3」。www.devx.com。
外部リンク
- 仕様書 ISO/IEC 29500-2:2012 をダウンロード
- OPC: データをパッケージ化する新しい標準
- オープンパッケージコンベンションの基本
- OPC デジタル署名: コモン クライテリア セキュリティのアプリケーション ガイドライン
- パッケージングチームのブログ
- オープン パッケージング コンベンション (OPC) MSDN フォーラム
- オープンパッケージング規約のアドレス指定モデル
- OPC実装テスト文書
- XML 部分を編集するための OPC パッケージ エクスプローラー
- ISO 19165-1:2018 ISO 19165 地理情報 – デジタルデータとメタデータの保存 – パート 1: 基礎
