Partager via


Structure d’un document PresentationML

La structure de document d’un document PresentationML se compose de l’élément <presentation> (Presentation) qui contient <les éléments sldMaster> (Masque des diapositives), <sldLayout> (Disposition des diapositives), <sld > (Diapositive) et <theme> (Theme) qui référencent les diapositives de la présentation. (L’élément Theme est l’élément racine du composant DrawingMLTheme.) Ces éléments sont les éléments minimaux requis pour un document de présentation valide.

En outre, un document de présentation peut contenir des <notes> (diapositive notes), <handoutMaster> (masque de document), <sp> (Forme), <pic> (Image), <tbl> (Tableau) et d’autres éléments liés aux diapositives. (Les éléments spécifiques aux tableaux sont définis dans le schéma DrawingML correspondant.)

Un document PresentationML peut inclure d’autres fonctionnalités : animation, audio, vidéo et transitions entre les diapositives.

Un document PresentationML n’est pas stocké sous la forme d’un corps de grande taille dans un même composant. Au lieu de cela, les éléments qui implémentent certains groupes de fonctionnalités sont stockés dans des composants distincts. Par exemple, tous les commentaires d’un document sont stockés dans un même composant Commentaires, alors que chaque diapositive a son propre composant. Un fichier XML distinct est créé pour chaque diapositive.

Composants de présentation importants

À l’aide du Kit de développement logiciel (SDK) Open XML, vous pouvez créer une structure de document et un contenu qui utilisent des classes fortement typées qui correspondent aux éléments PresentationML. Vous trouverez ces classes dans l’espace de noms DocumentFormat.OpenXml.Presentation . Le tableau suivant répertorie les noms des classes qui correspondent à certains des éléments de présentation importants.

Composant du package Élément PresentationML de niveau supérieur Classe du Kit de développement logiciel (SDK) Open XML Description*
Présentation <présentation> Presentation Élément racine du composant Présentation. Cet élément spécifie de manière intrinsèque les propriétés fondamentales d’une présentation.
Propriétés de la présentation <presentationPr> Presentationproperties Élément racine du composant Propriétés de la présentation. Cet élément sert d’élément parent contenant des propriétés de document supplémentaires à l’échelle de la présentation.
Masque des diapositives <sldMaster> SlideMaster Élément racine du composant Masque des diapositives. Un masque des diapositives contient tous les éléments qui décrivent les objets et leur mise en forme correspondante au sein d’une diapositive de présentation. Pour plus d’informations, consultez Utilisation des masques des diapositives.
Mise en page des diapositives <sldLayout> SlideLayout Élément racine du composant Mise en page des diapositives. Cet élément spécifie les informations de relation de chaque mise en page des diapositives utilisée dans le masque des diapositives. Pour plus d’informations, consultez Utilisation des mises en page de diapositives.
Thème <officeStyleSheet> Theme Élément racine du composant Thème. Cet élément contient toutes les différentes options de mise en forme disponibles pour un document basé sur un thème ; en outre, il définit l’apparence globale du document lorsque des objets à thème sont utilisés dans ce dernier.
Diapositive <Sld> Slide Élément racine du composant Diapositive. Cet élément spécifie une diapositive dans une liste de diapositives. Pour plus d’informations, consultez Utilisation des diapositives de présentation.
Masque des pages de notes <Notesmaster> NotesMaster Élément racine du composant Masque des pages de notes. Un masque des pages de notes contient tous les éléments qui décrivent les objets et leur mise en forme correspondante au sein d’une diapositive de notes.
Diapositive de notes <Notes> Notesslide Élément racine du composant Diapositive de notes. Cet élément spécifie l’existence d’une diapositive de notes et de ses données correspondantes. Une diapositive de notes contient tous les éléments de diapositive communs, ainsi que les propriétés supplémentaires spécifiques à l’élément notes. Pour plus d’informations, consultez Utilisation des diapositives de notes.
Masque du document <Handoutmaster> HandoutMaster Élément racine du composant Masque du document. Un masque du document contient tous les éléments qui décrivent les objets et leur mise en forme correspondante au sein d’une diapositive de document. Pour plus d’informations, consultez Utilisation du document master diapositives.
Comments <cmLst> Commentlist Élément racine du composant Commentaires. Cet élément spécifie une liste de commentaires pour une diapositive particulière. Pour plus d’informations, consultez Utilisation des commentaires.
Auteurs de commentaires <cmAuthorLst> Commentauthorlist Élément racine du composant Auteurs de commentaires. Cet élément spécifie une liste des auteurs des commentaires contenus dans le document actif. Pour plus d’informations, consultez Utilisation des commentaires.

