PresentationML ドキュメントの構造 (Open XML SDK)

PresentationML ドキュメントのドキュメント構造は、<sldMaster> (スライド マスター)、<sldLayout> (スライド レイアウト)、<sld > (スライド)、および <theme> (テーマ) の各要素を含む <presentation> (プレゼンテーション) 要素で構成されます。 (Theme 要素は DrawingMLTheme パーツのルート要素です。) これらの要素は、有効なプレゼンテーション ドキュメントのための最低限の必須要素です。

さらに、プレゼンテーション ドキュメントには、<notes> (ノート スライド)、<handoutMaster> (配布資料マスター)、<sp> (図形)、<pic> (画像)、<tbl> (表)、およびスライドに関連するその他の要素が含まれる場合があります。 (表のさまざまな要素は、DrawingML スキーマで定義されています。)

このほか、 PresentationML ドキュメントに含めることのできる機能として、アニメーション、サウンド、ビデオ、およびスライド間の画面切り替えがあります。

1 つの PresentationML ドキュメントは、単一のパーツ内の 1 つの大きな本体としては格納されません。その代わりに、特定のグループの機能を実現する要素が別個のパーツに格納されます。たとえば、ドキュメント内のすべてのコメントが 1 つのコメント パーツに格納される一方で、各スライドはそれぞれ独自のパーツに格納されます。それぞれのスライドごとに個別の XML ファイルが作成されます。


重要なプレゼンテーション パーツ

Open XML SDK 2.5 を使用すると、PresentationML 要素に対応する厳密に型指定されたクラスを使用するドキュメント構造とコンテンツを作成できます。 これらのクラスは DocumentFormat.OpenXml.Presentation 名前空間にあります。 次の表に、プレゼンテーションの重要要素のうちのいくつかに対応するクラスのクラス名を示します。

パッケージ パーツ PresentationML の最上位要素 Open XML SDK 2.5 のクラス 説明*
プレゼンテーション <presentation> プレゼンテーション プレゼンテーション パーツのルート要素です。この要素内には、プレゼンテーション全体のプロパティを指定します。
プレゼンテーションのプロパティ <presentationPr> PresentationProperties プレゼンテーション プロパティ パーツのルート要素です。この要素は、プレゼンテーション全体の他のドキュメント プロパティが含まれる親要素になります。
スライド マスター <sldMaster> SlideMaster スライド マスター パーツのルート要素です。スライド マスター スライド内には、プレゼンテーション スライド内のオブジェクトおよびそれらに対応する書式設定を記述するすべての要素が含まれます。詳細については、「スライド マスターを操作する (Open XML SDK)」を参照してください。
スライドのレイアウト <sldLayout> SlideLayout スライド レイアウト パーツのルート要素です。この要素は、スライド マスター内で使用される各スライド レイアウトの関係情報を指定します。詳細については、「スライド レイアウトを操作する (Open XML SDK)」を参照してください。
テーマ <officeStyleSheet> テーマ テーマ パーツのルート要素です。この要素には、テーマを介してドキュメントに使用できるすべての各種書式設定オプションが含まれ、テーマで指定されたオブジェクトがドキュメント内で使用されるときの全体的な外観が定義されます。
スライド <sld> スライド スライド パーツのルート要素です。この要素は、スライド リスト内の 1 つのスライドを指定します。詳細については、「プレゼンテーション スライドを操作する (Open XML SDK)」を参照してください。
ノート マスター <notesMaster> NotesMaster ノート マスター パーツのルート要素です。ノート マスター スライド内には、ノート スライド内のオブジェクトおよびそれらに対応する書式設定を記述するすべての要素が含まれます。
ノート スライド <notes> NotesSlide ノート スライド パーツのルート要素です。この要素は、ノート スライドの存在および対応するデータを指定します。ノート スライド内には、スライド共通のすべての要素と、ノート要素固有の他のプロパティが含まれます。詳細については、「ノート スライドを操作する (Open XML SDK)」を参照してください。
配布資料マスター <handoutMaster> HandoutMaster 配布資料マスター パーツのルート要素です。配布資料マスター スライド内には、配布資料スライド内のオブジェクトおよびそれらに対応する書式設定を記述するすべての要素が含まれます。詳細については、「配付資料マスター スライドを操作する (Open XML SDK)」を参照してください。
コメント <cmLst> CommentList コメント パーツのルート要素です。この要素は、特定のスライドのコメントのリストを指定します。詳細については、「コメントを操作する (Open XML SDK)」を参照してください。
コメント作成者 <cmAuthorLst> CommentAuthorList コメント作成者パーツのルート要素です。この要素は、現在のドキュメント内のコメントの作成者のリストを指定します。詳細については、「コメントを操作する (Open XML SDK)」を参照してください。

