Environmental Data Coding Specification (EDCS)

11 Conformance

11.1 Introduction

11.1.1 Table of contents

Table 11.1 — Table of contents
11.1 Introduction 11.2.3.2 Conformance of generators of exchange formats
11.1.1 Table of contents 11.2.3.3 Conformance of readers of exchange formats
11.1.2 Overview 11.2.4 Conformance of language bindings of EDCS
11.2 Conformance 11.3 Minimum requirements
11.2.1 Conformance to EDCS elements 11.3.1 Minimum requirements for conformance of use of EDCS dictionary entries
11.2.1.1 Introduction 11.3.2 Minimum requirements for language bindings conforming to the EDCS API
11.2.1.2 Conformance to an EDCS label 11.3.3 Minimum requirements for EDCS profiles
11.2.1.3 Conformance to an EDCS code 11.3.3.1 General requirements
11.2.1.4 Conformance to the representation of an EDCS attribute value 11.3.3.2 Minimum requirements for standardized EDCS profiles
11.2.1.5 Conformance to an EDCS profile 11.3.3.3 Minimum requirements for registered EDCS profiles
11.2.2 Conformance of information coding specifications, applications, data models and exchange formats 11.4 Definition of standardized EDCS profiles
11.2.3 Conformance of generators and/or readers of exchange formats 11.4.1 Definition of the EDCS default profile
11.2.3.1 Introduction 11.4.2 Definition of the EDCS unit profile

Table 11.2 — Table of tables
Table 11.1 — Table of contents Table 11.3 — EDCS_2_0_DEFAULT_PROFILE
Table 11.2 — Table of tables Table 11.4 — EDCS_2_0_UNIT_PROFILE

11.1.2 Overview

This International Standard specifies the requirements for conformance to EDCS labels, EDCS codes, the representations of EDCS attribute values, and/or EDCS profiles. These are collectively termed EDCS elements.

This International Standard also specifies the conformance requirements of the following:

  1. information coding specifications, applications, data models, and exchange formats that use EDCS labels, EDCS codes, the representations of EDCS attribute values, and/or EDCS profiles;
  2. generators and/or readers of the content of exchange formats that contain EDCS elements; and
  3. programming language bindings of EDCS.

Conformance requirements include the degree of flexibility allowed for all uses of EDCS. This International Standard does not directly address the hardware, software, and/or performance requirements of applications, generators, and/or readers, nor does it dictate the functionality of applications, data models, generators, and/or readers that may incorporate EDCS labels, EDCS codes, the representations of EDCS attribute values, and/or EDCS profiles.

Profile conformance provides for the specification of well-defined subsets of this International Standard. The default profile requires support for the EDCS codes and EDCS labels for all EDCS dictionary entries. Additionally, the default profile requires support for the EDCS abstract elements and associated EDCS representation types as specified in Table 9.5.

11.2 Conformance

11.2.1 Conformance to EDCS elements

11.2.1.1 Introduction

An information coding specification, application, data model, and/or exchange format may conform to:

  1. an EDCS label,
  2. an EDCS code,
  3. a representation of an EDCS attribute value, and/or
  4. an EDCS profile.

11.2.1.2 Conformance to an EDCS label

Let L be an EDCS label defined either in this International Standard or by registration. An information coding specification, application, data model, and/or exchange format conforming to EDCS label L shall:

  1. Use EDCS label L to convey the concept that is denoted by label L.
  2. Use EDCS label L without modification.
  3. Use an EDCS representation type specified in Table 9.5 for EDCS label L.

11.2.1.3 Conformance to an EDCS code

Let C be an EDCS code defined either in this International Standard or by registration. An information coding specification, application, data model, and/or exchange format conforming to EDCS code C shall:

  1. Use EDCS code C to convey the concept that is denoted by code C.
  2. Use EDCS code C without modification.
  3. Use the EDCS representation type specified in Table 9.5 for EDCS code C.

11.2.1.4 Conformance to the representation of an EDCS attribute value

Let R be the representation of an EDCS attribute value type T for EDCS attribute A defined in either this International Standard or by registration. An information coding specification, application, data model, and/or exchange format conforming to the representation of EDCS attribute A shall meet the following requirements:

  1. R is a corresponding EDCS representation type specified in Table 9.5 for EDCS attribute value type T.
  2. Any conditions specified in the concept definition of EDCS attribute A shall be met.
  3. If the EDCS attribute value type T is REAL:
    1. an EU shall also be specified in accordance with the provisions of 11.2.1.2 and/or 11.2.1.3,
    2. the specified EU shall be a member of the EQ specified by EDCS attribute A, and
    3. an ES shall also be specified in accordance with the provisions of 11.2.1.2 and/or 11.2.1.3.
  4. If the EDCS attribute value type T is CONSTRAINED_STRING and the scheme identifying the constraint for T is specified by an associated EDCS attribute S of EDCS attributed value type ENUMERATION, an EE of S shall be specified.
  5. If the EDCS attribute value type T is ENUMERATION, an EE of EDCS attribute A shall be specified.

