Previous Next


                                        869
SECTION 10.6                                                        Logical Structure



different mechanism, the structural parent tree, is provided for this purpose. For
consistency, content items that are entire PDF objects, such as XObjects, also use
the parent tree to refer to their parent structure elements.

The parent tree is a number tree (see Section 3.8.6, “Number Trees”), accessed
from the ParentTree entry in a document’s structure tree root (Table 10.9 on page
857). The tree contains an entry for each object that is a content item of at least
one structure element and for each content stream containing at least one
marked-content sequence that is a content item. The key for each entry is an inte-
ger given as the value of the StructParent or StructParents entry in the object (see
below). The values of these entries are as follows:

• For an object identified as a content item by means of an object reference (see
  “PDF Objects as Content Items” on page 868), the value is an indirect reference
  to the parent structure element.
• For a content stream containing marked-content sequences that are content
  items, the value is an array of indirect references to the sequences’ parent struc-
  ture elements. The array element corresponding to each sequence is found by
  using the sequence’s marked-content identifier as a zero-based index into the
  array.

Note: Because marked-content identifiers serve as indices into an array in the struc-
tural parent tree, their assigned values should be as small as possible to conserve
space in the array.

The ParentTreeNextKey entry in the structure tree root holds an integer value
greater than any that is currently in use as a key in the structural parent tree.
Whenever a new entry is added to the parent tree, it uses the current value of
ParentTreeNextKey as its key. The value is then incremented to prepare for the
next new entry to be added.

To locate the relevant parent tree entry, each object or content stream that is rep-
resented in the tree must contain a special dictionary entry, StructParent or
StructParents (see Table 10.13). Depending on the type of content item, this entry
may appear in the page object of a page containing marked-content sequences, in
the stream dictionary of a form or image XObject, in an annotation dictionary, or
in any other type of object dictionary that is included as a content item in a struc-
ture element. Its value is the integer key under which the entry corresponding to
the object is to be found in the structural parent tree.

Previous Next