*「説明」の情報は、ISO/IEC 29500 の仕様に基づいています。© ISO/IEC29500: 2008.

プレゼンテーション パーツ

PresentationML パッケージのメイン パーツは、< プレゼンテーション> のルート要素から始まります。 この要素にはプレゼンテーションが含まれており、プレゼンテーションはスライド リスト、スライド マスター リスト、ノート マスター リスト、配布資料マスター リストを参照します。 スライド リストは、プレゼンテーション中のすべてのスライドを参照します。 スライド マスター リストは、プレゼンテーションの中で使用されているスライド マスターのセット全体を参照します。 ノート マスターには、ノート ページの書式に関する情報が含まれています。 配布資料マスターは、配布資料の表示方法を記述します。 (配布資料はスライドを印刷したもので、プレゼンテーション参加者に後で参照してもらうために配布できます。)

プレゼンテーション プロパティ パーツ

プレゼンテーション プロパティ パーツのルート要素は、<presentationPr> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のプレゼンテーション プロパティ パーツについて、次のように説明されています。

この種類のパーツのインスタンスには、プレゼンテーションのすべてのプロパティが含まれます。

1 つのパッケージには厳密に 1 つのプレゼンテーション プロパティ パーツが含まれ、このパーツは、プレゼンテーション (§13.3.6) パーツからの暗黙的リレーションシップのターゲットになります。

例: 次のプレゼンテーション パーツ リレーションシップ アイテムには、ZIP アイテム presProps.xml に格納されているプレゼンテーション プロパティ パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId6"  
        Type="http://…/presProps" Target="presProps.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、presentationPr です。

例:

<p:presentationPr xmlns:p="…" …>  
    <p:clrMru>  
        …  
    </p:clrMru>  
    …  
</p:presentationPr>

プレゼンテーション プロパティ パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

プレゼンテーション プロパティ パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

スライド マスター パーツ

スライド マスター パーツのルート要素は、<sldMaster> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のスライド マスター パーツについて、次のように説明されています。

この種類のパーツのインスタンスには、プレゼンテーション内でこのスライド マスターから派生する各スライドに表示される書式設定、テキスト、およびオブジェクトのマスター定義が含まれます。

1 つのパッケージには、1 つまたは複数のスライド マスター パーツが含まれ、それぞれがプレゼンテーション (§13.3.6) パーツからの明示的リレーションシップのターゲットになり、また、このスライド マスターに基づいて定義されるスライド レイアウトがある場合はスライド レイアウト (§13.3.9) パーツからの暗黙的リレーションシップのターゲットになります。任意で、それぞれをスライド レイアウト (§13.3.9) パーツのリレーションシップのターゲットにもできます。

例: 次のプレゼンテーション パーツ リレーションシップ アイテムには、ZIP アイテム slideMasters/slideMaster1.xml に格納されているスライド マスター パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId1"  
        Type="http://…/slideMaster"
Target="slideMasters/slideMaster1.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、sldMaster でなければなりません。

例:

<p:sldMaster xmlns:p="…">  
    <p:cSld name="">  
        …  
    </p:cSld>  
    <p:clrMap … />  
</p:sldMaster>

スライド マスター パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

スライド マスター パーツは、ISO/IEC 29500 で定義される次のパーツへの暗黙的リレーションシップを持つことができます。

• 追加機能 (§15.2.1)
• 参考文献一覧 (§15.2.3)
• ユーザー設定の XML データ記憶域 (§15.2.4)
• テーマ (§14.2.7)
• サムネイル (§15.2.16)

スライド マスター パーツは、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを持つことができます。

