Reader Directives

The suffixes listed are prefixed by the current <ReaderKeyword> in a mapping file. By default, the <ReaderKeyword> for the GML reader is GML.

DATASET

Required/Optional

Required

This directive specifies the location for the input GML instance document.

Example:

GML_DATASET c:\gml_data\hydro.xml

Workbench Parameter: Source Geography Markup Language (GML) File(s)

SYSTEM_ENCODING

Required/Optional: Optional

Specifies the encoding to use for the GML schema and data features that are read by the reader. If not set, then features will be output in the system’s encoding.

Example:

GML_SYSTEM_ENCODING UTF-8

Workbench Parameter: System Encoding

IGNORE_APPLICATION_SCHEMA

If YES, the GML reader attempts to read the GML dataset without an application schema.

Values

YES | NO (default)

XSD_DOC

Required/Optional: Optional

A GML instance document specifies the namespace and the location of its application schema through its root element xsi:schemaLocation attribute. This directive allows the GML reader to use a different GML schema document from the one specified in the xsi:schemaLocation attribute.

The XML Schema specification states that the xsi:schemaLocation attribute value consists of a set of pairs: The first member each pair is the namespace for which the second member is the hint describing where to find an appropriate schema document. The presence of this hint does not require the processor to obtain or use the cited schema document, however, the processor is free to use other schemas obtained by other suitable means.

The XSD_DOC directive allows the usage of other schema documents on the instance besides the one stated in the instance’s xsi:schemaLocation attribute.

Note: This directive only takes effect if the target namespace of the dataset is not in the Safe fixed schema namespace http://www.safe.com/xml/schemas/FMEFeatures. The GML2 writer in FIXED SCHEMA_MODE writes out documents that belong to that namespace.

Workbench Parameter: Application Schema

SKIP_SCHEMA_LOCATION_IN_DATASET

If this directive is set to YES, then the reader will ignore the schema files specified in the xsi:schemaLocation attribute of the root element in the dataset. This is particularly useful if the file locations specified in xsi:schemaLocation are not valid file paths.

Required/Optional

Optional

Values

YES | NO (default)

Mapping File Syntax

IGNORE_SCHEMA_LOCATION_IN_DATASET NO

Workbench Parameter

Ignore xsi:schemaLocation in Dataset

MAP_EMBEDDED_OBJECTS_AS

This directive specifies how embedded GML objects (those containing a gml:id), that are not geometries should be mapped.

By default, these embedded objects are mapped into FME attributes.

If the directive is set to GEOMETRIES the embedded objects are mapped into FME Geometries and the embedded object properties are loaded into geometric traits. In turn, nested embedded objects are mapped into nested aggregate geometries.

If the directive is set to FEATURE_TYPES the embedded objects will be mapped into separate FME feature types, and these feature types will have an additional gml_parent_id attribute whose value refers back to its parent feature.

Required/Optional

Optional

Values

ATTRIBUTES (default) | GEOMETRIES | FEATURE_TYPES

Mapping File Syntax

GML_MAP_EMBEDDED_OBJECTS_AS FEATURE_TYPES

Workbench Parameter

Map Embedded Objects As

MAP_PREDEFINED_GML_PROPERTIES

Required/Optional: Optional

This directive specifies if the default and optional GML feature properties, name and description, should be read. The valid values of this directive are YES and NO, its default value is NO.

Example:

GML_MAP_PREDEFINED_GML_PROPERTIES YES

Workbench Parameter: Map Predefined Properties

CONTINUE_ON_GEOM_ERROR

Required/Optional: Optional

Rather than halting the reader, this optional directive allows the reader to continue reading and extracting features from the input GML document stream upon encountering a geometrical error. The valid values of this directive are YES and NO, its default value is YES.

Example:

GML_CONTINUE_ON_GEOM_ERROR NO

Workbench Parameter: Continue on Geometry Error

HTTP_AUTH_USER

This optional directive specifies the user name when accessing a password protected HTTP server.

The directive has no default value.

Required/Optional

Optional

Mapping File Syntax

<ReaderKeyword>_HTTP_AUTH_USER someusername

Workbench Parameter

HTTP Authentication User

HTTP_AUTH_PASSWORD

This optional directive specifies the password when accessing a password protected HTTP server. The directive has no default value.

Required/Optional

Optional

Mapping File Syntax

<ReaderKeyword>_HTTP_AUTH_PASSWORD my123secret

Workbench Parameter

HTTP Authentication Password

HTTP_AUTH_METHOD

This optional directive specifies the authentication method when accessing a password protected HTTP server.

Values

Basic (default) | Digest | NTLM

Required/Optional

Optional

Mapping File Syntax

<ReaderKeyword>_HTTP_AUTH_METHOD Digest

Workbench Parameter

HTTP Authentication Method

