- 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
- 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
Mapping Rules
An xfMap document contains mapping rules that specify the construction of certain objects, with the most important one being an FME feature. Other objects that may be constructed are group and reference objects, but these are just “helper” objects that the XML Reader uses to construct its FME features.
A feature is a generic container capable of holding attribute and geometric information. FME contains a variety of feature processing facilities such as functions and factories. These functions and factories are available internally to the XML Reader through xfMap group objects. The XML Reader may further process the FME features with these group objects before outputting them to the FME.
The advantage of a streaming reader is the ability to read very large XML documents. A streaming reader does not hold an entire XML document in memory, so problems may arise if the current element being read requires information from previously read elements. This inherent streaming limitation may be overcome by using xfMap reference objects. Reference objects can hold information needed by the construction of features and groups when these require data from elements that were seen much earlier in the input XML document stream.
The XML Reader can currently construct three types of objects: FME features, xfMap groups, and xfMap references. Each type of object is specified through its corresponding xfMap mapping rule type.