*Descriptions adaptées de la spécification ISO/IEC 29500 , © ISO/IEC29500 : 2008.

Composant Présentation

La partie main d’un package PresentationML commence par un <élément racine de présentation>. Cet élément contient une présentation, qui fait référence à son tour à une liste des diapositives, une liste des masques des diapositives, une liste des masques des pages de notes et une liste des masques du document. La liste des diapositives fait référence à toutes les diapositives de la présentation. La liste des masques des diapositives fait référence à tous les masques des diapositives utilisés dans la présentation. Le masque des pages de notes contient des informations sur la mise en forme des pages de notes. Le masque du document décrit l’apparence d’un document. (Un document est un ensemble imprimé de diapositives qui peut être distribué aux personnes de l’audience pour servir ultérieurement de référence.)

Composant Propriétés de la présentation

L’élément racine du composant Propriétés de la présentation est l’élément <presentationPr> .

La spécification ISO/IEC 29500 décrit le composant Propriétés de présentation Open XML PresentationML comme suit :

Une instance de ce type de composant contient l’ensemble des propriétés de la présentation.

Un package ne doit contenir qu’un seul composant Propriétés de la présentation, et ce composant doit être la cible d’une relation implicite établie par le composant Présentation (§13.3.6).

Exemple : l’élément de relation de partie de présentation suivant contient une relation avec le composant Propriétés de la présentation, qui est stocké dans l’élément ZIP presProps.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être presentationPr. Exemple :

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

Un composant Propriétés de la présentation doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Propriétés de la présentation ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Masque des diapositives

L’élément racine du composant Masque des diapositives est l’élément <sldMaster> .

La spécification ISO/IEC 29500 décrit le composant Masque des diapositives Open XML PresentationML comme suit :

Une instance de ce type de composant contient la définition principale de la mise en forme, du texte et des objets présents sur chaque diapositive de la présentation basée sur ce masque des diapositives.

Un package doit contenir un ou plusieurs composants Masque des diapositives, dont chacun doit être la cible d’une relation explicite établie par le composant Présentation (§13.3.6) et d’une relation implicite établie par un composant Mise en page des diapositives (§13.3.9), où cette mise en page des diapositives est définie d’après ce masque des diapositives. Par ailleurs, chaque composant peut éventuellement être la cible d’une relation dans un composant Mise en page des diapositives (§13.3.9).

Exemple : l’élément de relation de partie de présentation suivant contient une relation avec le composant Masque des diapositives, qui est stocké dans l’élément ZIP slideMasters/slideMaster1.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être sldMaster. Exemple :

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

Un composant Masque des diapositives doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Masque des diapositives est autorisé à avoir des relations implicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Caractéristiques supplémentaires (§15.2.1)
  • Bibliographie (§15.2.3)
  • Stockage de données XML personnalisé (§15.2.4)
  • Thème (§14.2.7)
  • Miniature (§15.2.16)

Un composant Masque des diapositives est autorisé à avoir des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Audio (§15.2.2)
  • Graphique (§14.2.1)
  • Partie de contenu (§15.2.4)
  • Diagrammes : Couleurs de diagramme (§14.2.3), Données de diagramme (§14.2.4), Définition de disposition de diagramme (§14.2.5) et Styles de diagramme (§14.2.6)
  • Persistance des contrôles incorporés (§15.2.9)
  • Objet incorporé (§15.2.10)
  • Package incorporé (§15.2.11)
  • Lien hypertexte (§15.3)
  • Image (§15.2.14)
  • Disposition des diapositives (§13.3.9)
  • Vidéo (§15.2.15)

Un composant Masque des diapositives ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Mise en page des diapositives

L’élément racine du composant Slide Layout est l’élément <sldLayout> .

La spécification ISO/IEC 29500 décrit le composant Disposition de diapositive Open XML PresentationML comme suit :

Une instance de ce type de composant contient la définition d’un modèle de mise en page des diapositives pour cette présentation. Ce modèle définit l’apparence et le positionnement par défaut des objets dessins sur ce type de diapositive lors de sa création.

Un package doit contenir un ou plusieurs composants Mise en page des diapositives ; chacun d’eux doit être la cible d’une relation explicite dans le composant Masque des diapositives (§13.3.10) et d’une relation implicite avec chacun des composants Diapositive (§13.3.8) associés à cette mise en page des diapositives.

Exemple : l’élément de relation de partie masque des diapositives suivant contient des relations avec plusieurs parties de disposition des diapositives, qui sont stockées dans les éléments ZIP. /slideLayouts/slideLayoutN.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être sldLayout. Exemple :

<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>

Un composant Mise en page des diapositives est autorisé à avoir des relations implicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Caractéristiques supplémentaires (§15.2.1)
  • Bibliographie (§15.2.3)
  • Stockage de données XML personnalisé (§15.2.4)
  • Masque des diapositives (§13.3.10)
  • Remplacement de thème (§14.2.8)
  • Miniature (§15.2.16)

Un composant Mise en page des diapositives est autorisé à avoir des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Audio (§15.2.2)
  • Graphique (§14.2.1)
  • Partie de contenu (§15.2.4)
  • Diagrammes : Couleurs de diagramme (§14.2.3), Données de diagramme (§14.2.4), Définition de disposition de diagramme (§14.2.5) et Styles de diagramme (§14.2.6)
  • Persistance des contrôles incorporés (§15.2.9)
  • Objet incorporé (§15.2.10)
  • Package incorporé (§15.2.11)
  • Lien hypertexte (§15.3)
  • Image (§15.2.14)
  • Vidéo (§15.2.15)

Un composant Mise en page des diapositives ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Diapositive

L’élément racine du composant Slide est l’élément <sld> .

En plus de textes et de graphiques, chaque diapositive peut contenir des commentaires et des notes, peut avoir une mise en page, et peut faire partie d’une ou de plusieurs présentations personnalisées. Un commentaire est une annotation destinée à la personne qui gère l’ensemble des diapositives de la présentation. Une note est un rappel ou un élément de texte destiné au présentateur ou à l’audience.

La spécification ISO/IEC 29500 décrit le composant Diapositive Open XML PresentationML comme suit :

Un composant Diapositive contient une seule diapositive.

Un package ne doit contenir qu’un seul composant Diapositive par diapositive, et ce composant doit être la cible d’une relation explicite établie par le composant Présentation (§13.3.6).

Exemple : Prenons l’exemple d’un document PresentationML comportant deux diapositives. L’élément Relationship du composant Présentation correspondant contient deux relations vers des composants Diapositive, qui sont stockés dans les éléments ZIP slides/slide1.xml et slides/slide2.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être sld.

Exemple : diapositives/slide1.xml contient :

<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>

Un composant Diapositive doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Diapositive est autorisé à avoir des relations implicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Caractéristiques supplémentaires (§15.2.1)
  • Bibliographie (§15.2.3)
  • Commentaires (§13.3.2)
  • Stockage de données XML personnalisé (§15.2.4)
  • Diapositive notes (§13.3.5)
  • Remplacement de thème (§14.2.8)
  • Miniature (§15.2.16)
  • Disposition des diapositives (§13.3.9)
  • Données de synchronisation des diapositives (§13.3.11)

