Compartilhar via


Estrutura de um documento do PresentationML

A estrutura do documento de um documento PresentationML consiste no <elemento apresentação (Apresentação> ) que contém <elementos sldMaster> (Slide Master), <sldLayout> (Layout de Slide), <sld > (Slide) e <tema> (Tema) que fazem referência aos slides na apresentação. (O elemento Tema é o elemento raiz da parte DrawingMLTheme.) Esses elementos são os elementos mínimos necessários para um documento de apresentação válido.

Além disso, um documento de apresentação pode conter <anotações> (Notes Slide), <handoutMaster> (Handout Master), <sp> (Shape), <pic> (Imagem), <tbl> (Table) e outros elementos relacionados a slides. (Os elementos da tabela são definidos no esquema DrawingML.)

Outros recursos que um documento PresentationML pode conter incluem o seguinte: animação, áudio, vídeo e transições entre slides.

Um documento PresentationML não é armazenado como um corpo grande em uma única parte. Em vez disso, os elementos que implementam determinados agrupamentos de funcionalidade são armazenados em partes separadas. Por exemplo, todos os comentários em um documento são armazenados em uma parte de comentário, enquanto cada slide tem sua própria parte. Um arquivo XML separado é criado para cada slide.

Peças de apresentação importantes

Usando o SDK Do Open XML, você pode criar a estrutura de documentos e o conteúdo que usa classes fortemente tipdas que correspondem aos elementos PresentationML. Você pode encontrar essas classes no namespace DocumentFormat.OpenXml.Presentation . A tabela a seguir lista os nomes de classe das classes que correspondem a alguns dos elementos de apresentação importantes.

Parte do pacote Elemento PresentationML de nível superior Classe SDK Open XML Descrição*
Presentation <apresentação> Presentation O elemento raiz da parte Apresentação. Esse elemento especifica dentro dele propriedades fundamentais em toda a apresentação.
Propriedades de apresentação <presentationPr> PresentationProperties O elemento raiz da parte Propriedades de Apresentação. Esse elemento funciona como um elemento pai no qual propriedades adicionais de documento em toda a apresentação estão contidas.
Slide Mestre <sldMaster> SlideMaster O elemento raiz da parte Mestre de Slides. Em um slide master slide estão contidos todos os elementos que descrevem os objetos e sua formatação correspondente para dentro de um slide de apresentação. Para obter mais informações, consulte Trabalhar com mestres de slides.
Slide Layout <sldLayout> SlideLayout O elemento raiz da parte layout do slide. Esse elemento especifica as informações de relação para cada layout de slide que é usado no master de slides. Para obter mais informações, consulte Trabalhar com layouts de slides.
Tema <officeStyleSheet> Theme O elemento raiz da parte Tema. Esse elemento contém todas as diferentes opções de formatação disponíveis para um documento por meio de um tema e define a aparência geral do documento quando objetos temáticos são usados no documento.
Slide <Sld> Slide O elemento raiz da parte Slide. Esse elemento especifica um slide dentro de uma lista de slides. Para obter mais informações, consulte Trabalhar com slides de apresentação.
Anotações mestras <notesMaster> NotesMaster O elemento raiz da parte Mestre de Notas. Em uma observação master slide estão contidos todos os elementos que descrevem os objetos e sua formatação correspondente para dentro de um slide de anotações.
Slide de Anotações <Notas> NotesSlide O elemento raiz da parte Slide de Anotações. Esse elemento especifica a existência de um slide de anotações junto com seus dados correspondentes. Contidos em um slide de notas estão todos os elementos de slide comuns, juntamente com propriedades de adição específicas para o elemento notes. Para obter mais informações, consulte Trabalhar com slides de anotações.
Folheto mestre <handoutMaster> HandoutMaster O elemento raiz da parte Mestre da Apostila. Dentro de uma apostila master slide estão contidos todos os elementos que descrevem os objetos e sua formatação correspondente para dentro de um slide de apostila. Para obter mais informações, consulte Trabalhar com apostila master slides.
Comments <cmLst> CommentList O elemento raiz da parte Comentários. Esse elemento especifica uma lista de comentários para um slide específico. Para obter mais informações, consulte Trabalhar com comentários.
Autor de comentários <cmAuthorLst> CommentAuthorList O elemento raiz da parte Autor de Comentários. Esse elemento especifica uma lista de autores com comentários no documento atual. Para obter mais informações, consulte Trabalhar com comentários.

