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.
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.
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 · Group | Values | Paged | paged.set |
|---|---|---|---|
| ItemTransform | transform | read · written | groupTransform |
| Self | id | read · written | |
| AppliedObjectStyle | ObjectStyle reference | read | |
| GradientFillAngle | integer | read | |
| GradientFillHiliteAngle | integer | not read | |
| GradientFillHiliteLength | integer | not read | |
| GradientFillLength | integer / real | not read | |
| GradientFillStart | number-list | not read |
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.
Text frames
The IDML TextFramePreference — columns and balancing, typed InsetSpacing, vertical justification, first baseline, and auto-sizing as InDesign fits a frame.
Layers
An IDML layer is a named, document-wide plane that page items join; it sets paint order between layers and can hide, lock or stop printing its items.