Syntax FACTORY_DEF GeoRSSFactory [FACTORY_NAME ] [INPUT ENTRY FEATURE_TYPE [ ]* []*]+ [INPUT FEED FEATURE_TYPE [ ]* []*]? DATASET_ATTRIBUTE DIRECTION (READ|WRITE) [MERGE_ATTRIBUTES (TRUE|FALSE)] [BREAK_BEFORE_FIELD_CHANGE []+] [BREAK_AFTER_FIELD_CHANGE []+] [FAIL_IF_INVALID_GEORSS (TRUE|FALSE) [FEATURE_NUMBER ] [FEATURE_ID ] [FEEDSTORE_ID ] [READERMODE (NORMAL|UPDATE)] [MAX_ENTRY_AGE ] [FEEDSTORE_DB_DIR ] [PROXY_URL ] [PROXY_PORT ] [PROXY_PASSWORD ] [PROXY_AUTH_METHOD ] [OUTPUT_FORMAT (Atom|RSS)] [GEOMETRY_OUTPUT_FORMAT (SIMPLE|W3C|GML)] [WRITER_CHARSET ] [ESCAPE_HTML (TRUE|FALSE)] OUTPUT (GEORSS|INVALID_GEORSS|FEED|ENTRY) FEATURE_TYPE [ ]* []*]* Overview This factory is used to construct features from GeoRSS documents or feeds that are stored in an attribute of the input features or to construct GeoRSS documents from features. The DIRECTION clause specifies the factory's mode of operation. If it is used in READ mode, all input features are treated equally regardless of which input tag is used. If it is used in WRITE mode, the FEED input tag identifies the metadata that will be written out, and the ENTRY input tag identifies the entries in the document. The clauses FEEDSTORE_ID to ESCAPE_HTML are clauses for the GeoRSS Reader/Writer, and documentation on these clauses is to be found in the documentation for the GeoRSS Reader/Writer. Note: The FEEDSTORE_ID attribute in particular has a slightly different meaning here than it does when used directly for the reader. When the DIRECTION is READ, the factory constructs FME features from GeoRSS documents or feeds. The GeoRSS documents are expected to be stored in an attribute of the input features; the DATASET_ATTRIBUTE clause specifies the name of this attribute. The contents of this attribute should either be an xml-document conforming to the GeoRSS specification, the filename of a GeoRSS document, or a URL which points to a GeoRSS feed. Features from the GeoRSS document are output via the OUTPUT FEED and OUTPUT ENTRY FEATURE_TYPE clauses. The INVALID_GEORSS FEATURE_TYPE clause outputs features where the GeoRSS document/feed specified by the DATASET_ATTRIBUTE does not contain valid GeoRSS. The factory also contains optional clauses that specify additional attributes for features output by the OUTPUT GeoRSS FEATURE_TYPE clause. The specification of the optional MERGE_ATTRIBUTES clause results in the copying of attributes from the input feature onto the GeoRSS features. Since a GeoRSS document may contain several features, the factory allows the sequence of GeoRSS features from a particular GeoRSS document to be numbered; the optional FEATURE_NUMBER clause can be used to specify the name of this attribute. If an attribute name is specified by the optional FEATURE_ID clause, then each feature constructed from the feed/document that was specified by an input feature will be tagged with the value that the input feature had for that attribute. For example, one might use a counter on incoming features, and set the FEATURE_ID clause to '_count' to generate an identifier so that each output feature can be easily traced to the input feature which created it. The FEEDSTORE_ID clause is like the reader parameter of the same name, except that instead of taking a constant value, it takes the name of an attribute and for each input feature, the FEEDSTORE_ID is set to the value of the attribute on the input feature. In the case that the GeoRSS document contains an error, the default behaviour of this factory is to halt the translation so that the user may correct the data if possible. If the clause FAIL_IF_INVALID_GEORSS is set to FALSE, then the feature which provided the invalid document will be output via the INVALID_GEORSS clause, and no features will have been extracted from the GeoRSS document. In either case, no features will be ever be constructed out of a document which contains errors. When the DIRECTION is WRITE, the factory constructs GeoRSS documents from the input features and stores them in an attribute for the features that are output by the OUTPUT GeoRSS FEATURE_TYPE clause; the attribute to store the GeoRSS document is specified by the DATASET_ATTRIBUTE clause. The GeoRSS documents conform, where possible, to the type of document specified by the OUTPUT_FORMAT clause. At any given moment, the factory, whether it is being used in READ or WRITE mode, is creating only one feature. When the factory is used in READ mode, all features constructed from the specified document/feed are output at the end of the document. In case of error, no features from that document/feed are produced. When the factory is used in WRITE mode, the current feature being constructed is output whenever any of the following is true: The values of any of the BREAK_BEFORE_FIELD_CHANGE fields change from one feature to the next. When this occurs, the newly received input feature is not part of the flushed feature, but rather is part of the next feature to be constructed. The values of any of the BREAK_AFTER_FIELD_CHANGE fields change from one feature to the next. When this occurs, the newly received input feature is part of the flushed feature. There are no more input features left to be inserted into the constructed document. Assumptions The features entering the factory in the READ direction are assumed to contain an attribute that contains a valid GeoRSS document/feed as its value; this attribute must be identified by the DATASET_ATTRIBUTE clause. If the GeoRSS document is invalid, the translation will fail unless FAIL_IF_INVALID_GEORSS is set to FALSE. The input features coming into the factory in the WRITE direction must have specific FME GeoRSS format attributes. It is incorrect to route more than a single feature through the FEED input tag. A warning will be logged, and only the first feature will be used to determine metadata for the output document(s). The output tag INVALID_GEORSS, and the FAIL_IF_INVALID_GEORSS field are only used when the direction of the factory is set to READ. The OUTPUT_FORMAT and the GEOMETRY_OUTPUT_FORMAT clauses are obligatory when the direction is WRITE. Output Tags The GeoRSSFactory supports the following output tags. GEORSS The features containing the GeoRSS document in the attribute specified by the DATASET_ATTRIBITE in the WRITE direction. INVALID_GEORSS The features that triggered an error when extracting features from a GeoRSS document/feed. This is a subset of the features that entered the factory. FEED For any given GeoRSS document, the metadata for the feed. ENTRY The entry features from the input GeoRSS document/feed.