HTTP_PROXY

Required/Optional: Optional

This directive specifies the HTTP proxy to be used for network fetches. The port number may be specified at the end of the proxy by appending :[port number] or through the HTTP_PROXY_PORT directive.

Example:

GML_HTTP_PROXY www.someproxy.net

or

GML_HTTP_PROXY www.someproxy.net:8082

Note: Users may bypass the HTTP_PROXY and HTTP_PROXY directives and still have http proxy support by specifying the http_proxy environment variable. The value for this environment variable should be of the form [protocol://][user:password@]machine[:port], where components within [] are optional. An example value for the http_proxy environment variable is: http://www.someproxy.net:8885.

Workbench Parameter: Proxy Address 

HTTP_PROXY_PORT

Required/Optional: Optional

This directive is used if the HTTP proxy port was not specified in the HTTP_PROXY directive.

Example:

GML_HTTP_PROXY_PORT 8081

Workbench Parameter: Port

HTTP_PROXY_USER

Required/Optional: Optional

This optional directive specifies the user name when accessing a password protected proxy server.

Example:

GML_HTTP_PROXY_USER someusername

Workbench Parameter: Proxy Username

HTTP_PROXY_PASSWORD

Required/Optional: Optional

This optional directive specifies the password when accessing a password protected proxy server.

Example:

GML_HTTP_PROXY_PASSWORD my123secret

Workbench Parameter: Proxy Password

HTTP_PROXY_METHOD

Required/Optional: Optional

This optional directive specifies the authentication method when accessing a password protected proxy server.

Values

Basic (default) | Digest | NTLM

Example:

GML_HTTP_PROXY_AUTH_METHOD Digest

Workbench Parameter: Proxy Authentication Method

CACHE_XSD

Required/Optional: Optional

This directive allows the XML Schema documents that are fetched from the internet to be cached locally, this reduces the number of network fetches when traversing the GML schema documents. The valid values of this directive are YES and NO, its default value is YES.

Example:

GML_CACHE_XSD NO

Workbench Parameter: Cache XSD Document

CACHE_XSD_EXPIRY_TIME

Required/Optional: Optional

This directive is optional and takes effect only if the CACHE_XSD directive is set to YES. The valid values for this directive are positive numbers denoting the number of seconds. The default value for this directive is 300.

Example:

GML_CACHE_XSD_EXPIRY_TIME 600

Workbench Parameter: Cache XSD Expiry Time

CACHE_XSD_DIRECTORY

Required/Optional: Optional

This optional directive takes effect when CACHE_XSD directive is set to YES. The directive specifies the folder path for the location of the cache xsd folder, the folder name for the cache xsd folder is specified by the CACHE_XSD_NAME directive below. The default value for this directive is the user’s temporary folder.

Example:

GML_CACHE_XSD_DIRECTORY c:\tmp

CACHE_XSD_NAME

Required/Optional: Optional

This optional directive specifies the xsd cache name. The cache name must also be a valid folder name, as this value is used as the sub-folder containing the cached schema documents within the CACHE_XSD_DIRECTORY. The default value for this directive is GML_XSD_CACHE.

Example:

GML_CACHE_XSD_NAME gml_schema_cache

XFMAP

Required/Optional: Optional

This optional directive is not for general usage.

Rather than having the reader programmatically generate an xfMap from the GML application schema, this directive directs the reader to use a predefined xfMap on the input GML dataset.

Multiple xfMaps on the same input stream may be used. These can either be specified by using several XFMAP directives or through a single quoted value XFMAP directive where each xfMap in the quoted string is separated by a semicolon.

Example:

GML_XFMAP C:\tmp\data\features.xmp

or

GML_XFMAP “C:\tmp\drainages.xmp;C:\tmp\pits_pipes.xmp”

or

GML_XFMAP C:\tmp\drainages.xmp
GML_XFMAP C:\tmp\pits_pipes.xmp

XFMAP_SCHEMA

Required/Optional: Optional

This optional directive is not for general usage. When reading schemas, the GML reader construct FME schema features after examining the GML application schema corresponding to the input dataset, this directive allows the GML reader to bypass the GML application schema by constructing FME schema features with a predefined xfMap.

Example:

GML_XFMAP_SCHEMA C:\tmp\data\schema_features.xmp

SRS_AXIS_ORDER

This optional directive overrides the axis order when reading <TocEntry Title="SRS_AXIS_ORDER" Link="/Content/gml/SRS_AXIS_ORDER.htm" /> a coordinate tuple in a GML <pos> or <posList> element.

Values

The valid values for this directive are “1,2”, “2,1”, “1,2,3” and “2,1,3”. There is no default value.

For example, if the srsName in the GML document is set to "urn:ogc:def:crs:EPSG:6.6.4326", and the user is sure that the coordinate order in the GML document is lon-lat and not lat-lon order, then this directive should be set to "1,2" so that the reader reads the data in lon-lat order.

Mapping File Syntax

GML_SRS_AXIS_ORDER 1,2

Required/Optional

Optional

Workbench Parameter

GML SRS Axis Order

MAP_COMPLEX_PROPERTIES_AS

This directive specifies whether GML properties that are defined as a complex type with complex content (that is, those that have embedded children elements) should be mapped as nested attributes or XML fragments within FME features.

Some complex properties, such as those that are recursively defined, cannot be mapped as nested attributes. These complex properties will always be mapped as XML fragments, regardless of the value of this directive.

Values

NESTED_ATTRIBUTES (default) | XML_FRAGMENTS

If the value is set to XML_FRAGMENTS, then the complex properties with complex content are mapped as XML fragments.

Required/Optional

Optional

Mapping File Syntax

GML_COMPLEX_PROPERTIES_AS XML_FRAGMENTS

Workbench Parameter

Complex Properties as

XML_FRAGMENTS_AS_DOCUMENTS

This directive specifies whether GML properties that are mapped as XML fragments should be converted into XML documents.

The conversion will add missing namespace declarations to the fragments, it will maintain CDATA sections, and it will also prefix an XML header declaration to the fragment. Converting the XML fragments into XML documents allows XML-based parsers, e.g., XSLT and XQuery based processors, to further process the fragments.

Values

YES (default) | NO

Required/Optional

Optional

Mapping File Syntax

GML_XML_FRAGMENTS_AS_DOCUMENTS NO

Workbench Parameter

Include XML Declaration in XML Fragments

FLATTEN_XML_FRAGMENTS

This directive specifies whether GML properties that are mapped as XML fragments should be flattened into nested attributes.

The flattening will only be applied to the data features carrying the XML fragments, hence the new flattened nested attributes will not be reflected in the FME feature type schema definitions.

Values

YES | NO (default)

Required/Optional

Optional

Mapping File Syntax

GML_FLATTEN_XML_FRAGMENTS YES

Workbench Parameter

Flatten XML Fragments

FLATTEN_XML_FRAGMENTS_OPEN_LIST_BRACE

This directive works in conjunction with the FLATTEN_XML_FRAGMENTS_DIRECTIVE, it specifies the character to use as the open brace for the flattened list attributes, the open brace defaults to “{“.

Values

Any single character, “{“, with the open curly brace being the default value.

Required/Optional

Optional

Mapping File Syntax

GML_FLATTEN_XML_FRAGMENTS_OPEN_LIST_BRACE {

Workbench Parameter

Substitute Open List Brace

FLATTEN_XML_FRAGMENTS_CLOSE_LIST_BRACE

This directive works in conjunction with the FLATTEN_XML_FRAGMENTS_DIRECTIVE, it specifies the character to use as the close brace for the flattened list attributes, the close brace defaults to “}“.

Values

Any single character, “}“, with the close curly brace being the default value.

Required/Optional

Optional

Mapping File Syntax

GML_FLATTEN_XML_FRAGMENTS_CLOSE_LIST_BRACE {

Workbench Parameter

Substitute Close List Brace

FLATTEN_XML_FRAGMENTS_SEPARATOR

This directive works in conjunction with the FLATTEN_XML_FRAGMENTS_DIRECTIVE, it specifies the string to use as the separator for components within the nested attributes. The nested attribute component separator defaults to “.“.

Values

Any string, “.“, with the period being the default value.

Required/Optional

Optional

Mapping File Syntax

GML_FLATTEN_XML_FRAGMENTS_SEPARATOR .

Workbench Parameter

Substitute Element List Separator

MAP_GEOMETRY_COLUMNS

This directive specifies whether the GML geometric properties should be represented as individual, and possibly multiple, geometry columns in FME feature type definitions.

A geometric column in an FME data feature is represented either as a single named geometry, or, if multiple geometry columns are present, as an aggregate geometry with multiple named geometry components, this aggregate geometry will also have its “Contains Individual Geometries” interpretation flag set.

A new attribute type has also been introduced for specifying the order and/or position of a geometric column in the feature type definition. If an attribute X has its type set to “xml_geometry” then this attribute X becomes a placeholder in the feature type definition. It is a placeholder because actual data features for the feature type definitions will not have this attribute; instead, the data features will have a geometry named “X”.

Values

YES (default) | NO

Required/Optional

Optional

Mapping File Syntax

GML_MAP_GEOMETRY_COLUMNS NO

Workbench Parameter

Map Geometry Columns

USE_OLD_READER

This optional directive instructs the GML reader to use the older GML v3.1.1 code base to read GML v3.1.1 and v2.1.2 documents.

Values

YES | NO (default)

Required/Optional

Optional

Mapping File Syntax

GML_USE_OLD_READER YES

Workbench Parameter

Use Old Reader for GML v3.1.1 and v2.1.2 Documents

DISABLE_XML_NAMESPACE_PROCESSING

This directive disables XML Namespace processing for the underlying XML parser. Note that this may cause reading errors if the GML schema and the GML data use different prefixes for the same namespace URI. The directive may be useful for datasets that are not XML Namespace valid.

Values

YES | NO (default)

Required/Optional

Optional

Mapping File Syntax

GML_DISABLE_XML_NAMESPACE_PROCESSING YES

Workbench Parameter

Disable XML Namespace Processing

ADD_NAMESPACE_PREFIX_TO_NAMES

Instructs the GML reader to include the XML Namespace prefixes, used in the GML application schema, in the FME feature type and attribute names. The prefixes are separated from FME names with an underscore.

Values

YES | NO (default)

Required/Optional

Optional

Mapping File Syntax

GML_ADD_NAMESPACE_PREFIX_TO_NAMES YES

Workbench Parameter

Add XML Namespace Prefix to Names

DISABLE_AUTOMATIC_READER_TYPE_SELECTION

Values

YES | NO (default)

Required/Optional

Optional

Mapping File Syntax

GML_DISABLE_AUTOMATIC_READER_TYPE_SELECTION YES

Workbench Parameter

Disable Automatic Reader Type Selection

SRS_ANGLE_DIRECTION

Values

CCW | CW

Required/Optional

Optional

Mapping File Syntax

GML_SRS_ANGLE_DIRECTION CW

Workbench Parameter

GML SRS Angle Direction

ENFORCE_PATH_CONTINUITY_BY

Values

SNAPPING_END_POINTS (default) | INSERTING_NEW_SEGMENT

Required/Optional

Optional

Mapping File Syntax

GML_ENFORCE_PATH_CONTINUITY_BY INSERTING_NEW_SEGMENT

Workbench Parameter

Enforce Path Continuity By

QNAMES_FOR_PROPERTIES_TO_IGNORE

Required/Optional

Optional

Values

Whitespace-separated XML QNames, qualified names, prefixed or unprefixed.

Workbench Parameter

Properties to Ignore

ADD_GEOMETRIES_AS_XML_FRAGMENTS

Required/Optional

Optional

Values

YES | NO

Workbench Parameter

Add Geometries as XML Fragments

SEARCH_ENVELOPE

Using the minimum and maximum x and y parameters, define a bounding box that will be used to filter the input features. Only features that interact with the bounding box are returned.

If all four coordinates of the search envelope are specified as 0, the search envelope will be disabled.

Mapping File Syntax

<ReaderKeyword>_SEARCH_ENVELOPE <minX> <minY> <maxX> <maxY>

Note: If all four coordinates of the search envelope are specified as zero, the search envelope will be disabled.

Required/Optional

Optional

Workbench Parameter

Minimum X, Minimum Y, Maximum X, Maximum Y

SEARCH_ENVELOPE_COORDINATE_SYSTEM

This directive specifies the coordinate system of the search envelope if it is different than the coordinate system of the data.

The COORDINATE_SYSTEM directive, which specifies the coordinate system associated with the data to be read, must always be set if the SEARCH_ENVELOPE_COORDINATE_SYSTEM directive is set.

If this directive is set, the minimum and maximum points of the search envelope are reprojected from the SEARCH_ENVELOPE_COORDINATE_SYSTEM to the reader COORDINATE_SYSTEM prior to applying the envelope.

Required/Optional

Optional

Mapping File Syntax

<ReaderKeyword>_SEARCH_ENVELOPE_COORDINATE_SYSTEM <coordinate system>

Workbench Parameter

Search Envelope Coordinate System

CLIP_TO_ENVELOPE

This directive specifies whether or not FME should clip features to the envelope specified in the SEARCH_ENVELOPE directive.

Values

YES | NO (default)

Mapping File Syntax

<ReaderKeyword>_CLIP_TO_ENVELOPE [yes | no]

Workbench Parameter

Clip To Envelope

EXPOSED_ATTRS

This directive allows the selection of format attributes to be explicitly added to the reader feature type.

This is similar to exposing format attributes on a reader feature type once it has been generated; however, it is even more powerful because it enables schema-driven applications other than Workbench to access and leverage these attributes as if they were explicitly on the schema as user attributes.

The result of picking a list of attributes is a comma-separated list of attribute names and types that will be added to the schema features. Currently all reader feature types will receive the same set of additional schema attributes for a given instance of the reader.

Required/Optional

Optional

Mapping File Syntax

Not applicable.

While it is possible for FME Objects applications to invoke this directive, the required format is not documented.

This directive is intended for use in our GUI applications (for example, Workbench) only.

Workbench Parameter

Additional Attributes to Expose