Open XML SDK 2.5 for Office についてAbout the Open XML SDK 2.5 for Office

Open XML は、さまざまなプラットフォームで複数のアプリケーションによって自由に実装できる、ワープロ ドキュメント、プレゼンテーション、およびスプレッドシートのオープン スタンダードです。Open XML は、Microsoft Office アプリケーションによって定義されているバイナリ形式でエンコードされた既存のワープロ ドキュメント、プレゼンテーション、およびスプレッドシートを忠実に表すように設計されています。Open XML が求められる理由は単純です。現在、非常に多くのドキュメントが存在していますが、残念ながら、それらのドキュメントに含まれる情報は、それらを作成したプログラムに密接に結び付けられています。Open XML 標準の目的は、Microsoft Office アプリケーションによって作成されたドキュメントを切り離し、独自の形式に関係なく、また、データを失うことなく、他のアプリケーションで操作できるようにすることです。Open XML is an open standard for word-processing documents, presentations, and spreadsheets that can be freely implemented by multiple applications on different platforms. Open XML is designed to faithfully represent existing word-processing documents, presentations, and spreadsheets that are encoded in binary formats defined by Microsoft Office applications. The reason for Open XML is simple: billions of documents now exist but, unfortunately, the information in those documents is tightly coupled with the programs that created them. The purpose of the Open XML standard is to de-couple documents created by Microsoft Office applications so that they can be manipulated by other applications independent of proprietary formats and without the loss of data.

Open XML パッケージの構造Structure of an Open XML Package

Open XML ファイルは、パッケージ化および圧縮され ZIP アーカイブに格納されます。ZIP ビューアーを使用して、Open XML ファイルの構造を表示できます。Open XML ドキュメントは、複数のドキュメント パーツで構築されています。ドキュメント パーツ間のリレーションシップは、それぞれのパーツに格納されています。ZIP 形式は、各パーツへのランダム アクセスをサポートしています。たとえば、アプリケーションは、プレゼンテーション間で、スライドのコンテンツを解析することなくスライドを移動できます。同様に、アプリケーションは、ワープロ ドキュメントのすべてのコメントを、そのコンテンツを解析することなく削除できます。An Open XML file is stored in a ZIP archive for packaging and compression. You can view the structure of any Open XML file using a ZIP viewer. An Open XML document is built of multiple document parts. The relationships between the parts are themselves stored in document parts. The ZIP format supports random access to each part. For example, an application can move a slide from one presentation to another presentation without parsing the slide content. Likewise, an application can strip all of the comments out of a word processing document without parsing any of its contents.

Open XML パッケージのドキュメント パーツは、XML マークアップとして作成されます。XML は、構造化されたプレーンテキストなので、テキスト リーダーを使用してドキュメント パーツのコンテンツを表示したり、XPath などのプロセスを使用してコンテンツを解析したりできます。The document parts in an Open XML package are created as XML markup. Because XML is structured plain text, you can view the contents of a document part using text readers or you can parse the contents using processes such as XPath.

構造上、Open XML ドキュメントは開いているパッケージ化の規則 (OPC) パッケージです。Structurally, an Open XML document is an Open Packaging Conventions (OPC) package. 前述のように、パッケージはドキュメント パーツのコレクションで構成されます。As stated previously, a package is composed of a collection of document parts. 各パーツには次のように、一連のセグメントまたはパス名で構成される部品名」と word/theme/theme1.xml」。Each part has a part name that consists of a sequence of segments or a pathname such as "/word/theme/theme1.xml." パッケージに含まれる、[コンテンツ_型] .xml パーツ パッケージ内のすべてのドキュメント パーツのコンテンツの種類を調べることができます。The package contains a [Content_Types].xml part that allows you to determine the content type of all document parts in the package. ソース パッケージまたはパーツの明示的なリレーションシップのセットは、.rels 拡張子で終了するリレーションシップ パーツに含まれています。A set of explicit relationships for a source package or part is contained in a relationships part that ends with the .rels extension.

ワープロ ドキュメントは WordprocessingML マークアップを使用して記述されます。詳細については、「WordprocessingML ドキュメントを操作する (Open XML SDK)」を参照してください。WordprocessingML ドキュメントはストーリーの集合で構成されます。各ストーリーは次のいずれかです。Word processing documents are described by using WordprocessingML markup. For more information, see Working with WordprocessingML documents (Open XML SDK). A WordprocessingML document is composed of a collection of stories where each story is one of the following:

  • メイン文書 (唯一の必須のストーリー)Main document (the only required story)

  • グロッサリ文書Glossary document

  • ヘッダーおよびフッターHeader and footer

  • コメントComments

  • テキスト ボックスText box

  • 脚注および文末脚注Footnote and endnote