Un composant Diapositive est autorisé à avoir des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Audio (§15.2.2)
  • Graphique (§14.2.1)
  • Partie de contenu (§15.2.4)
  • Diagrammes : Couleurs de diagramme (§14.2.3), Données de diagramme (§14.2.4), Définition de disposition de diagramme (§14.2.5) et Styles de diagramme (§14.2.6)
  • Persistance des contrôles incorporés (§15.2.9)
  • Objet incorporé (§15.2.10)
  • Package incorporé (§15.2.11)
  • Lien hypertexte (§15.3)
  • Image (§15.2.14)
  • Balises définies par l’utilisateur (§13.3.12)
  • Vidéo (§15.2.15)

Un composant Diapositive ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Thème

L’élément racine du composant Theme est l’élément <officeStyleSheet> .

La spécification ISO/IEC 29500 décrit le composant Thème DrawingML Open XML comme suit :

Une instance de ce type de composant contient des informations sur le thème d’un document, qui est une combinaison de jeu de couleurs, de jeu de polices et de jeu de formats (ce dernier étant également appelé « effets »). Pour un document WordprocessingML, le choix d’un thème affecte notamment la couleur et le style des titres. Pour un document SpreadsheetML, le choix d’un thème affecte notamment la couleur et le style du contenu des cellules et des graphiques. Pour un document PresentationML, le choix d’un thème affecte notamment la mise en forme des diapositives, des masques de document et des notes via le document maître associé.

Un package WordprocessingML ou SpreadsheetML contiendra zéro ou un composant de thème, qui sera la cible d’une relation implicite dans un composant Document principal (§11.3.10) ou Classeur (§12.3.23). Un package PresentationML contiendra zéro ou un composant de thème par composant Masque du document (§13.3.3), Masque des pages de notes (§13.3.4), Masque de diapositive (§13.3.10) ou Présentation (§13.3.6) via une relation implicite.

Exemple : l’élément de relation de composant de document principal WordprocessingML suivant contient une relation avec le composant Thème, qui est stocké dans le thème/theme1.xml de l’élément ZIP :

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

L’élément racine d’un composant ayant ce type de contenu doit être officeStyleSheet.

Exemple : theme1.xml contient les éléments suivants, où les attributs name des éléments clrScheme, fontScheme et fmtScheme correspondent respectivement au jeu de couleurs, au jeu de polices et au modèle de format du document :

<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>

Un composant Thème doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Thème est autorisé à posséder des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Image (§15.2.14)

Un composant Thème ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Masque des pages de notes

L’élément racine du composant Maître de notes est l’élément <notesMaster> .

La spécification ISO/IEC 29500 décrit le composant Maître des notes Open XML PresentationML comme suit :

Une instance de ce type de composant contient des informations sur le contenu et la mise en forme de l’ensemble des pages de notes.

Un package doit contenir au maximum un seul composant Masque des pages de notes. Ce composant doit être la cible d’une relation implicite établie par le composant Diapositive de notes (§13.3.5) et d’une relation explicite établie par le composant Présentation (§13.3.6).

Exemple : l’élément de relation de partie présentation suivant contient une relation avec le composant Maître de notes, qui est stocké dans l’élément ZIP notesMasters/notesMaster1.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être notesMaster. Exemple :

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

Un composant Masque des pages de notes doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Masque des pages de notes est autorisé à avoir des relations implicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Caractéristiques supplémentaires (§15.2.1)
  • Bibliographie (§15.2.3)
  • Stockage de données XML personnalisé (§15.2.4)
  • Thème (§14.2.7)
  • Miniature (§15.2.16)

Un composant Masque des pages de notes est autorisé à avoir des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Audio (§15.2.2)
  • Graphique (§14.2.1)
  • Partie de contenu (§15.2.4)
  • Diagrammes : Couleurs de diagramme (§14.2.3), Données de diagramme (§14.2.4), Définition de disposition de diagramme (§14.2.5) et Styles de diagramme (§14.2.6)
  • Persistance des contrôles incorporés (§15.2.9)
  • Objet incorporé (§15.2.10)
  • Package incorporé (§15.2.11)
  • Lien hypertexte (§15.3)
  • Image (§15.2.14)
  • Vidéo (§15.2.15)

