paged.IDML Reference
Frames & paths

Groups

How an IDML Group holds its members as child elements, how its transform, transparency and layer apply to them, and how groups nest and paint.

Tier: IntermediateIntermediateIIexplanation

A Group holds no marks of its own: it is a container whose members move, stack and can be made transparent as one object.

In short A <Group> lists its members as child elements: shapes, text frames and other groups, in their own back-to-front order. Each member's ItemTransform is relative to the group, and the group's own ItemTransform places the whole cluster in its parent. A group can carry transparency (opacity, blend mode, drop shadow) that applies to the members composited together, not to each one separately. All members are on the group's layer, set by the group's ItemLayer.

Two rectangles in a group. The members' transforms are relative to the group; the group's ItemTransform moves both at once.

Spreads/Spread_uspread.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idPkg:Spread xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="20.0">
  <Spread Self="uspread" PageCount="1" BindingLocation="0" ShowMasterItems="true" AllowPageShuffle="true" ItemTransform="1 0 0 1 0 0">
    <Page Self="upage" Name="1" AppliedMaster="umaster" ItemTransform="1 0 0 1 0 0" GeometricBounds="0 0 841.89 595.276" MasterPageTransform="1 0 0 1 0 0"/>
    <Group Self="ugroup" ItemTransform="1 0 0 1 100 120" AppliedObjectStyle="ObjectStyle/$ID/[None]" Visible="true" Name="$ID/">
      <Rectangle Self="urect1" ContentType="GraphicType" AppliedObjectStyle="ObjectStyle/$ID/[None]" Visible="true" Name="$ID/" ItemTransform="1 0 0 1 0 0" FillColor="Color/Red" StrokeColor="Swatch/None" StrokeWeight="0">
        <Properties>
          <PathGeometry>
            <GeometryPathType PathOpen="false">
              <PathPointArray>
                <PathPointType Anchor="0 0" LeftDirection="0 0" RightDirection="0 0"/>
                <PathPointType Anchor="0 180" LeftDirection="0 180" RightDirection="0 180"/>
                <PathPointType Anchor="180 180" LeftDirection="180 180" RightDirection="180 180"/>
                <PathPointType Anchor="180 0" LeftDirection="180 0" RightDirection="180 0"/>
              </PathPointArray>
            </GeometryPathType>
          </PathGeometry>
        </Properties>
      </Rectangle>
      <Rectangle Self="urect2" ContentType="GraphicType" AppliedObjectStyle="ObjectStyle/$ID/[None]" Visible="true" Name="$ID/" ItemTransform="1 0 0 1 220 80" FillColor="Color/Blue" StrokeColor="Swatch/None" StrokeWeight="0">
        <Properties>
          <PathGeometry>
            <GeometryPathType PathOpen="false">
              <PathPointArray>
                <PathPointType Anchor="0 0" LeftDirection="0 0" RightDirection="0 0"/>
                <PathPointType Anchor="0 180" LeftDirection="0 180" RightDirection="0 180"/>
                <PathPointType Anchor="180 180" LeftDirection="180 180" RightDirection="180 180"/>
                <PathPointType Anchor="180 0" LeftDirection="180 0" RightDirection="180 0"/>
              </PathPointArray>
            </GeometryPathType>
          </PathGeometry>
        </Properties>
      </Rectangle>
    </Group>
  </Spread>
</idPkg:Spread>

Members and transforms

A member is any page item written inside the <Group> element: Rectangle, Oval, GraphicLine, Polygon, TextFrame or another Group. Its ItemTransform maps it into the group's space; the group's transform maps that into the group's parent. Nesting composes at every level: a member two groups deep reaches the spread as outer ∘ inner ∘ member.

A grouped text frame is an ordinary text frame: it holds its story and can be threaded to frames outside the group. Groups can also sit inside a frame as pasted-in content, and a frame inside a group can host pasted-in content of its own.

Stacking

A group paints at its own position in its parent's order. Its members paint in the order they are written inside it, back to front, as one block: nothing outside the group can come between two of its members.

Group transparency

A group carries the same <TransparencySetting> child as any page item, with <BlendingSetting> (Opacity, BlendMode) and <DropShadowSetting> among others. On a group these apply to the members as one image: a group at 50% opacity composites its members together first and then fades the result, so overlapping members do not show through each other, and a group drop shadow is cast by the combined silhouette.

Settings wrapped in <StrokeTransparencySetting> or <ContentTransparencySetting> target only the stroke or the content of the object that carries them.

In Paged: members render at their composed positions, and a group's opacity, blend mode and drop shadow are composited over the group as a whole. A drop shadow or wide stroke that reaches beyond the members' outline can still be cut at the group's edge.

Supported · verified Parsed, partly rendered

Groups and layers

A group and all its members are on one layer: the group's ItemLayer. An ItemLayer on a member that names another layer does not move the member out of its group's layer. A <Group> written without ItemLayer lands on the document's first layer, the bottom one, and takes its members with it, even if every member names a different layer. A writer should always give a group the ItemLayer its members belong on.

The Group element

Attribute · GroupValuesPagedpaged.set
ItemTransformtransformread · writtengroupTransform
Selfidread · written
AppliedObjectStyleObjectStyle referenceread
GradientFillAngleintegerread
GradientFillHiliteAngleintegernot read
GradientFillHiliteLengthintegernot read
GradientFillLengthinteger / realnot read
GradientFillStartnumber-listnot read
The 8 attributes real documents use most. All 58 attributes of Group →

A group carries no fill or stroke that draws anything of its own. AllowOverrides and OverriddenPageItemProps matter only on masters; see override resolution.

In Paged: a group pasted into a frame is drawn without the frame's clip.

Frequently asked questions

What does a Group do in IDML? It clusters page items so they move together, stack as one block, and can share one transparency setting. Its only content is its members.

How does a group's transform reach its members? By composition. Each member's ItemTransform is relative to the group, and the group's ItemTransform places the group in its parent; a member's position in the spread is group ∘ member, through every level of nesting.

Is group opacity the same as giving each member that opacity? No. The group's members are composited together first and the result is made transparent, so overlapping members do not show through each other. Giving each member the opacity lets them show through.

Which layer are a group's members on? The group's layer. A group without ItemLayer goes to the first layer of the document, along with all its members.

Can a group contain text frames? Yes. A grouped text frame holds its story like any other and can be threaded to frames outside the group.

On this page