- XML (Extensible Markup Language) Reader/Writer
- XML Quick Facts
- Workbench XML Reader Parameters
- Workbench XML Writer Parameters
- Feature Representation
- Mapping File Reference
- xfMap
- Reading the Input XML Document
- Mapping Rules
- Types of Mapping Rules
- Match and Except Expression
- Specifying Several Match Expressions for One Mapping Rule
- Limiting Mapping Rule Activation with Except Expressions
- Mapping Rule States (activation, execution, suspension, and de-activation)
- Using Force Elements During Mapping Rule Activation and Deactivation
- Search-sets
- Expression Elements (Extract and Literal)
- Expression Sequence
- Feature Mapping Rules
- FME Feature Construction
- Feature Type Element
- Attributes Element
- FME Feature Construction (defining mapping rules under the <feature-content-map> element)
- Attribute Element (handling multiple values)
- Attribute Element (handling optional attributes)
- Attribute Element (sequenced attributes)
- Attribute Element (Nillable Attributes)
- Geometry Element
- Geometry Builder States (activation, execution, suspension, and de-activation)
- Geometry Construction
- Composite Geometry Builders
- Built-in Geometry Builders
- xml-point
- xml-point-xy
- xml-line
- xml-area
- xml-donut
- xml-aggregate
- xml-box
- xml-text
- xml-path
- xml-arc
- xml-arc-by-center-point
- xml-elliptical-arc
- xml-circle
- xml-polygon
- xml-face
- xml-composite-surface
- xml-triangulated-surface
- xml-enclosed-surface
- xml-composite-solid
- xml-multi-point
- xml-multi-curve
- xml-multi-area
- xml-multi-text
- xml-multi-surface
- xml-multi-solid
- xml-null
- xml-reverse-geometry
- xml-geodesic-string
- fme-geometry
- Mapping Segmented Geometric Information
- Geometry Traits (trait element)
- FME Feature Construction (constructing multiple features at a time)
- Structure Element
- References Element
- Apply References Element
- Group Mapping Rules
- Reference Mapping Rules
- Mapping Rules (Optional Elements)
- More Expression Elements
- FME Schema Features
- Reading the Input XML Document
Persistent Reference-Sets
A reference-set is removed from the r-stack and destroyed as soon as its originating mapping rule is deactivated. If there is a need to keep references for a longer period then its reference-set can be made to persist on the sets that still reside in the r-stack. A reference-set whose originating mapping rule is being deactivated can be made to persist either at the top or at the bottom of the r-stack.
The persist attribute in the <references> element allows a reference-set to be persisted beyond the deactivation of its originating mapping rule. The valid values for the persist attribute are true and false. A reference-set is not persisted by default, so an absent persist attribute has the same effect as setting it to false.
<references persist=”true|false”>
...
</references>
By default, a persistent reference-set persists in the set at the top of the r-stack. This persistent set will be destroyed as soon as its containing set is also destroyed. For convenience, the xfMap allows a set to be persisted in the set at the bottom of the r-stack. The <references> element’s optional persist-in attribute can be used to control this. The valid values for the persist-in attribute are parent and base. Setting the persist-in attribute to base allows a set to be persisted at the bottom of the r-stack. By default, a persistent reference-set will be persisted in the set at the top of the stack – this is the same as setting the persist-in attribute to parent.
<references persist=”true” persist-in=”parent|base”>
...
</references>
A reference-set persisting in another reference-set overwrites the references in the host set.
Persist options may also be set with xfMap expression elements via <data name=”...”> children elements. The value for the name attribute may be persist or persist-in.
For example:
<references> <data name=”persist”> ... expression or expression sequence evaluating to “true” or “false” ... </data> <data name=”persist-in”> ... expression or expression sequence evaluating to “parent” or “base” ... </data> ... </references>