Le composant Masque des pages de notes ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Diapositive de notes

L’élément racine du composant Diapositive de notes est l’élément <notes> .

La spécification ISO/IEC 29500 décrit le composant Diapositive de notes PresentationML Open XML comme suit :

Une instance de ce type de composant contient les notes d’une seule diapositive.

Un package ne doit contenir qu’un seul composant Diapositive de notes pour chaque diapositive contenant des notes. Si ces composants existent, chacun d’eux doit être la cible d’une relation implicite établie par le composant Diapositive (§13.3.8).

Exemple : l’élément de relation de composant Diapositive suivant contient une relation avec un composant Diapositive de notes, qui est stocké dans l’élément ZIP.. /notesSlides/notesSlide1.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être notes. Exemple :

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

Un composant Diapositive de notes doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Diapositive de notes est autorisé à avoir des relations implicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Caractéristiques supplémentaires (§15.2.1)
  • Bibliographie (§15.2.3)
  • Stockage de données XML personnalisé (§15.2.4)
  • Notes Master (§13.3.4)
  • Remplacement de thème (§14.2.8)
  • Miniature (§15.2.16)

Un composant Diapositive de notes est autorisé à avoir des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Audio (§15.2.2)
  • Graphique (§14.2.1)
  • Partie de contenu (§15.2.4)
  • Diagrammes : Couleurs de diagramme (§14.2.3), Données de diagramme (§14.2.4), Définition de disposition de diagramme (§14.2.5) et Styles de diagramme (§14.2.6)
  • Persistance des contrôles incorporés (§15.2.9)
  • Objet incorporé (§15.2.10)
  • Package incorporé (§15.2.11)
  • Lien hypertexte (§15.3)
  • Image (§15.2.14)
  • Vidéo (§15.2.15)

Le composant Diapositive de notes ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Masque du document

L’élément racine de la partie Handout Master est l’élément <handoutMaster> .

La spécification ISO/IEC 29500 décrit le composant Maître de document PresentationML Open XML comme suit :

Une instance de ce type de composant contient l’aspect, l’emplacement et la taille des diapositives, des notes, du texte d’en-tête et de pied de page, de la date ou du numéro de page dans le document de la présentation.

Un package ne doit contenir qu’un seul composant Masque du document, et ce dernier doit être la cible d’une relation explicite établie par le composant Présentation (§13.3.6).

Exemple : l’élément de relation de partie de présentation suivant contient une relation avec la partie Maître de document, qui est stockée dans l’élément ZIP handoutMasters/handoutMaster1.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être handoutMaster. Exemple :

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

Un composant Masque du document doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Masque du document est autorisé à avoir des relations implicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Caractéristiques supplémentaires (§15.2.1)
  • Bibliographie (§15.2.3)
  • Stockage de données XML personnalisé (§15.2.4)
  • Thème (§14.2.7)
  • Miniature (§15.2.16)

Un composant Masque du document est autorisé à avoir des relations explicites avec les composants suivants définis par la spécification ISO/IEC 29500 :

  • Audio (§15.2.2)
  • Graphique (§14.2.1)
  • Partie de contenu (§15.2.4)
  • Diagrammes : Couleurs de diagramme (§14.2.3), Données de diagramme (§14.2.4), Définition de disposition de diagramme (§14.2.5) et Styles de diagramme (§14.2.6)
  • Persistance des contrôles incorporés (§15.2.9)
  • Objet incorporé (§15.2.10)
  • Package incorporé (§15.2.11)
  • Lien hypertexte (§15.3)
  • Image (§15.2.14)
  • Vidéo (§15.2.15)

Un composant Masque du document ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Commentaires

L’élément racine de la partie Comments est l’élément <cmLst> .

La spécification ISO/IEC 29500 décrit le composant Open XML PresentationML Comments comme suit :

