SECTION 10.6
873
Logical Structure
10.6.4 Structure Attributes
An application or plug-in extension that processes logical structure can attach ad-
ditional information, called
attributes,
to any structure element. The attribute in-
formation is held in one or more
attribute objects
associated with the structure
element. An attribute object is a dictionary or stream that includes an
O
entry
(see Table 10.14) identifying the application or plug-in that owns the attribute
information. Other entries represent the attributes: the keys are attribute names,
and values are the corresponding attribute values. To facilitate the interchange of
content among PDF applications, Adobe has defined a set of standard structure
attributes identified by specific standard owners; see Section 10.7.4, “Standard
sent user properties (see “User Properties” on page 876).
TABLE 10.14 Entry common to all attribute object dictionaries
KEY
TYPE
VALUE
O
name
(Required)
The name of the application or plug-in extension owning the attribute data.
The name must conform to the guidelines described in Appendix E.
Any application can attach attributes to any structure element, even one created
by another application. Multiple applications can attach attributes to the same
structure element. The
A
entry in the structure element dictionary (see Table
objects, together with
revision numbers
for coordinating attributes created by dif-
ferent owners (see “Attribute Revision Numbers” on page 874). An application
creating or destroying the second attribute object for a structure element is re-
sponsible for converting the value of the
A
entry from a single object to an array
or vice versa, as well as for maintaining the integrity of the revision numbers. No
inherent order is defined for the attribute objects in an
A
array, but it is consid-
ered good practice to add new objects at the end of the array so that the first ar-
ray element is the one belonging to the application that originally created the
structure element.
Attribute Classes
If many structure elements share the same set of attribute values, they can be
defined as an
attribute class
sharing the identical attribute object. Structure
elements refer to the class by name. The association between class names and