• サウンド (§15.2.2)
• グラフ (§14.2.1)
• コンテンツ パーツ (§15.2.4)
• 図表: 図表の色 (§14.2.3)、図表データ (§14.2.4)、図表のレイアウト定義 (§14.2.5)、および図表スタイル (§14.2.6)
• 埋め込みコントロールの保持 (§15.2.9)
• 埋め込みオブジェクト (§15.2.10)
• 埋め込みパッケージ (§15.2.11)
• ハイパーリンク (§15.3)
• 画像 (§15.2.14)
• スライド レイアウト (§13.3.9)
• ビデオ (§15.2.15)

スライド マスター パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

スライド レイアウト パーツ

スライド レイアウト パーツのルート要素は、<sldLayout> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のスライド レイアウト パーツについて、次のように説明されています。

この種類のパーツのインスタンスには、このプレゼンテーション用のスライド レイアウト テンプレートの定義が含まれます。このテンプレートは、この種類のスライド作成時の描画オブジェクトの既定の外観と配置を定義します。

1 つのパッケージには、1 つまたは複数のスライド レイアウト パーツが含まれ、それらのパーツのそれぞれがスライド マスター (§13.3.10) パーツの明示的リレーションシップのターゲットになり、また、このスライド レイアウトに関連付けられる各スライド (§13.3.8) パーツからの暗黙的リレーションシップのターゲットになります。

例: 次のスライド マスター パーツ リレーションシップ アイテムには、ZIP アイテム ../slideLayouts/slideLayoutN.xml に格納されているスライド レイアウト パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId1"  
        Type="http://…/slideLayout"  
        Target="../slideLayouts/slideLayout1.xml"/>  
    <Relationship Id="rId2"  
        Type="http://…/slideLayout"  
        Target="../slideLayouts/slideLayout2.xml"/>  
    <Relationship Id="rId3"  
        Type="http://…/slideLayout"  
        Target="../slideLayouts/slideLayout3.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、sldLayout でなければなりません。

例:

<p:sldLayout xmlns:p="…" matchingName="" type="title" preserve="1">  
    <p:cSld name="Title Slide">  
        …  
    </p:cSld>  
    <p:clrMapOvr>  
        <a:masterClrMapping/>  
    </p:clrMapOvr>  
    <p:timing/>  
</p:sldLayout>

スライド レイアウト パーツでは、ISO/IEC 29500 で定義されている次のパーツとの暗黙的リレーションシップが可能です。

• 追加機能 (§15.2.1)
• 参考文献一覧 (§15.2.3)
• ユーザー設定の XML データ記憶域 (§15.2.4)
• スライド マスター (§13.3.10)
• テーマ オーバーライド (§14.2.8)
• サムネイル (§15.2.16)

スライド レイアウト パーツは、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを持つことができます。

• サウンド (§15.2.2)
• グラフ (§14.2.1)
• コンテンツ パーツ (§15.2.4)
• 図表: 図表の色 (§14.2.3)、図表データ (§14.2.4)、図表のレイアウト定義 (§14.2.5)、および図表スタイル (§14.2.6)
• 埋め込みコントロールの保持 (§15.2.9)
• 埋め込みオブジェクト (§15.2.10)
• 埋め込みパッケージ (§15.2.11)
• ハイパーリンク (§15.3)
• 画像 (§15.2.14)
• ビデオ (§15.2.15)

スライド レイアウト パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

スライド パーツ

スライド パーツのルート要素は、<sld> 要素です。

各スライドは、テキストおよびグラフィックスのほか、コメントとノートを含めることができ、レイアウトを持つことができ、また 1 つまたは複数のカスタム プレゼンテーションの一部にできます。コメントは、プレゼンテーション スライド デッキをメンテナンスする人向けの注釈です。ノートは、プレゼンテーションの発表者または参加者向けのリマインダーやメモです。

ISO/IEC 29500 仕様では、Open XML PresentationML Slide パーツについて次のように説明されています。

1 つのスライド パーツには、単一のスライドのコンテンツが含まれます。

1 つのパッケージにはスライドごとに 1 つのスライド パーツが含まれ、それらのパーツのそれぞれは、プレゼンテーション (§13.3.6) パーツからの明示的リレーションシップのターゲットになります。

例: PresentationML ドキュメントに 2 つのスライドが含まれるとします。 対応するプレゼンテーション パーツ リレーションシップ アイテムには、ZIP アイテム slides/slide1.xml および slides/slide2.xml に格納されているスライド パーツへの 2 つのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId2"  
        Type="http://…/slide" Target="slides/slide1.xml"/>  
    <Relationship Id="rId3"  
        Type="http://…/slide" Target="slides/slide2.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、sld である必要があります。