Une instance de ce type de composant contient les commentaires d’une seule diapositive. Chaque commentaire est lié à son auteur via un ID d’auteur. La combinaison du numéro d’index et de l’ID d’auteur de chaque commentaire est unique.

Un package ne doit contenir qu’un seul composant Commentaires pour chaque diapositive contenant un ou plusieurs commentaires. En outre, chacun de ces composants doit être la cible d’une relation implicite établie par son composant Diapositive (§13.3.8) correspondant.

Exemple : l’élément de relation de composant Diapositive suivant contient une relation à un composant Commentaires, qui est stocké dans l’élément ZIP. /comments/comment2.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être cmLst.

Exemple : la partie Commentaires contient trois commentaires, deux créés par un auteur et un par un autre, tous aux dates et heures indiquées. Les numéros d’index sont affectés par auteur, en commençant à partir de 1 pour le premier commentaire d’un auteur :

<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>

Un composant Commentaires doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Commentaires ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Composant Auteurs de commentaires

L’élément racine du composant Comments Author est l’élément <cmAuthorLst> .

La spécification ISO/IEC 29500 décrit le composant Open XML PresentationML Comments Author comme suit :

Une instance de ce type de composant contient des informations sur chacun des auteurs ayant ajouté un commentaire au document. Ces informations incluent le nom et les initiales de l’auteur, l’ID d’auteur unique, le numéro d’index du dernier commentaire et une couleur d’affichage. (La couleur permet de distinguer les commentaires affichés en fonction des différents auteurs.)

Un package ne doit contenir qu’un seul composant Auteurs de commentaires. Si ce composant existe, il doit être la cible d’une relation implicite établie par le composant Présentation (§13.3.6).

Exemple : l’élément de relation de composant Presentation suivant contient une relation avec le composant Auteurs de commentaires, qui est stocké dans l’élément ZIP commentAuthors.xml :

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

L’élément racine d’un composant ayant ce type de contenu doit être cmAuthorLst.

Exemple : Deux personnes ont rédigé des commentaires dans ce document : Mary Smith et Peter Jones. Les initiales de Mary Smith sont « mas », son ID d’auteur est 0 et l’index de couleurs pour l’affichage de ses commentaires est 0. Dans la mesure où le numéro d’index du dernier commentaire de Mary est 3, le prochain numéro d’index de commentaire à utiliser dans son cas est 4. Les initiales de Peter Jones sont « pjj », son ID d’auteur est 1 et l’index de couleurs pour l’affichage de ses commentaires est 1. Dans la mesure où le numéro d’index du dernier commentaire de Peter est 1, le prochain numéro d’index de commentaire à utiliser dans son cas est 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>

Un composant Auteurs de commentaires doit être situé dans le package qui contient le composant Relations (du point de vue syntaxique : l’attribut TargetMode de l’élément Relationship doit être Internal).

Un composant Auteurs de commentaires ne doit pas avoir de relations implicites ou explicites avec d’autres composants définis par la spécification ISO/IEC 29500.

© ISO/IEC29500: 2008.

Structure d’un fichier de présentation minimale

Maintenant que vous savez utiliser les composants d’un document PresentationML, voyez de quelle façon certains de ces composants sont implémentés et connectés dans un fichier de présentation réel. Comme indiqué dans l’article Guide pratique pour créer un document de présentation en fournissant un nom de fichier, vous pouvez utiliser l’API Open XML pour créer un fichier de présentation minimal, partie par partie.

Un fichier de présentation minimale comprend un composant Présentation, représenté par le fichier presentation.xml, ainsi qu’un composant Propriétés de la présentation (presProps.xml), un composant Masque des diapositives (slideMaster.xml), un composant Mise en page des diapositives (slideLayout.xml) et un composant Thème (theme.xml). L’utilisation d’un ou de plusieurs composants Diapositive (slide.xml) est facultative.