*Descrições adaptadas da especificação ISO/IEC 29500 , © ISO/IEC29500: 2008.

Parte de apresentação

A parte main de um pacote PresentationML começa com um elemento raiz de <apresentação>. Esse elemento contém uma apresentação que, por sua vez, refere-se a uma lista de slides, uma lista de master de slides, uma lista master anotações e uma lista de master de apostila. A lista de slides refere-se a todos os slides na apresentação. A lista de master de slides refere-se a todo o conjunto de mestres de slides usados na apresentação. As anotações master contém informações sobre a formatação de páginas de anotações. A apostila master descreve como uma apostila parece. (Uma apostila é um conjunto impresso de slides que pode ser entregue a uma audiência para referência futura.)

Parte Propriedades de Apresentação

O elemento raiz da parte Propriedades de Apresentação é o <elemento presentationPr> .

A especificação ISO/IEC 29500 descreve a parte Propriedades de Apresentação Open XML PresentationML da seguinte maneira:

Uma instância desse tipo de parte contém todas as propriedades da apresentação.

Um pacote deve conter exatamente uma parte propriedades de apresentação e essa parte será o destino de uma relação implícita da parte Apresentação (§13.3.6).

Exemplo: o seguinte item de relação parcial de apresentação contém uma relação com a parte Propriedades de Apresentação, que é armazenada no item ZIP presProps.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser presentationPr. Exemplo:

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

Uma parte propriedades de apresentação deve estar localizada dentro do pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte propriedades de apresentação não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Slide Master Part

O elemento raiz da parte Mestre de Slides é o <elemento sldMaster> .

A especificação ISO/IEC 29500 descreve a parte Mestre de Slides Open XML PresentationML da seguinte maneira:

Uma instância desse tipo de parte contém a definição master de formatação, texto e objetos que aparecem em cada slide na apresentação derivada desse slide master.

Um pacote deve conter uma ou mais partes do Slide Master, cada uma das quais deve ser o destino de uma relação explícita da parte Apresentação (§13.3.6), bem como uma relação implícita de qualquer layout de slide (§13.3.9) em que esse layout de slide é definido com base neste slide master. Opcionalmente, cada um pode ser o destino de uma relação em uma parte de Layout de Slide (§13.3.9) também.

Exemplo: o seguinte item de relação parcial de apresentação contém uma relação com a parte Mestre do Slide, que é armazenada no slideMasters/slideMaster1.xml do item ZIP:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser sldMaster. Exemplo:

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

