ID map file
The schema-companion to the Map external IDs task guide — which explains the compact-vs-full styles, the filter behavior, and pattern mapping. This page is the generated field list.
At a glance
Section titled “At a glance”Purpose : Translates an external system’s location/parameter names into FEWS internal names, at the import/export boundary (hop ②). Used in both directions.
Folder
: Config/IdMapFiles/
Root element
: <idMap> (version="1.1", required)
Referenced by
: idMapId in an import or export
module’s general block.
Minimal example
Section titled “Minimal example”<?xml version="1.0" encoding="UTF-8"?><idMap xmlns="http://www.wldelft.nl/fews" version="1.1"> <map internalLocation="RiverGauge_01" internalParameter="Q.obs" externalLocation="GAUGE-A" externalParameter="discharge"/></idMap>Field reference
Section titled “Field reference”Note the shape below: <map>, <parameter>, <location>, and friends carry
their content in attributes (e.g. internalLocation, externalParameter),
so each links to a table of attributes rather than child elements. The
top-level enableOneToOneMapping / enableCaseInsensitivity /
ignoreExternalQualifiersWhenMappingToInternal are empty-element flags.
Auto-generated from idMap.xsd. Descriptions are the schema's own annotations.
Element <idMap>
Attributes
| Attribute | Use | Notes |
|---|---|---|
version | required | fixed: 1.1. |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
enableOneToOneMapping | emptyElement | optional | When one to one mapping is enabled the internal ids are used as external ids when not mapped explicitly. When this option is not enabled the id map also acts as a filter when at least one location is mapped explicitly (using for example <location>). In that case, everything that is not mapped is not imported or exported. When not one location is mapped explicitly, enableOneToOneMapping is enabled by default but is good practice to explicitly configure the xml element. |
enableCaseInsensitivity | emptyElement | optional | When case insensitivity is enabled the mapping of external to internal ID's will be case insensitive during imports. |
ignoreExternalQualifiersWhenMappingToInternal | emptyElement | optional | When ignoreExternalQualifiersWhenMappingToInternal is enabled, external qualifiers er ignored when mapping external ids to internal ids. |
map | ParameterLocationIdMapComplexType | required | |
function | ParameterLocationIdFunctionMapComplexType | required | Uses attributes to map between external and internal ids. externalLocationIdFunction=H_@PARENT_ID@001 externalParameterIdFunction=@SOBEK_PAR@ |
moduleInstance | ModuleInstanceIdMapComplexType | optional · repeats | Since 2020.01. Maps one internal id module instance to one external module instance id. |
qualifierIdFunction | QualifierIdFunctionMapComplexType | optional · repeats | SINCE 2014.02. FEWS-10153. Used when the external qualifier id can be based on qualifier text attributes. eg @EXTERNAL_ID@. Mapping is added for all qualifiers that can provide the specified attribute |
parameter | ParameterIdMapComplexType | required | Maps one internal id parameter to one external parameter id. |
parameterIdFunction | ParameterIdFunctionMapComplexType | required | Used when the external parameter id can be based on parameter text attributes. eg @EXTERNAL_ID@. Mapping is added for all parameters that can provide the specified attribute |
location | LocationIdMapComplexType | required | Maps one internal id location to one external location id. |
locationIdPattern | LocationIdPatternMapComplexType | required | Maps all locations in a location set for all parameters at once by using the * wild card e.g internalId=H_* externalId=*, this removes all H_ prefixes from the location id during export or adds the H_ prefix during import. |
locationIdFunction | LocationIdFunctionMapComplexType | required | Used when the external location id can be based on location text attributes. eg @EXTERNAL_ID@ |
threshold | ThresholdIdMapComplexType | required · repeats | Since 2016.02 Map threshold ids to different names for export. First implemented for netcdf scalar export. |
ParameterLocationIdMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internalModuleInstance | optional | |
internalLocation | required | |
internalParameter | required | |
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalEnsemble | optional | |
internalEnsembleMemberIndex | optional | |
internalEnsembleMemberId | optional | Can be used instead of the internalEnsembleMemberIndex when the id is not an integer. |
externalModuleInstance | optional | |
externalLocation | required | |
externalParameter | required | |
externalParameterQualifier | optional | OBSOLETE, use externalQualifier instead |
externalQualifier | optional | External qualifier, when you have multiple qualifiers use externalQualifier1..4 |
externalQualifier1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalEnsemble | optional | |
externalEnsembleMemberIndex | optional | |
externalEnsembleMemberId | optional | Can be used instead of the externalEnsembleMemberIndex when the id is not an integer. Only works when non integer member ids are supported by the file format. |
ParameterLocationIdFunctionMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internalLocationSet | required | |
internalParameter | optional | |
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalEnsemble | optional | |
internalEnsembleMemberIndex | optional | |
internalEnsembleMemberId | optional | Can be used instead of the externalEnsembleMemberIndex when the id is not an integer. |
internalParameterFunction | optional | Should reference a location attribute not a parameter attribute |
internalQualifierFunction | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifierFunction1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifierFunction2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifierFunction3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifierFunction4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalEnsembleFunction | optional | |
internalEnsembleMemberIndexFunction | optional | |
internalEnsembleMemberIdFunction | optional | Can be used instead of the externalEnsembleMemberIndex when the id is not an integer. |
externalLocationFunction | required | |
externalLocationFunctionLookupAttributeId | optional | Since 2019.02. Required when the attribute referenced by the externalLocationFunction contains multiple values for a single location. When the lookup text is the nth value in the lookup attribute the nth initial value will be used. |
externalLocationFunctionLookupText | optional | Since 2019.02. Required when the attribute referenced by the externalLocationFunction contains multiple values for a single location. When the look-up value is the nth value in the lookup attribute the nth initial value will be used. |
externalParameterFunction | required | |
externalQualifierFunction | optional | Use this attribute when you have only one single external qualifier |
externalQualifierFunction1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalEnsembleFunction | optional | |
externalEnsembleMemberIndexFunction | optional | |
externalEnsembleMemberIdFunction | optional | Can be used instead of the externalEnsembleMemberIndexFunction when the id is not an integer. Only works when non integer member ids are supported by the file format. |
ModuleInstanceIdMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internal | required | |
external | required |
QualifierIdFunctionMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
externalQualifierFunction | required | Since 2014.02. FEWS-10153. e.g. @EXTERNAL_ID@ |
ParameterIdMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internal | required | |
internalEnsemble | optional | |
internalEnsembleMemberIndex | optional | |
internalEnsembleMemberId | optional | Can be used instead of the internalEnsembleMemberIndex when the id is not an integer. |
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
external | required | |
externalQualifier | optional | Use this attribute when you have only one single fews qualifier |
externalQualifier1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalEnsemble | optional | |
externalEnsembleMemberIndex | optional | |
externalEnsembleMemberId | optional | Can be used instead of the externalEnsembleMemberIndex when the id is not an integer. Only works when non integer member ids are supported by the file format. |
ParameterIdFunctionMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalParameterFunction | required | e.g. @EXTERNAL_ID@ |
externalQualifierFunction | optional | Use this attribute when you have only one single fews qualifier |
externalQualifierFunction1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
LocationIdMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internal | required | |
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
external | required | |
externalQualifier | optional | Use this attribute when you have only one single fews qualifier |
externalQualifier1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
LocationIdPatternMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internalLocationSet | required | |
internalLocationPattern | required | |
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalLocationPattern | required | |
externalQualifier | optional | Use this attribute when you have only one single fews qualifier |
externalQualifier1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifier4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
LocationIdFunctionMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internalLocationSet | required | |
internalQualifier | optional | FEWS qualifier, when you have multiple qualifiers use internalQualifier1..4 |
internalQualifier1 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier2 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier3 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
internalQualifier4 | optional | One of the FEWS qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalLocationFunction | required | e.g. @EXTERNAL_ID@ |
externalLocationFunctionLookupAttributeId | optional | Since 2019.02. Required when the attribute referenced by the externalLocationFunction contains multiple values for a single location. When the lookup text is the nth value in the lookup attribute the nth initial value will be used. |
externalLocationFunctionLookupText | optional | Since 2019.02. Required when the attribute referenced by the externalLocationFunction contains multiple values for a single location. When the look-up value is the nth value in the lookup attribute the nth initial value will be used. |
externalQualifierFunction | optional | Use this attribute when you have only one single fews qualifier |
externalQualifierFunction1 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction2 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction3 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
externalQualifierFunction4 | optional | One of the external qualifiers, the order of the qualifiers is insignificant, you can swap qualifier1 and qualifier2 without effect |
ThresholdIdMapComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
internal | required | |
external | required |
Gotchas
Section titled “Gotchas”Covered in depth in the task guide: silent filtering, exact-match by default (case and punctuation), the bidirectional nature (the same map drives export), and the compact cross-product. Version-suffix trap applies — see how FEWS finds a file.
See also
Section titled “See also”- Task guide: Map external IDs (ID mapping)
- Task guides that reference maps: Import · Export
- Schema:
idMap.xsd