例: slides/slide1.xml には、次のものが含まれます。

<p:sld xmlns:p="…">  
    <p:cSld name="">  
        …  
    </p:cSld>  
    <p:clrMapOvr>  
        …  
    </p:clrMapOvr>  
    <p:timing>  
        <p:tnLst>  
            <p:par>  
                <p:cTn id="1" dur="indefinite" restart="never"
nodeType="tmRoot"/>  
            </p:par>  
        </p:tnLst>  
    </p:timing>  
</p:sld>

スライド パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

スライド パーツは、ISO/IEC 29500 で定義される次のパーツへの暗黙的リレーションシップを持つことができます。

• 追加機能 (§15.2.1)
• 参考文献一覧 (§15.2.3)
• コメント (§13.3.2)
• ユーザー設定の XML データ記憶域 (§15.2.4)
• ノート スライド (§13.3.5)
• テーマ オーバーライド (§14.2.8)
• サムネイル (§15.2.16)
• スライド レイアウト (§13.3.9)
• スライド同期データ (§13.3.11)

スライド パーツは、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを持つことができます。

• サウンド (§15.2.2)
• グラフ (§14.2.1)
• コンテンツ パーツ (§15.2.4)
• 図表: 図表の色 (§14.2.3)、図表データ (§14.2.4)、図表のレイアウト定義 (§14.2.5)、および図表スタイル (§14.2.6)
• 埋め込みコントロールの保持 (§15.2.9)
• 埋め込みオブジェクト (§15.2.10)
• 埋め込みパッケージ (§15.2.11)
• ハイパーリンク (§15.3)
• 画像 (§15.2.14)
• ユーザー定義タグ (§13.3.12)
• ビデオ (§15.2.15)

スライド パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

テーマ パーツ

テーマ パーツのルート要素は <officeStyleSheet> 要素です。

ISO/IEC 29500 仕様では、Open XML DrawingML のテーマ パーツについて、次のように説明されています。

このパーツの種類のインスタンスには、ドキュメントのテーマに関する情報が含まれます。ドキュメントのテーマは、配色、フォント パターン、および書式設定スキームの組み合わせです (書式設定スキームは文字飾りとも呼ばれます)。WordprocessingML ドキュメントでは、選択するテーマによって、特に見出しの色とスタイルが変化します。SpreadsheetML ドキュメントでは、選択するテーマによって、特にセルの内容およびグラフの色とスタイルが変化します。PresentationML ドキュメントでは、選択するテーマによって、特にスライド、配付資料、およびノートの書式設定が、関連付けられたマスターを介して変化します。

WordprocessingML または SpreadsheetML パッケージには、ゼロまたは 1 つのテーマ パーツが含まれます。このパーツは、メイン ドキュメント (§11.3.10) またはブック (§12.3.23) パーツ内の暗黙的リレーションシップのターゲットになります。PresentationML パッケージには、暗黙的リレーションシップを介して、配付資料マスター (§13.3.3)、ノート マスター (§13.3.4)、スライド マスター (§13.3.10)、またはプレゼンテーション (§13.3.6) パーツごとにゼロまたは 1 つのテーマ パーツが含まれます。

例: 次の WordprocessingML メイン文書パーツ リレーションシップ アイテムには、ZIP アイテム theme/theme1.xml に格納されているテーマ パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId4"  
        Type="http://…/theme" Target="theme/theme1.xml"/>  
    </Relationships>

このコンテンツ タイプのパーツのルート要素は、officeStyleSheet です。

例: theme1.xml には次のものが含まれます。ここで、clrScheme 要素、fontScheme 要素、および fmtScheme 要素の name 属性は、それぞれ、ドキュメントの配色、フォント パターン、および書式設定スキームに対応します。

<a:officeStyleSheet xmlns:a="…">  
    <a:baseStyles>  
        <a:clrScheme name="…">  
            …  
        </a:clrScheme>  
        <a:fontScheme name="…">  
            …  
        </a:fontScheme>  
        <a:fmtScheme name="…">  
            …  
        </a:fmtScheme>  
    </a:baseStyles>  
    <a:objectDefaults/>  
</a:officeStyleSheet>

テーマ パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

テーマ パーツには、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを含めることができます。

• 画像 (§15.2.14)

テーマ パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

ノート マスター パーツ

ノート マスター パーツのルート要素は <notesMaster> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のノート マスター パーツのことが次のように説明されています。

この種類のパーツのインスタンスには、すべてのノート ページのコンテンツと書式設定に関する情報が含まれます。

1 つのパッケージには、1 つ以下のノート マスター パーツが含まれ、このパーツは、ノート スライド (§13.3.5) パーツからの暗黙的リレーションシップのターゲットになり、また、プレゼンテーション (§13.3.6) パーツからの明示的リレーションシップのターゲットになります。

例: 次のプレゼンテーション パーツ リレーションシップ アイテムには、ZIP アイテム notesMasters/notesMaster1.xml に格納されているノート マスター パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId4"  
        Type="http://…/notesMaster"
Target="notesMasters/notesMaster1.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、notesMaster でなければなりません。

例:

<p:notesMaster xmlns:p="…">  
    <p:cSld name="">  
        …  
    </p:cSld\>  
    <p:clrMap … />  
</p:notesMaster>

ノート マスター パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

ノート マスター パーツは、ISO/IEC 29500 で定義される次のパーツへの暗黙的リレーションシップを持つことができます。

• 追加機能 (§15.2.1)
• 参考文献一覧 (§15.2.3)
• ユーザー設定の XML データ記憶域 (§15.2.4)
• テーマ (§14.2.7)
• サムネイル (§15.2.16)

ノート マスター パーツは、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを持つことができます。

• サウンド (§15.2.2)
• グラフ (§14.2.1)
• コンテンツ パーツ (§15.2.4)
• 図表: 図表の色 (§14.2.3)、図表データ (§14.2.4)、図表のレイアウト定義 (§14.2.5)、および図表スタイル (§14.2.6)
• 埋め込みコントロールの保持 (§15.2.9)
• 埋め込みオブジェクト (§15.2.10)
• 埋め込みパッケージ (§15.2.11)
• ハイパーリンク (§15.3)
• 画像 (§15.2.14)
• ビデオ (§15.2.15)

ノート マスター パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

ノート スライド パーツ

ノート スライド パーツのルート要素は <notes> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のノート スライド パーツについて、次のように説明されています。

この種類のパーツのインスタンスには、単一のスライドのノートが含まれます。

1 つのパッケージには、ノートが含まれるスライドごとに 1 つのノート スライド パーツが含まれます。ノート スライド パーツがある場合、それらのパーツのそれぞれが、スライド (§13.3.8) パーツからの暗黙的リレーションシップのターゲットになります。

例: 次のスライド パーツ リレーションシップ アイテムには、ZIP アイテム ../notesSlides/notesSlide1.xml に格納されているノート スライド パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId3"  
        Type="http://…/notesSlide"
Target="../notesSlides/notesSlide1.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、notes でなければなりません。

例:

<p:notes xmlns:p="…">  
    <p:cSld name="">  
         …  
    </p:cSld>  
    <p:clrMapOvr>  
        <a:masterClrMapping/>  
    </p:clrMapOvr>  
</p:notes>

ノート スライド パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

ノート スライド パーツは、ISO/IEC 29500 で定義される次のパーツへの暗黙的リレーションシップを持つことができます。

• 追加機能 (§15.2.1)
• 参考文献一覧 (§15.2.3)
• ユーザー設定の XML データ記憶域 (§15.2.4)
• ノート マスター (§13.3.4)
• テーマ オーバーライド (§14.2.8)
• サムネイル (§15.2.16)

ノート スライド パーツは、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを持つことができます。

• サウンド (§15.2.2)
• グラフ (§14.2.1)
• コンテンツ パーツ (§15.2.4)
• 図表: 図表の色 (§14.2.3)、図表データ (§14.2.4)、図表のレイアウト定義 (§14.2.5)、および図表スタイル (§14.2.6)
• 埋め込みコントロールの保持 (§15.2.9)
• 埋め込みオブジェクト (§15.2.10)
• 埋め込みパッケージ (§15.2.11)
• ハイパーリンク (§15.3)
• 画像 (§15.2.14)
• ビデオ (§15.2.15)

ノート スライド パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

配布資料マスター パーツ

配布資料マスター パーツのルート要素は <handoutMaster> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML の配布資料マスター パーツについて、次のように説明されています。

この種類のパーツのインスタンスには、プレゼンテーションの配布資料に印刷される、スライド、ノート、ヘッダーとフッターのテキスト、日付、またはページ番号の外観、配置、およびサイズが含まれます。

1 つのパッケージには 1 つ以下の配布資料マスター パーツが含まれ、このパーツは、プレゼンテーション (§13.3.6) パーツからの明示的リレーションシップのターゲットになります。

例: 次のプレゼンテーション パーツ リレーションシップ アイテムには、ZIP アイテム handoutMasters/handoutMaster1.xml に格納されている配布資料マスター パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId5"  
        Type="http://…/handoutMaster"  
        Target="handoutMasters/handoutMaster1.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、handoutMaster でなければなりません。

例:

<p:handoutMaster xmlns:p="…">  
    <p:cSld name="">  
        …  
    </p:cSld\>  
    <p:clrMap … >  
</p:handoutMaster>

配布資料マスター パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

配布資料マスター パーツは、ISO/IEC 29500 で定義される次のパーツへの暗黙的リレーションシップを持つことができます。

• 追加機能 (§15.2.1)
• 参考文献一覧 (§15.2.3)
• ユーザー設定の XML データ記憶域 (§15.2.4)
• テーマ (§14.2.7)
• サムネイル (§15.2.16)

配布資料マスター パーツは、ISO/IEC 29500 で定義される次のパーツへの明示的リレーションシップを持つことができます。

• サウンド (§15.2.2)
• グラフ (§14.2.1)
• コンテンツ パーツ (§15.2.4)
• 図表: 図表の色 (§14.2.3)、図表データ (§14.2.4)、図表のレイアウト定義 (§14.2.5)、および図表スタイル (§14.2.6)
• 埋め込みコントロールの保持 (§15.2.9)
• 埋め込みオブジェクト (§15.2.10)
• 埋め込みパッケージ (§15.2.11)
• ハイパーリンク (§15.3)
• 画像 (§15.2.14)
• ビデオ (§15.2.15)

配布資料マスター パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

コメント パーツ

コメント パーツのルート要素は <cmLst> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のコメント パーツのことが次のように説明されています。

この種類のパーツのインスタンスには、単一のスライドのコメントが含まれます。各コメントは、作成者 ID を介して作成者に関連付けられます。各コメントのインデックス番号と作成者 ID の組み合わせは一意です。

1 つのパッケージには、1 つ以上のコメントが含まれるスライドごとに 1 つのコメント パーツが含まれ、それらのパーツのそれぞれが、対応するスライド (§13.3.8) パーツからの暗黙的リレーションシップのターゲットになります。

例: 次のスライド パーツ リレーションシップ アイテムには、ZIP アイテム ../comments/comment2.xml に格納されているコメント パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId4"  
        Type="http://…/comments"  
        Target="../comments/comment2.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、cmLst でなければなりません。

例: コメント パーツに 3 つのコメントが含まれており、そのうちの 2 つがある作成者により、またもう 1 つが別の作成者により、それぞれ示されている日付および時刻に作成されたとします。 作成者ごとにインデックス番号が割り当てられており、その作成者の最初のコメントが 1 であるとします。

<p:cmLst xmlns:p="…" …>  
    <p:cm authorId="0" dt="2005-11-13T17:00:22.071" idx="1">  
        <p:pos x="4486" y="1342"/>  
        <p:text>Comment text goes here.</p:text>  
    </p:cm>  
    <p:cm authorId="0" dt="2005-11-13T17:00:34.849" idx="2">  
        <p:pos x="3607" y="1867"/>  
        <p:text>Another comment's text goes here.</p:text>  
    </p:cm>  
    <p:cm authorId="1" dt="2005-11-15T00:06:46.919" idx="1">  
        <p:pos x="1493" y="2927"/>  
        <p:text>comment …</p:text>  
    </p:cm>  
</p:cmLst>

コメント パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

コメント パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.

コメント作成者パーツ

コメント作成者パーツのルート要素は <cmAuthorLst> 要素です。