Uma parte Mestre do Slide deve estar localizada dentro do pacote que contém a parte relações (expressa de forma sintática, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte do Slide Master tem permissão para ter relações implícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Características adicionais (§15.2.1)
  • Bibliografia (§15.2.3)
  • Armazenamento de dados XML personalizado (§15.2.4)
  • Tema (§14.2.7)
  • Miniatura (§15.2.16)

Uma parte Mestre do Slide tem permissão para ter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Áudio (§15.2.2)
  • Gráfico (§14.2.1)
  • Parte de conteúdo (§15.2.4)
  • Diagramas: Cores do Diagrama (§14.2.3), Dados de Diagrama (§14.2.4), Definição de Layout de Diagrama (§14.2.5) e Estilos de Diagrama (§14.2.6)
  • Persistência do controle inserido (§15.2.9)
  • Objeto inserido (§15.2.10)
  • Pacote inserido (§15.2.11)
  • Hiperlink (§15.3)
  • Imagem (§15.2.14)
  • Layout do slide (§13.3.9)
  • Vídeo (§15.2.15)

Uma parte Mestre do Slide não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Parte do Layout do Slide

O elemento raiz da parte layout do slide é o <elemento sldLayout> .

A especificação ISO/IEC 29500 descreve a parte de Layout do Slide Open XML PresentationML da seguinte maneira:

Uma instância desse tipo de parte contém a definição de um modelo de layout de slide para esta apresentação. Este modelo define a aparência padrão e o posicionamento de objetos de desenho neste tipo de slide quando ele é criado.

Um pacote deve conter uma ou mais partes do Layout do Slide, e cada uma dessas partes deve ser o destino de uma relação explícita na parte Mestre do Slide (§13.3.10), bem como uma relação implícita de cada uma das partes slide (§13.3.8) associadas a esse layout de slide.

Exemplo: o seguinte item de relação de parte do Slide Master contém relações com várias partes do Layout do Slide, que são armazenadas nos itens 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>

O elemento raiz de uma parte desse tipo de conteúdo deve ser sldLayout. Exemplo:

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

Uma parte do Layout do Slide tem permissão para ter relações implícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Características adicionais (§15.2.1)
  • Bibliografia (§15.2.3)
  • Armazenamento de dados XML personalizado (§15.2.4)
  • Mestre de Slides (§13.3.10)
  • Substituição de tema (§14.2.8)
  • Miniatura (§15.2.16)

Uma parte do Layout do Slide tem permissão para ter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Áudio (§15.2.2)
  • Gráfico (§14.2.1)
  • Parte de conteúdo (§15.2.4)
  • Diagramas: Cores do Diagrama (§14.2.3), Dados de Diagrama (§14.2.4), Definição de Layout de Diagrama (§14.2.5) e Estilos de Diagrama (§14.2.6)
  • Persistência do controle inserido (§15.2.9)
  • Objeto inserido (§15.2.10)
  • Pacote inserido (§15.2.11)
  • Hiperlink (§15.3)
  • Imagem (§15.2.14)
  • Vídeo (§15.2.15)

Uma parte do Layout do Slide não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Slide Part

O elemento raiz da parte slide é o <elemento sld> .

Além de texto e gráficos, cada slide pode conter comentários e anotações, pode ter um layout e pode fazer parte de uma ou mais apresentações personalizadas. Um comentário é uma anotação destinada à pessoa que mantém o deck de slides de apresentação. Uma nota é um lembrete ou um pedaço de texto destinado ao apresentador ou ao público-alvo.

A especificação ISO/IEC 29500 descreve a parte de slide Open XML PresentationML da seguinte maneira:

Uma parte do Slide contém o conteúdo de um único slide.

Um pacote deve conter uma parte slide por slide e cada uma dessas partes deve ser o destino de uma relação explícita da parte Apresentação (§13.3.6).

Exemplo: considere um documento PresentationML com dois slides. O item de relação de parte de apresentação correspondente contém duas relações com partes de Slide, que são armazenadas nos slides/slide1.xml de itens ZIP e 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>

O elemento raiz de uma parte desse tipo de conteúdo deve ser sld.

Exemplo: slides/slide1.xml contém:

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

Uma parte slide deve estar localizada dentro do pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte do Slide tem permissão para ter relações implícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Características adicionais (§15.2.1)
  • Bibliografia (§15.2.3)
  • Comentários (§13.3.2)
  • Armazenamento de dados XML personalizado (§15.2.4)
  • Slide de Anotações (§13.3.5)
  • Substituição de tema (§14.2.8)
  • Miniatura (§15.2.16)
  • Layout do slide (§13.3.9)
  • Dados de sincronização de slides (§13.3.11)

Uma parte do Slide tem permissão para ter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Áudio (§15.2.2)
  • Gráfico (§14.2.1)
  • Parte de conteúdo (§15.2.4)
  • Diagramas: Cores do Diagrama (§14.2.3), Dados de Diagrama (§14.2.4), Definição de Layout de Diagrama (§14.2.5) e Estilos de Diagrama (§14.2.6)
  • Persistência do controle inserido (§15.2.9)
  • Objeto inserido (§15.2.10)
  • Pacote inserido (§15.2.11)
  • Hiperlink (§15.3)
  • Imagem (§15.2.14)
  • Marcas definidas pelo usuário (§13.3.12)
  • Vídeo (§15.2.15)

Uma parte do Slide não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Parte tema

O elemento raiz da parte Tema é o <elemento officeStyleSheet> .

A especificação ISO/IEC 29500 descreve a parte Do tema Open XML DrawingML da seguinte maneira:

Uma instância desse tipo de parte contém informações sobre o tema de um documento, que é uma combinação de esquema de cores, esquema de fonte e esquema de formato (este último também está sendo chamado de efeitos). Para um documento WordprocessingML, a escolha do tema afeta a cor e o estilo dos títulos, entre outras coisas. Para um documento SpreadsheetML, a escolha do tema afeta a cor e o estilo de conteúdo e gráficos de células, entre outras coisas. Para um documento PresentationML, a escolha do tema afeta a formatação de slides, apostilas e anotações por meio do master associado, entre outras coisas.

Um pacote WordprocessingML ou SpreadsheetML deve conter zero ou uma parte tema, que deve ser o destino de uma relação implícita em uma parte Documento Principal (§11.3.10) ou Pasta de Trabalho (§12.3.23). Um pacote PresentationML deve conter zero ou uma parte do Tema por Mestre de Apostila (§13.3.3), Mestre de Notas (§13.3.4), Mestre de Slides (§13.3.10) ou Apresentação (§13.3.6) por meio de uma relação implícita.

Exemplo: o seguinte item de relação de parte do Documento Principal do WordprocessingML contém uma relação com a parte Tema, que é armazenada no tema do item ZIP/theme1.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser officeStyleSheet.

Exemplo: theme1.xml contém o seguinte, em que os atributos de nome dos elementos clrScheme, fontScheme e fmtScheme correspondem ao esquema de cores, esquema de fonte e esquema de formato do documento, respectivamente:

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

Uma parte tema deve estar localizada dentro do pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte tema tem permissão para conter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Imagem (§15.2.14)

Uma parte tema não deve ter relações implícitas ou explícitas com outras partes definidas pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Notas Parte Mestra

O elemento raiz da parte Mestre de Notas é o <elemento notesMaster> .

A especificação ISO/IEC 29500 descreve a parte Mestre de Notas de Apresentação do Open XML da seguinte maneira:

Uma instância desse tipo de parte contém informações sobre o conteúdo e a formatação de todas as páginas de anotações.

Um pacote deve conter no máximo uma parte Mestre de Notas e essa parte será o destino de uma relação implícita da parte Slide de Notas (§13.3.5), bem como uma relação explícita da parte Apresentação (§13.3.6).

Exemplo: o seguinte item de relação parcial de apresentação contém uma relação com a parte Mestre de Notas, que é armazenada nas notas do item ZIPMasters/notesMaster1.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser notesMaster. Exemplo:

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

Uma parte Mestre de Notas deve estar localizada no pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte Mestre de Notas tem permissão para ter relações implícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Características adicionais (§15.2.1)
  • Bibliografia (§15.2.3)
  • Armazenamento de dados XML personalizado (§15.2.4)
  • Tema (§14.2.7)
  • Miniatura (§15.2.16)

Uma parte Mestre de Notas tem permissão para ter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Áudio (§15.2.2)
  • Gráfico (§14.2.1)
  • Parte de conteúdo (§15.2.4)
  • Diagramas: Cores do Diagrama (§14.2.3), Dados de Diagrama (§14.2.4), Definição de Layout de Diagrama (§14.2.5) e Estilos de Diagrama (§14.2.6)
  • Persistência do controle inserido (§15.2.9)
  • Objeto inserido (§15.2.10)
  • Pacote inserido (§15.2.11)
  • Hiperlink (§15.3)
  • Imagem (§15.2.14)
  • Vídeo (§15.2.15)

A parte Mestre de Notas não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Parte do Slide de Anotações

O elemento raiz da parte Slide de Notas é o <elemento anotações> .

A especificação ISO/IEC 29500 descreve a parte do Slide de Notas do Open XML PresentationML da seguinte maneira:

Uma instância desse tipo de parte contém as anotações de um único slide.

Um pacote deve conter uma parte do Slide de Anotações para cada slide que contém anotações. Se existirem, essas partes serão alvo de uma relação implícita da parte Slide (§13.3.8).

Exemplo: o item de relação parcial do Slide a seguir contém uma relação com uma parte slide de anotações, que é armazenada no item ZIP .. /notesSlides/notesSlide1.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser anotações. Exemplo:

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

Uma parte slide de notas deve estar localizada dentro do pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte do Slide de Notas tem permissão para ter relações implícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Características adicionais (§15.2.1)
  • Bibliografia (§15.2.3)
  • Armazenamento de dados XML personalizado (§15.2.4)
  • Mestre de Notas (§13.3.4)
  • Substituição de tema (§14.2.8)
  • Miniatura (§15.2.16)

Uma parte do Slide de Notas tem permissão para ter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Áudio (§15.2.2)
  • Gráfico (§14.2.1)
  • Parte de conteúdo (§15.2.4)
  • Diagramas: Cores do Diagrama (§14.2.3), Dados de Diagrama (§14.2.4), Definição de Layout de Diagrama (§14.2.5) e Estilos de Diagrama (§14.2.6)
  • Persistência do controle inserido (§15.2.9)
  • Objeto inserido (§15.2.10)
  • Pacote inserido (§15.2.11)
  • Hiperlink (§15.3)
  • Imagem (§15.2.14)
  • Vídeo (§15.2.15)

A parte Slide de Notas não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Apostila Master Part

O elemento raiz da parte Mestre da Apostila é o <elemento handoutMaster> .

A especificação ISO/IEC 29500 descreve a parte Mestre de Apostila Open XML PresentationML da seguinte maneira:

Uma instância desse tipo de parte contém a aparência, a posição e o tamanho dos slides, notas, texto de cabeçalho e rodapé, data ou número da página na apostila da apresentação.

Um pacote deve conter no máximo uma parte Mestre de Apostila e será o destino de uma relação explícita da parte Apresentação (§13.3.6).

Exemplo: o seguinte item de relação parcial de apresentação contém uma relação com a parte Mestre da Apostila, que é armazenada no item ZIP handoutMasters/handoutMaster1.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser handoutMaster. Exemplo:

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

Uma parte mestre de apostila deve estar localizada dentro do pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte mestre de apostila tem permissão para ter relações implícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Características adicionais (§15.2.1)
  • Bibliografia (§15.2.3)
  • Armazenamento de dados XML personalizado (§15.2.4)
  • Tema (§14.2.7)
  • Miniatura (§15.2.16)

Uma parte mestre de apostila tem permissão para ter relações explícitas com as seguintes partes definidas pelo ISO/IEC 29500:

  • Áudio (§15.2.2)
  • Gráfico (§14.2.1)
  • Parte de conteúdo (§15.2.4)
  • Diagramas: Cores do Diagrama (§14.2.3), Dados de Diagrama (§14.2.4), Definição de Layout de Diagrama (§14.2.5) e Estilos de Diagrama (§14.2.6)
  • Persistência do controle inserido (§15.2.9)
  • Objeto inserido (§15.2.10)
  • Pacote inserido (§15.2.11)
  • Hiperlink (§15.3)
  • Imagem (§15.2.14)
  • Vídeo (§15.2.15)

Uma parte mestre de apostila não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Parte comentários

O elemento raiz da parte Comentários é o <elemento cmLst> .

A especificação ISO/IEC 29500 descreve a parte Open XML PresentationML Comments da seguinte maneira:

Uma instância desse tipo de parte contém os comentários de um único slide. Cada comentário está vinculado ao autor por meio de uma ID de autor. O número de índice de cada comentário e a combinação de ID do autor são exclusivos.

Um pacote deve conter uma parte de Comentários para cada slide que contém um ou mais comentários, e cada uma dessas partes deve ser o destino de uma relação implícita de sua parte slide correspondente (§13.3.8).

Exemplo: o item de relação parcial do Slide a seguir contém uma relação com uma parte de Comentários, que é armazenada no item ZIP .. /comments/comment2.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser cmLst.

Exemplo: a parte Comentários contém três comentários, dois criados por um autor e um criado por outro, todos nas datas e horários mostrados. Os números de índice são atribuídos por autor, começando em 1 para o primeiro comentário de um autor:

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

Uma parte de Comentários deve estar localizada dentro do pacote que contém a parte relações (expressa de forma sintática, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte comentários não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

Parte Do Autor de Comentários

O elemento raiz da parte Autor de Comentários é o <elemento cmAuthorLst> .

A especificação ISO/IEC 29500 descreve a parte Do Autor de Comentários do Open XML PresentationML da seguinte maneira:

Uma instância desse tipo de parte contém informações sobre cada autor que adicionou um comentário ao documento. Essas informações incluem o nome do autor, as iniciais, uma ID de autor exclusiva, uma contagem usada no último comentário-índice e uma cor de exibição. (A cor pode ser usada ao exibir comentários para distinguir comentários de diferentes autores.)

Um pacote deve conter no máximo uma parte Autores de Comentários. Se ela existir, essa parte será o destino de uma relação implícita da parte Apresentação (§13.3.6).

Exemplo: o seguinte item de relação de parte de apresentação contém uma relação com a parte Autores de Comentários, que é armazenada no item ZIP commentAuthors.xml:

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

O elemento raiz de uma parte desse tipo de conteúdo deve ser cmAuthorLst.

Exemplo: duas pessoas criaram comentários neste documento: Mary Smith e Peter Jones. Suas iniciais são "mas", sua ID de autor é 0 e o índice de cores de exibição de seus comentários é 0. Como o valor usado no último comentário-índice de Mary é 3, o próximo índice de comentários a ser usado para ela é 4. Suas iniciais são "pjj", sua ID de autor é 1 e o índice de cores de exibição de seus comentários é 1. Como o valor usado no último comentário-índice de Peter é 1, o próximo índice de comentários a ser usado para ele é 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>

Uma parte Autores de Comentário deve estar localizada dentro do pacote que contém a parte relações (expressa sintáticamente, o atributo TargetMode do elemento Relationship deve ser Interno).

Uma parte Autores de Comentários não deve ter relações implícitas ou explícitas com qualquer outra parte definida pelo ISO/IEC 29500.

© ISO/IEC29500: 2008.

A estrutura de um arquivo de apresentação mínimo

Agora que você está familiarizado com as partes de um documento PresentationML, considere como algumas dessas partes são implementadas e conectadas em um arquivo de apresentação real. Conforme mostrado no artigo Como criar um documento de apresentação fornecendo um nome de arquivo, você pode usar a API Open XML para criar um arquivo de apresentação mínimo, parte por parte.

Um arquivo de apresentação mínimo consiste em uma parte de apresentação, representada pelo presentation.xml de arquivo, bem como uma parte de propriedades de apresentação (presProps.xml), um slide master parte (slideMaster.xml), uma parte de layout de slide (slideLayout.xml) e uma parte do tema (theme.xml). Uma ou mais partes de slide (slide.xml) são opcionais.

A estrutura de empacotamento de um documento de apresentação contém várias referências entre as partes, incluindo algumas referências circulares. Por exemplo, layouts de slides fazem referência a mestres de slides e layouts de slides de referência de mestres de slides.

Código XML do PresentationML gerado

Depois de executar o código do SDK Open XML para gerar uma apresentação, você pode explorar o conteúdo do pacote .zip para exibir o código XML do PresentationML. Para exibir o pacote .zip, renomeie a extensão na apresentação mínima de .pptx para .zip. Dentro do pacote .zip, há várias partes que compõem a apresentação mínima.

A Figura 1 mostra a estrutura sob a pasta ppt do pacote .zip para uma apresentação mínima que contém um único slide.

Figura 1. Minimum presentation folder structure

Minimum presentation folder structure

O arquivo presentation.xml contém <elementos sld> (Slide) que fazem referência aos slides na apresentação. Cada slide está associado à apresentação por meio de uma ID de slide e uma ID de relacionamento. O slideID é o identificador (ID) usado no pacote para identificar um slide e deve ser exclusivo dentro da apresentação. O atributo id é a ID de relação que identifica a definição da parte de slide associada a um slide. Para obter mais informações sobre a parte de slides, consulte Trabalhar com slides de apresentação.

O código XML a seguir é o PresentationML que representa a parte de apresentação de um documento de apresentação que contém um único slide. Esse código é gerado quando você executa o código SDK Open XML para criar uma apresentação mínima.

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

O código XML a seguir é o PresentationML que representa a parte de relação do documento de apresentação. Esse código é gerado quando você executa o SDK Open XML para criar uma apresentação mínima.

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

O código XML a seguir é o PresentationML que representa a parte de slide do documento de apresentação. Cada slide em uma apresentação tem uma parte de slide associada a ela. Esse código é gerado quando você executa o SDK Open XML para criar uma apresentação mínima.

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

Cenário típico de apresentação

Uma apresentação típica não tem uma configuração mínima. Uma apresentação típica pode conter vários slides, cada um dos quais faz referência a layouts de slides e mestres de slides e que podem conter comentários. Além disso, uma apresentação pode conter apostilas e slides de anotações, cada um deles representado por partes separadas. Essas partes adicionais estão contidas no pacote .zip do documento de apresentação.

A Figura 2 mostra a maioria dos elementos que você encontraria em uma apresentação típica.

Figura 2. Elements of a PresentationML file

Elements of a PresentationML file

Confira também

Como criar um documento de apresentação fornecendo um nome de arquivoTrabalhando com apresentaçõesTrabalhando com slides de apresentaçãoTrabalhando com mestres de slidesTrabalhando com layouts de slides