プレゼンテーションは、PresentationML マークアップを使用して記述されます。詳細については、「PresentationML ドキュメントを操作する (Open XML SDK)」を参照してください。プレゼンテーション パッケージには、次のドキュメント パーツを含めることができます。Presentations are described by using PresentationML markup. For more information, see Working with PresentationML documents (Open XML SDK). Presentation packages can contain the following document parts:

  • スライド マスターSlide master

  • ノート マスターNotes master

  • 配布資料マスターHandout master

  • スライドのレイアウトSlide layout

  • 備考Notes

スプレッドシート ブックは、SpreadsheetML マークアップを使用して記述されます。詳細については、「SpreadsheetML ドキュメントを操作する (Open XML SDK)」を参照してください。ブック パッケージには以下を含めることができます。Spreadsheet workbooks are described by using SpreadsheetML markup. For more information, see Working with SpreadsheetML documents (Open XML SDK). Workbook packages can contain:

  • ブック パーツ (必須パーツ)Workbook part (required part)

  • 1 つ以上のワークシートOne or more worksheets

  • グラフCharts

  • テーブルTables

  • カスタム XMLCustom XML

Open XML SDK 1.0Open XML SDK 1.0

Open XML SDK のバージョン 1 は、Open XML パッケージの操作を容易にします。Open XML SDK アプリケーション プログラミング インターフェイス (API) には、Open XML パッケージで通常実行する一般的なタスクの多くがカプセル化されているため、数行のコードのみで複雑な操作を実行できます。一般的なタスクには次のものがあります。Version 1 of the Open XML SDK simplified the manipulation of Open XML packages. The Open XML SDK Application Programming Interface (API) encapsulates many of the common tasks that you typically perform on Open XML packages, so you can perform complex operations with just a few lines of code. Some common tasks:

  • 検索 - 数行のコードで、多数の Excel 2007 ワークシートから任意のデータを検索できます。Search—With a few lines of code, you can search a collection of Excel 2007 worksheets for some arbitrary data.

  • ドキュメント作成 - プログラムによって既存ドキュメントの文書パーツを結合して、ドキュメントを作成できます。たとえば、さまざまな PowerPoint 2007 プレゼンテーションからスライドを抜き出して、1 つのプレゼンテーションを作成できます。Document assembly—You can create documents by combining the document parts of existing documents programmatically. For example, you can pull slides from various PowerPoint 2007 presentations to create a single presentation.

  • 検証 - 数行のコードで、パッケージ内の文書パーツを検証したり、パッケージ全体をスキーマと照合して検証したりできます。Validation—With a few lines of code, you can validate the document parts in a package or validate an entire package against a schema.

  • データの更新 - Open XML オブジェクト モデルを使用して、複数のパッケージ内のデータを容易に変更できます。Data update—With the Open XML object model, you can easily modify the data in multiple packages.

  • プライバシー - 数行のコードで、ドキュメントを配布する前に、そのドキュメントからコメントやその他の個人情報を削除できます。Privacy—With a few lines of code, you can remove comments and other personal information from a document before it is distributed.

Open XML SDK 2.0 for Microsoft OfficeOpen XML SDK 2.0 for Microsoft Office

Open XML SDK 2.0 for Microsoft Office では、バージョン 1.0 で提供されていたパーツ クラスから、各パーツ内の XML コンテンツへの、厳密に型指定されたクラスのサポートが拡張されました。バージョン 1.0 で使用できた関数はすべて継続してサポートされています。バージョン 2.0 では、パーツ内の XML コンテンツに対してプログラムで操作できるようになりました。この SDK では、LINQ to XML の形式でのプログラミングがサポートされており、従来の W3C XML DOM プログラミング モデルを使用した場合に比べて、XML コンテンツに対するコーディングがはるかに容易になっています。The Open XML SDK 2.0 for Microsoft Office extended the strongly typed class support from the part classes, which are provided in version 1.0, to the XML content in each part. All functions available in version 1.0 are still supported. With version 2.0, you are able to program against the XML content inside the part. The SDK supports programming in the style of LINQ to XML which makes coding against the XML content much easier than the traditional W3C XML DOM programming model.