ISO/IEC 29500 仕様では、Open XML PresentationML のコメント作成者パーツについて、次のように説明されています。

この種類のパーツのインスタンスには、ドキュメントにコメントを追加した各作成者に関する情報が含まれます。この情報には、作成者の名前、イニシャル、一意の作成者 ID、最後に使用されたコメント インデックス カウント、および表示色が含まれます (表示色は、コメント表示時に別の作成者のコメントと区別するために使用できる色です)。

1 つのパッケージには 1 つ以下のコメント作成者パーツが含まれます。このパーツが存在する場合、プレゼンテーション (§13.3.6) パーツからの暗黙的リレーションシップのターゲットになります。

例: 次のプレゼンテーション パーツ リレーションシップ アイテムには、ZIP アイテム commentAuthors.xml に格納されているコメント作成者パーツへのリレーションシップが含まれます。

<Relationships xmlns="…">  
    <Relationship Id="rId8"  
        Type="http://…/commentAuthors" Target="commentAuthors.xml"/>  
</Relationships>

このコンテンツ タイプのパーツのルート要素は、cmAuthorLst でなければなりません。

例: 2 人のユーザー Mary Smith と Peter Jones が、この文書へのコメントを作成したとします。 Mary Smith のイニシャルは mas、作成者 ID は 0、コメントの表示色インデックスは 0 です。 Mary が最後に使用したコメント インデックスの値は 3 なので、次に使用するコメント インデックスは 4 です。 Peter Jones のイニシャルは pjj、作成者-ID は 1、コメントの表示色インデックスは

  1. Peter が最後に使用したコメント インデックスの値は 1 なので、次に使用するコメント インデックスは 2 です。
<p:cmAuthorLst xmlns:p="…" …>  
    <p:cmAuthor id="0" name="Mary Smith" initials="mas" lastIdx="3"
clrIdx="0"/>  
    <p:cmAuthor id="1" name="Peter Jones" initials="pjj" lastIdx="1"
clrIdx="1"/>  
</p:cmAuthorLst>

コメント作成者パーツは、リレーションシップ パーツが含まれる (構文的には、Relationship 要素の TargetMode 属性が Internal である) パッケージ内に配置します。

コメント作成者パーツは、ISO/IEC 29500 で定義されるその他のパーツに対する暗黙的または明示的リレーションシップを持ちません。

© ISO/IEC29500: 2008.


最小プレゼンテーション ファイルの構造

PresentationML ドキュメントのパーツのことを理解したところで、それらのパーツのいくつかがどう実装されているのか、また実際のプレゼンテーション ファイルにどうつながるのかを考えてみましょう。 「[方法] ファイル名を指定してプレゼンテーション ドキュメントを作成する (Open XML SDK)」の記事で示されているように、Open XML API を使用することにより、最低限のプレゼンテーション ファイルを、パートごとに作成していくことができます。

最小プレゼンテーション ファイルは、プレゼンテーション パーツ (presentation.xml)、プレゼンテーション プロパティ パーツ (presProps.xml)、スライド マスター パーツ (slideMaster.xml)、スライド レイアウト パーツ (slideLayout.xml)、およびテーマ パーツ (theme.xml) で構成されます。任意で、1 つまたは複数のスライド パーツ (slide.xml) を含めます。

プレゼンテーション ドキュメントのパッケージ構造には、パーツ間の参照が含まれ、その中には循環参照もあります。たとえば、スライド レイアウトはスライド マスターを参照し、スライド マスターはスライド レイアウトを参照します。


生成される PresentationML XML コード

Open XML SDK 2.5 コードを実行してプレゼンテーションを生成したら, .zip パッケージのコンテンツを確認して PresentationML XML コードを表示できます。.zip パッケージを表示するには、最小プレゼンテーションの拡張子を .pptx から .zip に変更します。.zip パッケージには、最小プレゼンテーションを構成するパーツが含まれています。

図 1 に、スライド 1 個を内容とする最低限のプレゼンテーションの .zip パッケージの ppt フォルダー下の構造を示します。

図 1. 最小プレゼンテーション フォルダー構造