11.2.1.5 Conformance to an EDCS profile

The concept of an EDCS profile is defined in 10.16. Two EDCS profiles are defined in this International Standard. These are the EDCS default profile (see 11.4.1) and the EDCS unit profile (see 11.4.2).

Let P be an EDCS profile defined either in this International Standard or by registration. An information coding specification, application, data model, and/or exchange format conforming to an EDCS profile P shall:

  1. Only use those EDCS elements specifically allowed in P.
  2. Report encountered EDCS elements not in P as errors.
  3. Satisfy the constraints defined by P.

Use of EDCS shall conform to at least one of the following types of profiles:

  1. profiles specified in this International Standard, and/or
  2. one or more registered EDCS profiles.

If no profile has been specified, it is assumed that conformance to the EDCS default profile is intended.

11.2.2 Conformance of information coding specifications, applications, data models and exchange formats

Let P be one of the profiles specified in 11.2.1.5. An information coding specification, application, data model, or exchange format conforming to profile P shall:

  1. Satisfy the provisions of 11.2.1.5.
  2. Use each EDCS dictionary entry utilized by the information coding specification, application, data model, or exchange format to convey the concept as defined either in this International Standard or by registration.
  3. Denote the concept for each dictionary entry used in the information coding specification, application, data model, or exchange format using the corresponding EDCS label and/or EDCS code, as defined either in this International Standard or by registration.
  4. For each EDCS attribute entry specified in profile P, support the corresponding EDCS representation types allowed by profile P.
  5. For each EDCS attribute value specified in profile P, support each representation of that EDCS attribute value allowed by profile P.
  6. Identify the EDCS profile(s) used in the information coding specification, application, data model, or exchange format by providing the label and/or code for each of the EDCS profile(s).

11.2.3 Conformance of generators and/or readers of exchange formats

11.2.3.1 Introduction

Generators and readers of exchange formats that use EDCS elements have different conformance requirements. The different requirements for generators and readers are specified below.

11.2.3.2 Conformance of generators of exchange formats

Let P be one of the profiles specified in 11.2.1.5. An application that generates an exchange format that conforms to profile P shall:

  1. Generate EDCS labels and/or EDCS codes, as specified in profile P.
  2. Denote the concept of each EDCS dictionary entry in profile P used in the exchange format using either the corresponding EDCS label or EDCS code or both, as defined either in this International Standard or by registration.
  3. Satisfy any EDCS profile constraints defined in profile P.
  4. For each EDCS attribute value specified in profile P, support each representation of that EDCS attribute value allowed by profile P.
  5. Generate only those EDCS representation types allowed by profile P.
  6. Include the EDCS profile label and/or EDCS profile code of each of the EDCS profile(s) used in the exchange format such that the readers of the exchange format can identify the profile.

11.2.3.3 Conformance of readers of exchange formats

Let P be one of the profiles specified in 11.2.1.5. An application that reads an exchange format that conforms to profile P shall:

  1. Correctly interpret the concept for each EDCS dictionary entry in profile P, given at least one of the corresponding EDCS labels and/or EDCS codes defined either in this International Standard or by registration.
  2. For each EDCS attribute value specified in profile P, support each representation of that EDCS attribute value allowed by profile P.
  3. Read each EDCS representation type allowed by profile P.
  4. Read the EDCS profile label and/or EDCS profile code used in the exchange format and make the EDCS profile label and/or EDCS profile code available for further identification and/or use.

11.2.4 Conformance of language bindings of EDCS

This International Standard specifies the conformance of programming language bindings of EDCS. Conformance requirements include the degree of flexibility allowed when performing conversions of EDCS attribute values given with respect to different units of measure and unit scales. This International Standard does not directly address the hardware, software and/or performance requirements of implementations of the EDCS API, nor does it dictate the functionality of applications that may use the EDCS API.