SDK は、次の一般的なタスクまたはシナリオに対応しています。The SDK supports the following common tasks/scenarios:

  • 厳密に型指定されたクラスとオブジェクト - 汎用の XML 機能に依存して XML を操作する場合、名前空間のほかに、要素、属性、値の正確な名前を把握しておくことが必要です。これに対して、Open XML SDK を使用すると、要素、属性、値を表すオブジェクトを操作するだけで同じソリューションを実現できます。すべてのスキーマの種類が、厳密に型指定された共通言語ランタイム (CLR) のクラスとして表現され、またすべての属性値が列挙体として表現されます。Strongly Typed Classes and Objects—Instead of relying on generic XML functionality to manipulate XML, which requires that you be aware of element/attribute/value spelling as well as namespaces, you can use the Open XML SDK to accomplish the same solution simply by manipulating objects that represent elements/attributes/values. All schema types are represented as strongly typed Common Language Runtime (CLR) classes and all attribute values as enumerations.

  • コンテンツの構築、検索、および操作 - LINQ テクノロジがそのまま SDK に組み込まれています。これによって、機能的なコンストラクトを実行できると共に、Open XML 要素を表すオブジェクトに対して直接ラムダ式クエリを実行できます。さらに、表、段落など、オブジェクトのコレクションに対するサポートが提供されているので、SDK を使用すると、コンテンツのスキャンおよび操作が容易になります。Content Construction, Search, and Manipulation—The LINQ technology is built directly into the SDK. As a result, you are able to perform functional constructs and lambda expression queries directly on objects representing Open XML elements. In addition, the SDK allows you to easily traverse and manipulate content by providing support for collections of objects, like tables and paragraphs.

  • 検証 - Open XML SDK 2.0 for Microsoft Office には検証機能が用意されており、Open XML ドキュメントをさまざまな Open XML 形式と照合して検証できます。Validation—The Open XML SDK 2.0 for Microsoft Office provides validation functionality, enabling you to validate Open XML documents against different variations of the Open XML Format.

Open XML SDK 2.5 for OfficeOpen XML SDK 2.5 for Office

Open XML SDK 2.5 では、Microsoft Office 2013 をサポートするための名前空間とメンバーを提供しています。Open XML SDK 2.5 でも、ISO/IEC 29500 厳密型 (Strict) 形式のファイルを読み取ることができます。厳密型フォーマットは、レガシーの機能を含まない移行型 (Transitional) 形式のサブセットであり、技術的な実装範囲が小さくなるため、理論上は、新たに実装する場合のサポートが容易になります。The Open XML SDK 2.5 provides the namespaces and members to support the Microsoft Office 2013. The Open XML SDK 2.5 can also read ISO/IEC 29500 Strict Format files. The Strict format is a subset of the Transitional format that does not include legacy features - this makes it theoretically easier for a new implementer to support since it has a smaller technical footprint.

SDK は、次の一般的なタスクまたはシナリオに対応しています。The SDK supports the following common tasks/scenarios:

  • Office 2013 プレビューのファイル形式のサポート - Open XML SDK 2.5 では、Open XML SDK 2.0 for Microsoft Office のクラスに加えて、新しい Office 2013 の機能による Open XML ファイル拡張子を操作するためのアプリケーションを記述および構築できる新しいクラスを提供しています。Support of Office 2013 Preview file format—In addition to the Open XML SDK 2.0 for Microsoft Office classes, Open XML SDK 2.5 provides new classes that enable you to write and build applications to manipulate Open XML file extensions of the new Office 2013 features.

  • ISO の厳密な文書ファイルを読み取り、Open XML SDK 2.5 は、ISO/IEC 29500 の厳密な形式のファイルを読み取ることができます。Reads ISO Strict Document File—Open XML SDK 2.5 can read ISO/IEC 29500 Strict Format files. OpenXmlPart Open XML SDK 2.5 のクラスにマップすることによってファイル内の各 XML を開く部分が読み込まれる Open XML SDK 2.5 API では、厳密な形式のファイルを開いたら、http://purl.oclc.org/ooxml/に対応する名前空間http://schemas.openxmlformats.org/名前空間です。When the Open XML SDK 2.5 API opens a Strict Format file, each Open XML part in the file is loaded to an OpenXmlPart class of the Open XML SDK 2.5 by mapping http://purl.oclc.org/ooxml/ namespaces to the corresponding http://schemas.openxmlformats.org/ namespaces.

  • Open XML SDK 2.0 for Microsoft Office に対する修正 - Open XML SDK 2.5 には、Open XML SDK 2.0 for Microsoft Office の既知の問題に対する修正が含まれています。これには、PowerPoint プレゼンテーション内の空白が消失する問題や、指定された引数が有効な値の範囲外であると報告されていた Word 文書のカスタム UI に関する問題が含まれます。Fixes to the Open XML SDK 2.0 for Microsoft Office—Open XML SDK 2.5 includes fixes to known issues in the Open XML SDK 2.0 for Microsoft Office. These include lost whitespaces in PowerPoint presentations and an issue with the Custom UI in Word documents where a specified argument was reported as being out of the range of valid values.

これらの事項や Open XML SDK 2.5 のその他の新機能の詳細については、「Open XML SDK 2.5 for Office の新機能」の記事を参照してください。You can find more information about these and other new features of the Open XML SDK 2.5 in the What's new in the Open XML SDK 2.5 for Office article.