You are here: Popular Formats > XML (Extensible Markup Language) Reader/Writer > xfMap > Group Mapping Rules > Group Construction and Destruction

Group Construction and Destruction

We now describe when an xfMap group is created and destructed. If we let R be a group mapping rule defining the group G, then:

  1. G is constructed when R is activated, and
  2. G is destructed when R is de-activated, but only if:
  1. R was defined in the <group-map> element, or
  2. G is not a persistent group.

The XML Reader keeps a stack of constructed groups; for expository convenience we’ll name this stack the g-stack. When R activates, G is pushed into the g-stack, G is popped from the g-stack when R de-activates.

Note: Note: If for the moment we ignore the existence of persistent groups, then what b) says is that a group G is destructed whenever its corresponding mapping rule R is de-activated. Furthermore, if R was defined in the <group-map> element, then it does not matter if G is a persistent group or not, because it will always be destroyed when R de-activates. That is, there is no reason to define a group in the <group-map> element to be a persistent group: it will never persist because the condition in b) 1) does not allow it.

FME features that are constructed by feature mapping rules will enter all groups that are in the g-stack from the top until the bottom group of the stack. The FME features that leave the bottom group of the g-stack are output by the XML Reader.