The product information file structure. Tags can be placed in any order, but child tags must be inside parent tags. Tags are shown without attributes.
<ProductTable> |
<product> |
<prsp value/> |
<psdn/> |
<prof/> |
<sted value/> |
<pred value/> |
<usageChar/> |
<lines_as_arcs/> |
<dsid_comt/> |
<dspm_comt/> |
<COMF/> |
<SOMF/> |
<usages> |
<band/> |
</usages> |
<full_precision/> |
<catalogue/> |
<group_table/> |
<national_attributes> |
<acronym/> |
</national_attributes> |
<units> |
<ApplySoundingRoundingToDepthAttributes/> |
<unit/> |
<RoundingRules> |
<Rule/> |
</RoundingRules> |
</units> |
<datums> |
<dat/> |
</datums> |
<lexicalLevels> |
<level/> |
</lexicalLevels> |
<securityClassifications> |
<classification> |
<default/> |
</classification> |
</securityClassifications> |
<IDOStatusList> |
<status/> |
</IDOStatusList> |
<dataSetName> |
<prefixes> |
<prefix/> |
</prefixes> |
</dataSetName> |
<ExchangeSet/> |
<natoCodesFile/> |
<RiverCodes> |
<code/> |
</RiverCodes> |
<metaObjects> |
<object> |
<attribute/> |
</object> |
</metaObjects> |
<productFileZResolution/> |
</product> |
</ProductTable> |
The file must always contain the following header information.
<?xml version="1.0" encoding="UTF-8" ?> |
The following table describes the tags and associated attributes in the product information file.
Red tags are parent tags that contain child tags. The others are either child tags within a parent tag or tags that do not contain child tags.
Tags that are marked with an asterisk (*) are not included in the existing product information files. If a parent tag is marked with an asterisk, then the associated child tags are also not included in the file. These tags can be entered manually and read by the Product Editor application.
The tags in this table are common to both S-57 and S-100 products:
Tag | Attribute | Description |
|---|---|---|
ProductTable | Root tag for all tags in this file. This tag is mandatory. <ProductTable version="2.0" title="Product Descriptions" type="S-57 ENC, AML, IENC"> | |
version | Product information file version. It must currently be set at 2.0 | |
title | Description for the file. | |
type | The product type that can created using this file. If you add custom products, make sure to add the product to this list | |
product | Identification of the product. This tag is mandatory. Example: <product id="ENC" version="3.1" key="ENC"> The product information file can be extended to include custom products from generic S-57 products. Below is an entry for a PENC product that is built from a generic S-57 product. <product id="PENC" version="1.0" key="GENERIC"> | |
ID | Product acronym. ID can be used with a version attribute to retrieve particular product information or it can used by itself to retrieve a set of product information data. This attribute is mandatory. | |
version | The version of the product. This attribute is mandatory. | |
key | Product type. The tag is a keyword to group products into different types. It is used by the Create Product wizard to list products and to provide information about which dialog boxes to show and which data to be filed. The following valid keys can be used: • AML (S-57 AML products) • ENC (S-57 ENC products) • IENC (inland ENC) • IENC_Overlay (IENC overlay) • GENERIC (S-57 generic products) This attribute is mandatory | |
| value | The product specification number. This tag is mandatory. The value can be between 0 and 255. Example: <prsp value="1" /> |
| value | The product specification description. This tag is mandatory. Example: <psdn value="Contour Line Bathymetry" /> |
| The value to export to the S-57 file’s application profile identification field (PROF). Values for the base and update cells must be provided. <prof base="1" revision="2" /> | |
base | A value between 0 and 255. | |
revision | A value between 0 and 255 | |
| value | The S-57 edition number. This tag is mandatory. Example: <sted value="3.1" /> |
| value | The product edition number. This tag is mandatory. Example: <pred value="2.0" /> |
| value | A character to describe an IENC overlay. The value attribute can be set to L or IENC overlay 2.0 or A for IENC Overlay. This tag is optional and is only used with IENC overlay products. Example: <usageChar value="L" /> |
| value | A flag to indicate if lines should be treated as arcs. This is an optional tag. The attribute is a Boolean value – T for true or F for false. Example: <lines_as_arcs value="T" /> |
| value | A tag that contains dataset identification (DSID) value. The value is displayed in the Create Product wizard. Example: <dsid_comt value="STED:3.1.1;" mandatory="T" /> |
mandatory | A flag to indicate whether the value attribute is included in the New S-57 Product wizard. The attribute is a Boolean value – T for true (the string is included in the wizard) or F for false (the string is not included in the wizard). | |
| value | A tag that contains the dataset parameter (DSPM) values. Example <dspm_comt value="comments" /> |
| value | The default coordinate multiplication factor. If this tag is omitted, the default value is 10,000,000. Example: <COMF value="1000000" /> |
| value | The sounding multiplication factor. If this tag is omitted, the default is 10 Example: <SOMF value="100" /> |
| Parent tag for a list of valid usages associated with the product. This tag is mandatory and must contain at least one child layer. Example: <usages> <band value="1" intu="1" description="Overview" /> <band value="2" intu="2" description="General" /> <band value="3" intu="3" description="Coastal" /> <band value="4" intu="4" description="Approach" /> <band value="5" intu="5" description="Harbour" /> <band value="6" intu="6" description="Berthing" /> </usages> | |
| Child tag of the usages tag that defines each usage associated with the product. | |
value | Value for the usage band | |
intu | Intended usage value of the band (from 0-255) | |
description | Short description of the band | |
| — | A flag to indicate if float-type attributes will be exported using full precision. If this tag is omitted, attributes are rounded using the precision in the feature catalogue. Example: <full_precision /> |
| value | A reference to the catalogue ID that maps to the catalogue control file. This enables the selection of product information (for example, AML plus matching catalogue) in a single step. This field is mandatory. Example <catalogue value="S-57 CLB 1.0" /> |
| value | The full path to the group lookup table. This tag is mandatory. <group_table value="%S57Config%/system/ENCGroupTable.xml" /> |
| Parent tag for a list of valid national attributes for each product. This is an optional tag. Example: <national_attributes> <acronym value="NINFOM" /> <acronym value="NOBJNM" /> <acronym value="NPLDST" /> <acronym value="$NTXST" /> <acronym value="NTXTDS" /> </national_attributes> | |
| value | national attributes. |
| Type | Type of unit and description for exporting depth, height, position accuracy, and Z values to the S-57 file. These are optional tags. If they are not included, then metres is used as the default unit of measurement. Examples: <units type="depth"> <units type="height"> <units type="positional accuracy"> |
| Apply the sounding rounding rule to depth attribute values when the product is exported to an S-57 exchange set. Example: <ApplySoundingRoundingToDepthAttributes /> | |
| A child tag to further define the units tag. Example of the depth units tag: <units type="depth"> <unit id="1" description="metres" /> </units> Other depth unit examples are shown below. <unit id="2" description="fathoms and feet" /> <unit id="3" description="feet" /> <unit id="4" description="fathoms and fractions" /> Height unit example for metres: <units type="height"> <unit id="1" description="metres" /> </units> Height unit example for feet: <unit id="2" description="feet" /> Example of the position unit tag: <units type="positional accuracy"> <unit id="1" description="metres" /> </units> Position unit example for feet: <unit id="4" description="feet" /> | |
ID | Numeric value for positional accuracy unit. The values are as follows: • 1 - metres • 2 - fathoms and feet • 3 - feet • 4 - fathoms and fractions The ID values can be applied to the following unit types • Depth units - 1,2, 3, or 4. • Height units - 1 or 2. • Positional accuracy units - 1, 3, or 4 | |
description | A brief description of the unit. | |
| A parent tag containing sounding rounding rules. Example: <RoundingRules> <Rule>Default Feet</Rule> <Rule>NOAA Feet</Rule> </RoundingRules> | |
| A child tag for individual sounding rounding rules. | |
| type | Parent tag for horizontal, vertical, and sounding datum information. Each datum type must have at least one entry. Example: <datums type="horizontal"> |
| Child tag of the datum tag for individual horizontal, vertical, and sounding datum entries Example: <datums type="horizontal"> <dat id="2" description="WGS 84" /> </datums> | |
ID | A numerical value for the datum. It must be 0 and 255. If the datum type is horizontal then it must be set to 2. | |
description | A description that is shown in the Create Product wizard dialog box. | |
| type | Parent tag for the lexical level for the product. Each lexical level type must have one entry. Example: <lexicalLevels type="ATTF"> or <lexicalLevels type="NATF"> |
| Child tag of lexicalLevel. Example <lexicalLevels type="ATTF"> <level id="0" description="Lexical Level 0" /> <level id="1" description="Lexical Level 1" /> </lexicalLevels> | |
ID | Numerical value for the lexical level entry. | |
description | Textual description of the level. | |
| A parent tag for security classification of AML products. The tag is mandatory and must contain at least one entry. Example: <securityClassifications> <classification id="501" value="N" description="cosmic top secret" /> <classification id="502" value="W" description="focal top secret" /> <classification id="503" value="T" description="top secret" /> <classification id="504" value="S" description="secret" /> <classification id="505" value="C" description="confidential" /> <classification id="506" value="R" description="restricted" /> <classification id="507" value="U" description="unclassified" /> <default/> </securityClassifications> | |
| A child tag of securityClassification tag. It contains specific classification levels. | |
ID | Numeric value for the security rating (must be greater than 0). | |
value | The enumerated value for the security classification. | |
description | Textual description of the classification. | |
| A child tag of the securityClassification tag. This sets the classification level that is displayed in the Security Classification field in Create S-57 Product wizard dialog box. The default tag can be applied only to a single classification level. In the above example, the classification with the value "U" is made the default. | |
| A parent tag for listing International Defense Organization (IDO) status information for AML. This tag is mandatory for AML products and contain at least one entry. Example: <IDOStatusList> <status id="501" description="NATO: North Atlantic Treaty Organisation" /> <status id="502" description="NACC: North Atlantic Co-operation Council" /> <status id="503" description="PfP: Partnership for Peace" /> <status id="504" description="WEU: Western European Union" /> </IDOStatusList> | |
| A child tag to IDOStatusList for IDO types. | |
ID | The enumerated status entry (must be greater than 0). | |
description | Textual description of the IDO type. | |
| A tag to set the total number of characters that can be used in a file name. Example: <dataSetName minIDCodeLen="1" maxIDCodeLen="99"/> <prefixes> <prefix value="1C80"/> <prefix value="1C81"/> <prefix value="1C82"/> <prefix value="1C83"/> <prefix value="1C84"/> <prefix value="1C85"/> </prefixes> </dataSetName> | |
minID CodeLen | The minimum number of characters that can be entered in a file name. | |
maxID CodeLen | The maximum number of characters that can be entered in a file name. | |
| The parent tag for listing prefixes. | |
| value | Child tag of prefixes. Agency code to be appended to the file name. |
| Type | A tag declaring that an exchange set is for a Generic product type. The Generic exchange has only one level and does not include an ENC_ROOT folder. Example: <ExchangeSet type="GENERIC"/> |
| value | The path and name of the file containing a list of NATO country codes for AML products. The default file is natocodes.txt in Example: <natoCodesFile value="%objXs57parms%/natocodes.txt"/> |
| Parent tag for waterway codes in an Inland ENC (IENC) or Inland ENC overlay. This tag is mandatory for IENC and IENC overlays. Example: <riverCodes> <code id="D0" description="Danube" remark="km 0 - 1000 (with Sulina Branch)" /> <code id="D1" description="Danube" /> </riverCodes> | |
| Child tag for the riverCodes tag. This tag contains specific river codes. | |
ID | Enumerated value for the waterway. It must be 1 to 3 characters. | |
remark | Textual comment that viewed by the user (optional). | |
description | Textual description for the waterway. | |
| Parent tag to set the meta object features for a product. When the product is created, the meta objects listed in the file are automatically included. Two tags are used, <dataArea> and <noDataArea>. The coverage of the <dataArea> objects are the same as the products data extent. The coverage of <noDataArea> objects are the difference between data areas and the product extents, this only applies to database products. Example: <metaObjects> <dataArea> <object acronym="M_COVR"> <attribute acronym="CATCOV" value="1"/> </object> <object acronym="m_conf"> <attribute acronym="catcnf" value="501"/> </object> </dataArea> <noDataArea> <object acronym="M_COVR"> <attribute acronym="CATCOV" value="2"/> </object> </noDataArea> </metaObjects> | |
| acronym | Child tag of the metaObjects tag. The feature acronym of the meta object. |
| acronym | Child tag of the Object tag. The acronym of an attribute associated with the meta object. |
value | The value of the attribute. | |
| value | This tag sets the precision for depth units in the product HOB file. Example: <ProductFileZResolution value="0.001" /> |
Most tags in the file can be applied to all products but the following tags are relevant only for specific products:
Tag | Product |
|---|---|
<securityClassification> | AML. |
<IDOStatusList> | AML |
<natoCodesFile> | AML |
<riverCodes> | Inland ENC (IENC) and IENC overlays |
<usageChar> | IENC overlays |
These tags are used solely for S-100 products:
Tag | Description |
|---|---|
productSpecificationVersion | The product specification version of the product. Attribute • |
productSpecificationDate | The publication date of the product specification that this product is compliant with. Attribute
|
productSpecificationNumber | The product specification number. This is product specific. S-101 uses " Attribute
|
Datatype | The data type used for this product when exported. Attribute
|
ens | The encoding specification that this product is compliant with. Attribute
|
ened | The encoding specification edition that this product is compliant with. Attribute
|
dsl | The dataset language code. Attribute
|
exchangeSetSupportFolder | The name of the folder within the exported exchange set where support files will be placed on export. The default value is "support" but this can be changed if another folder name is desired. Attribute
|
datasetDiscoveryMetadata | The dataset discovery metadata for this product. The dataset discovery metadata is stored with the product and is written to the exchange set catalogue when exchange sets are being created/updated on export. This tag uses multiple attributes: Attributes • • • • • • • • • • • The order the attributes are listed in is important as this is the order in which they will be exported to the exchange set catalogue file. |
exchangeCatalogueMetadata | The exchange catalogue metadata for this product. The exchange catalogue metadata is stored with the product and is written to the exchange set catalogue when exchange sets are being created on export. This tag uses multiple attributes: Attributes • • • • • • • • • • • The order the attributes are listed in is important as this is the order in which they will be exported to the exchange set catalogue file. |
supportFileDiscoveryMetadata | The support file discovery metadata for this product. The support file discovery metadata is created on export for each external support file referenced by feature attributes and is written to the exchange set catalogue when exchange sets are being created/updated on export. This tag uses multiple attributes: Attributes • • • • • • • • • • • The order the attributes are listed in is important as this is the order in which they will be exported to the exchange set catalogue file. |