Custom Transformer as a Datastore
From Fmepedia
Here's a quirky little idea for managing small, but frequently used, spatial datasets within FME. It's all made possible by some less-common transformers in FME2007 - XMLGeometryExtractor and AttributeFileWriter - and a new XML reading function on the Creator transformer.
Rather than simply read from the source dataset, the idea is to do a one-time conversion to XML then embed that XML into a Creator transformer to recreate the data in FME. Then, convert the Creator into a Custom Transformer and you have source data and "reader" all wrapped up inside a single portable package.
For example, in this pair of workspaces the City of Interopolis has an E00 dataset of polygons representing map tile outlines. This dataset is frequently required for overlaying against other data, for example for Clipping purposes.

Above: A workspace reads the E00. All the features are aggregated and their geometry converted to an XML string stored as an attribute. This attribute is written to a file using the AttributeFileWriter
NB: For FME2007 the XMLGeometryExtractor is now replaced by the GeometryExtractor.

Above: The contents of the XML file. Select them all and choose copy...

Above: In a custom transformer place a Creator and Deaggregator...

Above: Open the Creator settings, choose XML as the geometry type and paste the contents of the XML file into it.

Above: Now you have a custom transformer which re-creates the geometry of the original dataset. Any time you need to use the City Grid dataset, instead of adding it as a reader, you can simply place this custom transformer instead.
This is great for small datasets that you wish to use as a backdrop - say an overview map, or a map frame - or as a set of clip boundaries, without having to set up a reader every time. The one disadvantage is that attributes will be lost - the data in XML is geometry only.
The Aggregator/Deaggregator is necessary to combine the source into a single feature (for conversion to XML) and splitting it up again after reading. I give no guarantees on how performance will be affected (compared to a reader) and you shouldn't try pasting an XML file when the contents are large and complex (I tried pasting a 5mb xml file of a map of the world into the Creator, with predictably bad effects on the poor GUI which isn't built for that size of field!)