最小プレゼンテーション フォルダー構造 presentation.xml ファイルには、プレゼンテーション内のスライドを参照する <sld> (スライド) 要素が含まれてます。 各スライドは、スライド ID およびリレーションシップ ID によりプレゼンテーションに関連付けられています。 slideID は、パッケージ内でスライドを識別するために使用される識別子 (ID) であり、プレゼンテーション内で一意である必要があります。 id 属性は、スライドに関連付けられているスライド パーツの定義を識別するリレーションシップ ID です。 スライド パーツの詳細については、「プレゼンテーション スライドを操作する (Open XML SDK)」を参照してください。

次の XML コードは、単一のスライドが含まれるプレゼンテーション ドキュメントのプレゼンテーション パーツを表す PresentationML です。このコードは、最小プレゼンテーションを作成する Open XML SDK 2.5 コードを実行すると生成されます。

    <?xml version="1.0" encoding="utf-8"?>
    <p:presentation xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
      <p:sldMasterIdLst>
        <p:sldMasterId id="2147483648"
                       r:id="rId1"
                       xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" />
      </p:sldMasterIdLst>
      <p:sldIdLst>
        <p:sldId id="256"
                 r:id="rId2"
                 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" />
      </p:sldIdLst>
      <p:sldSz cx="9144000"
               cy="6858000"
               type="screen4x3" />
      <p:notesSz cx="6858000"
                 cy="9144000" />
      <p:defaultTextStyle />
    </p:presentation>

次の XML コードは、プレゼンテーション ドキュメントのリレーションシップ パーツを表す PresentationML です。このコードは、最小プレゼンテーションを作成する Open XML SDK 2.5 コードを実行すると生成されます。

    <?xml version="1.0" encoding="utf-8"?>
    <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
      <Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide"
                    Target="/ppt/slides/slide.xml"
                    Id="rId2" />
      <Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
                    Target="/ppt/slideLayouts/slideMasters/slideMaster.xml"
                    Id="rId1" />
      <Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
                    Target="/ppt/slideLayouts/slideMasters/theme/theme.xml"
                    Id="rId5" />
    </Relationships>

次の XML コードは、プレゼンテーション ドキュメントのスライド パーツを表す PresentationML です。プレゼンテーション内のスライドごとに、関連付けられたスライド パーツが 1 つずつあります。このコードは、最小プレゼンテーションを作成する Open XML SDK 2.5 コードを実行すると生成されます。

    <?xml version="1.0" encoding="utf-8"?>
    <p:sld xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
      <p:cSld>
        <p:spTree>
          <p:nvGrpSpPr>
            <p:cNvPr id="1"
                     name="" />
            <p:cNvGrpSpPr />
            <p:nvPr />
          </p:nvGrpSpPr>
          <p:grpSpPr>
            <a:xfrm xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
          </p:grpSpPr>
          <p:sp>
            <p:nvSpPr>
              <p:cNvPr id="2"
                       name="Title 1" />
              <p:cNvSpPr>
                <a:spLocks noGrp="1"
                           xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
              </p:cNvSpPr>
              <p:nvPr>
                <p:ph />
              </p:nvPr>
            </p:nvSpPr>
            <p:spPr />
            <p:txBody>
              <a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
              <a:lstStyle xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
              <a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
                <a:endParaRPr lang="en-US" />
              </a:p>
            </p:txBody>
          </p:sp>
        </p:spTree>
      </p:cSld>
      <p:clrMapOvr>
        <a:masterClrMapping xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
      </p:clrMapOvr>
    </p:sld>

一般的なプレゼンテーション シナリオ

一般的なプレゼンテーションは最小構成とは異なります。一般には、1 つのプレゼンテーションに複数のスライドが含まれ、それぞれのスライドがスライド レイアウトとスライド マスターを参照し、コメントが含まれることもあります。また、プレゼンテーションに配布資料やノート スライドが含まれ、それぞれが個別のパーツで参照されることもあります。このような追加パーツも、プレゼンテーション ドキュメントの .zip パッケージに含まれます。

図 2 は、一般的なプレゼンテーションでよく使用される要素を示しています。

図 2. PresentationML ファイルの要素

PresentationML ファイルの要素


関連項目

概念

[方法] ファイル名を指定してプレゼンテーション ドキュメントを作成する (Open XML SDK)

プレゼンテーションを操作する (Open XML SDK)

プレゼンテーション スライドを操作する (Open XML SDK)

スライド マスターを操作する (Open XML SDK)

スライド レイアウトを操作する (Open XML SDK)