[Name] FEATURE_TYPES [Description] Allows the user to pick from the various feature types of a format. Returns these as an FMEStringArray. The connection information necessary to create the FMEObjects connection will be specified in , which can contain macro references. If it contains macro references, then those macros must have values before the feature type picker can be enabled. Macro references can be specified as $[]. There is one exception: when specifying the value for _DATASET_OVERRIDE_ as macro reference, do not enclose the macro name in square brackets. Instead just specify the macro name as the value for the directive. E.g _DATASET_OVERRIDE_ SourceDataset_MDB_ADO_1. The connection string should contain the location of the dataset, followed by key-value pairs. For example: $[DATASET],SERVER_TYPE,$[SERVER_TYPE],USER_NAME,$[USER_NAME],PASSWORD,$[PASSWORD] Optionally dataset and format override can be provided like this: $[DATASET],_DATASET_OVERRIDE_,,_FORMAT_OVERRIDE_,,SERVER_TYPE,$[SERVER_TYPE],USER_NAME,$[USER_NAME],PASSWORD,$[PASSWORD] Optional directives or keywords that are processed include: - REMOVE_SCHEMA_QUALIFIER - obsolete; has no effect - LIST_WORKSPACES - legacy directive whose only effect now is to make the widget accept only a single selection (as if the type were DYNAMIC_SINGLE_SELECT) - _FORMAT_OVERRIDE_ - If specified then its value will be used for the format name. - _DATASET_OVERRIDE_ - If specified then its value will be used instead of the $[DATASET]. Value for this directive is the macro name to use for source dataset. Do not enclose the macro name in square brackets (like $[...]) - _DEFAULT_FILTER_ - Provides a default filter for the feature type list. - _SUPPORTS_PUBLISHED_DYNAMIC_FEATURE_TYPES - obsolete; has no effect - _DISPLAY_MATCHING_ATTRIBUTES_ - obsolete; not in use anywhere Optionally, to use as a path scanner for documents: $[DATASET],_GET_ATTRIBUTE_VALUES_,,FME_DELIM,,FME_READ_SCHEMA,,FME_DN_ATTR,,FME_PATH_ATTR,,FME_PARENT_SELECTION, where - _GET_ATTRIBUTE_VALUES_ - Obtains a map of attribute names to its attribute value. - FME_DELIM - Specifies a FMEParsableText character to use as a delimiter if a tree-structure is desired. - FME_RESULT_TYPE - Specifies the type of the values to display in the selection widget, so that they can be displayed in one way and saved in another. Currently, only STRING and DATE are supported. Default is STRING. - FME_PARENT_SELECTION: valid only if FME_DELIM is specified. This specifies how to handle parents that are themselves selectable root_node - indicates that the parent should only appear once in the tree. Selecting it will not select the children automatically. leaf_node - indicates the parent should appear twice in the tree. Once with its children below and once as a leaf node. This allows all children to be selected if the root parent is selected. - FME_MAX_DEPTH - valid only if FME_DELIM is specified. Specifies a maximum number of delimiters to parse; delimiters beyond will be ignored. A maximum depth of less than zero is treated as no maximum depth. The default is to parse all delimiters. - FME_READ_SCHEMA - If set to YES, a readSchema() call will be made. If set to NO, a read() call will be made. - FME_DN_ATTR - The name of the attributes containing values to display within the selection widget. - FME_PATH_ATTR - The name of the attributes containing the values the backend expects. If this macro is not specified, attributes from FME_DN_ATTR are used. Otherwise, the corresponding element from FME_DN_ATTR will be replaced with FME_PATH_ATTR after user selection. eg. A read()/readSchema() returns a feature with the following attributes: xmlpath{0}.display_value = wfs:FeatureCollection gml:featureMember udx:UDXF917 udx:tmGeometry gml:LineString gml:coordinates xmlpath{0}.feature_path = FeatureCollection/featureMember/UDXF917/tmGeometry/LineString/coordinates - FME_EXPAND - Takes a list of '%' separated item names to have expanded on display of widget. Currently only accepts items at top level. eg. Accepts wfs:FeatureCollection, but not wfs:FeatureCollection gml:featureMember - _ALLOW_ORDERING_ - [YES|NO] YES: Allows the user to reorder the items in the list. The returned value will reflect this order. NO: User cannot re-order items. Items will be returned in the order they are displayed in the UI. We might also have a syntax (like -$(MACRONAME)) to indicate that a blank value for that macro is okay (i.e. for Oracle dataset, or ODBC password). Note that RETRIEVE_ALL_TABLE_NAMES YES is automatically added to the connection string for FEATURE_TYPES. To have FEATURE_TYPES GUI directive work, you need to use two special macro names. Macro DATASET is used to pass the value of dataset between source/destination prompt and setting box. Macro TABLELIST is used by the GUI framework to temporarily store the feature type list and then convert to ID list for the reader. See example below. Similarly the macro DESTINATION_TABLELIST is used for the special cases where the writer uses the reader::readSchema() call to populate its schemas. In a Transformer (*.fmx) File Syntax PARAMETER_NAME: PARAMETER_TYPE: FEATURE_TYPES PARAMETER_PROMPT: