- 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>