La structure de package d’un document de présentation contient plusieurs références entre les composants, notamment des références circulaires. Par exemple, les mises en page des diapositives font référence aux masques des diapositives, et les masques des diapositives font référence aux mises en page des diapositives.

Code XML PresentationML généré

Après avoir exécuté le code du Kit de développement logiciel (SDK) Open XML pour générer une présentation, vous pouvez explorer le contenu du package .zip pour afficher le code XML PresentationML. Pour afficher le package .zip, renommez l’extension de la présentation minimale en remplaçant .pptx par .zip. Le package .zip contient plusieurs composants qui constituent la présentation minimale.

La figure 1 illustre la structure du dossier ppt du package .zip d’une présentation minimale qui ne contient qu’une seule diapositive.

Figure 1. Structure de dossiers d’une présentation minimale

Structure de dossier de présentation minimale

Le fichier presentation.xml contient <des éléments sld> (Slide) qui référencent les diapositives de la présentation. Chaque diapositive est associée à la présentation via un ID de diapositive et un ID de relation. slideID est l’identificateur (ID) utilisé dans le package pour identifier une diapositive et doit être unique au sein de la présentation. L’attribut id représente l’ID de relation qui identifie la définition du composant Diapositive d’une diapositive. Pour plus d’informations sur le composant diapositive, consultez Utilisation des diapositives de présentation.

Le code XML suivant correspond au code PresentationML qui représente le composant Présentation d’un document de présentation contenant une seule diapositive. Ce code est généré lorsque vous exécutez le code du Kit de développement logiciel (SDK) Open XML pour créer une présentation minimale.

    <?xml version="1.0" encoding="utf-8"?>
    <p:presentation xmlns:p="https://schemas.openxmlformats.org/presentationml/2006/main">
      <p:sldMasterIdLst>
        <p:sldMasterId id="2147483648"
                       r:id="rId1"
                       xmlns:r="https://schemas.openxmlformats.org/officeDocument/2006/relationships" />
      </p:sldMasterIdLst>
      <p:sldIdLst>
        <p:sldId id="256"
                 r:id="rId2"
                 xmlns:r="https://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>

Le code XML suivant correspond au code PresentationML qui représente le composant Relation du document de présentation. Ce code est généré lorsque vous exécutez le Kit de développement logiciel (SDK) Open XML pour créer une présentation minimale.

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

Le code XML suivant correspond au code PresentationML qui représente le composant Diapositive du document de présentation. Chaque diapositive d’une présentation est associée à un composant Diapositive. Ce code est généré lorsque vous exécutez le Kit de développement logiciel (SDK) Open XML pour créer une présentation minimale.

    <?xml version="1.0" encoding="utf-8"?>
    <p:sld xmlns:p="https://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="https://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="https://schemas.openxmlformats.org/drawingml/2006/main" />
              </p:cNvSpPr>
              <p:nvPr>
                <p:ph />
              </p:nvPr>
            </p:nvSpPr>
            <p:spPr />
            <p:txBody>
              <a:bodyPr xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
              <a:lstStyle xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
              <a:p xmlns:a="https://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="https://schemas.openxmlformats.org/drawingml/2006/main" />
      </p:clrMapOvr>
    </p:sld>

Scénario de présentation classique

Une présentation classique n’a pas de configuration minimale. Une présentation classique peut contenir plusieurs diapositives, qui font chacune référence à des mises en page des diapositives et des masques des diapositives, et qui contiennent éventuellement des commentaires. En outre, une présentation peut contenir des diapositives de documents et des diapositives de notes, chacune étant représentée par des composants distincts. Ces composants supplémentaires sont contenus dans le package .zip du document de présentation.

La figure 2 illustre la plupart des éléments présents dans une présentation classique.

Figure 2. Éléments d’un fichier PresentationML

Éléments d’un fichier PresentationML

Voir aussi

Guide pratique pour créer un document de présentation en fournissant un nom de fichierUtilisation de présentationsUtilisation des diapositives de présentationUtilisation des masquedes diapositives Utilisation de mises en page de diapositives