A conforming programming language binding of EDCS shall:

  1. Specify a mapping of each EDCS construct specified in 9.2 to an appropriate construct within the programming language in such a manner as to maintain the EDCS constructs in this International Standard as closely as possible within the strictures of that programming language.
  2. Specify a mapping of each EDCS label used in 9.4 to either an identifier or a constant within the programming language in such a manner as to maintain the EDCS labels specified either in this International Standard or by registration as closely as possible within the strictures of that programming language.
  3. Specify a mapping of each EDCS code used in 9.4 to an integer within the programming language in such a manner as to use the exact EDCS codes specified either in this International Standard or by registration.
  4. Specify a mapping of each constant in 9.5 to a constant within the programming language in such a manner as to use the exact constant value specified in this International Standard.
  5. Bind all of the functions specified in 9.6, including output parameters and return values.
  6. Specify clauses defining conformance and minimum requirements of implementations of that binding.

Programming language bindings are allowed to prepend and/or postpend additional information to an EDCS label and/or abbreviate components of an EDCS label to make the symbolic constant corresponding to an EDCS label unique and identifiable as part of the language binding while following the strictures of the programming language to which a label is bound (see 9.4).

If a programming language binding standard exists for the programming language in question, the provisions of that standard shall be followed.

All programming language bindings shall apply the following provisions:

  1. Each of the EDCS representation types specified in Table 9.5 shall be bound to a data type in the programming language.
  2. Each of the symbolic constants in this International Standard that represent an EDCS label shall correspond to a value of a data type in the programming language that exactly represents the corresponding EDCS code value.
  3. The symbolic constants to which EDCS labels are bound shall follow the culture of the programming language while maintaining the EDCS labels as closely as possible.

11.3 Minimum requirements

11.3.1 Minimum requirements for conformance of use of EDCS dictionary entries

There are no additional minimum requirements for conformance to an EDCS label, an EDCS code, and/or the representation of an EDCS attribute value. The minimum requirements for the representation of EDCS attribute values are given in 11.2.1.4. Application requirements may be met by using any:

  1. EDCS label,
  2. collection of EDCS labels,
  3. EDCS code,
  4. collection of EDCS codes,
  5. representation of an EDCS attribute value, and/or
  6. collection of representations of EDCS attribute values.

11.3.2 Minimum requirements for language bindings conforming to the EDCS API

All implementations of language bindings to the EDCS application program interface shall support the API as specified in Clause 9.

11.3.3 Minimum requirements for EDCS profiles

11.3.3.1 General requirements

An implementation conforming to an EDCS profile shall support all EDCS codes, EDCS labels, EDCS attribute value types, and their corresponding EDCS representation types that are specified in that profile, as specified in 11.2.

11.3.3.2 Minimum requirements for standardized EDCS profiles

There are no requirements, other than those specified in 11.3.3.1, for implementations conforming to standardized EDCS profiles.

The definitions of standardized EDCS profiles are specified in 11.4.

11.3.3.3 Minimum requirements for registered EDCS profiles

A registered EDCS profile shall include at least one concept from an EDCS dictionary and its corresponding EDCS code and EDCS label, as well as the EDCS representation types for EDCS codes and EDCS labels as specified in Table 9.5.

A registered EDCS profile may contain any number of EDCS profile constraints including zero.

11.4 Definition of standardized EDCS profiles

11.4.1 Definition of the EDCS default profile

The EDCS default profile is defined in Table 11.3.

Table 11.3 — EDCS_2_0_DEFAULT_PROFILE
Label Description Standard edition Amendment
number(s)
Registered
concepts
Code Dictionaries used
EDCS_2_0_DEFAULT_PROFILE EDCS edition 2 default profile 2 0 No 3 EC, EA, EV, EE, EU, ES, EQ, EO, EG
 
Dictionaries used Concept labels Constraints
EA All EAs defined in edition 2 of this International Standard None
EC All ECs defined in edition 2 of this International Standard None
EV All EVs defined in edition 2 of this International Standard None
EE All EEs defined in edition 2 of this International Standard None
EU All EUs defined in edition 2 of this International Standard None
ES All ESs defined in edition 2 of this International Standard None
EQ All EQs defined in edition 2 of this International Standard None
EO All EOs defined in edition 2 of this International Standard None
EG All EGs defined in edition 2 of this International Standard None

11.4.2 Definition of the EDCS unit profile

The EDCS unit profile is defined in Table 11.4.

Table 11.4 — EDCS_2_0_UNIT_PROFILE
Label Description Standard edition Amendment
number(s)
Registered
concepts
Code Dictionaries used
EDCS_2_0_UNIT_PROFILE EDCS edition 2 unit profile 2 0 No 4 EU, ES, EQ
 
Dictionaries used Concept labels Constraints
EU All EUs defined in edition 2 of this International Standard None
ES All ESs defined in edition 2 of this International Standard None
EQ All EQs defined in edition 2 of this International Standard None