Overview

Consider an XML tree that has the following basic structure:

<p:sld>
  <p:cSld>
    <p:spTree>
      <p:sp>
        <p:txBody>
          Your text here!
   (not really, there are other elements needed within here)
        </p:txBody>
      </p:sp>
      <p:sp>
      </p:sp></p:spTree>
  </p:cSld>
</p:sld>

In the structure above, we are interested in the content contained within the matching <p:txBody> tags. The understanding of this tag in relation to the basic slide structure above encompasses the schema background needed to digest effectively the remainder of this description.

Note that shapes are the standard container within which all text resides. Usually, the shape does not have any visual properties attached to it and thus no visible shape is rendered; nonetheless, a shape is still present and does house any content text.

Each shape contains an inset rectangle that houses any text attached to that shape. The shape has margins or insets that buffer this rectangle on all four sides (top, bottom, left, and right) just like margins on a page. When thinking about text within a shape, it is useful to keep these inset properties in mind.

An illustration of this is provided below.

Let's look at the different element tags contained within <p:txBody>. Listed below are only those tags discussed here. (Note that this sample framework is a skeleton and does not fully show all elements and attributes needed.)

<p:txBody>
  <a:bodyPr />         required, only listed once.
  <a:lstStyle />       optional, if present only listed once.
  <a:p>                required, no limit on the number of instances.
    <a:pPr />          optional, if present only listed once.
    <a:r>              required, no limit on the number of instances.
      <a:rPr />        optional, if present only listed once.
      <a:t>Your text here!</a:t>
                       Actual text for this run is contained here.
    </a:r>
    <a:endParaRPr />   optional, if present only listed once.
  </a:p>
</p:txBody>

Element

Purpose

Description

<a:bodyPr>

Body Properties

Describes text anchor points, shape autofit, number of columns, text warping, and 3D scenes and lighting effects. See §5.4.3.

<a:lstStyle>

List Style

Used to define style properties for the paragraph and its nine list levels.

<a:p>

Single Paragraph

Houses a single paragraph and its corresponding paragraph-level properties. Contained within here are also all the text runs that comprise this paragraph. See §5.4.3.4.

<a:pPr>

Paragraph Properties

Describes the format and style with which the corresponding paragraph is presented. Some possible settings that can be utilized within this space include, but are not limited to, the following: spacing, margins, and alignment. See §5.4.3.4.

<a:r>

Single Run

Specifies the existence of a run of text within a paragraph. A run represents the most granular form of text that can be represented in the file format. See §5.4.3.8.

<a:rPr>

Run Properties

Allows the attachment of properties to the run of text specified by its parent <a:r> element. These properties include, but are not limited to, the following: underline, strikethrough, and text caps. See §5.4.3.8.

<a:t>

Actual text

Allows for the storage of the specific text that all these body, paragraph and run level properties are describing. This tag is the most important as it gives context to all the other elements and attributes that have come before it.

<a:endParaRPr>

Persistent Run Properties

Specifies the properties that are to persist should the user begin to type additional text after this paragraph. This property should only be set when the style that should follow this paragraph is different from the paragraph itself.