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.1 Introduction
11.1.1 Table of contents 11.2.3.2 Conformance of exchange formats
11.1.2 Overview 11.2.3.3 Conformance of applications that generate exchange formats
11.2 Conformance  11.2.3.4 Conformance of applications that read exchange formats
11.2.1 Conformance of exchange formats and applications 11.3 Minimum requirements
11.2.1.1 Introduction 11.3.1 Minimum requirements for EDCS label, EDCS code and representation of EDCS attribute value conformance
11.2.1.2 Conformance to an EDCS label 11.3.2 Minimum requirements for language bindings conforming to the EDCS API
11.2.1.3 Conformance to an EDCS code 11.3.3 Minimum requirements for the EDCS default profile
11.2.1.4 Conformance to the representation of an EDCS attribute value 11.3.4 Minimum requirements for the EDCS unit profile
11.2.2 Conformance of language bindings to the EDCS API 11.3.5 Minimum requirements for registered EDCS profiles
11.2.3 Conformance to EDCS profiles  

Table 11.2 — Table of tables
Table 11.1 — Table of contents Table 11.3 — Minimum requirements for EDCS API conformance
Table 11.2 — Table of tables  

11.1.2 Overview

This clause specifies conformance of:

  1. exchange formats that use EDCS labels, EDCS codes, and/or representations of EDCS attribute values;
  2. applications that generate and/or read these exchange formats; and
  3. language bindings that implement the EDCS application program interface.

Conformance enhances the likelihood of successful interoperability among applications.

Profile conformance provides for the specification of well-known 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 of exchange formats and applications

11.2.1.1 Introduction

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

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

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, and/or exchange format conforming to an 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, and/or exchange format conforming to an 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, 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 rules 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.2 Conformance of language bindings to the EDCS API

This International Standard language specifies the conformance of programming language bindings that realize the EDCS API. 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.

An EDCS API language binding conforming information coding application shall:

  1. Specify a mapping of each EDCS label used in 9.4 to an 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.
  2. 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.
  3. 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.
  4. Bind all of the functions specified in 9.6, including output parameters and return values.
  5. 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.2.3 Conformance to EDCS profiles

11.2.3.1 Introduction

This International Standard specifies the conformance of exchange formats that incorporate EDCS labels, EDCS codes, and/or the representations of EDCS attribute values, as well as conformance requirements for generators and readers of these exchange formats. Conformance requirements include the degree of flexibility allowed for generators and readers of such formats. This International Standard does not directly address the hardware, software, and/or performance requirements of generators and/or readers, nor does it dictate the functionality of generators and/or readers that may incorporate EDCS labels, EDCS codes, and/or the representations of EDCS attribute values.

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.3.3) and the EDCS unit profile (see 11.3.4). Other profiles may be developed and registered as EDCS profiles. Conformance is specified in the context of an EDCS profile for:

  1. applications that generate exchange formats,
  2. exchange formats themselves, and
  3. applications that read exchange formats.

11.2.3.2 Conformance of exchange formats

Let P be one of: the EDCS default profile, the EDCS unit profile, or a registered EDCS profile. An EDCS exchange format conforming to profile P shall:

  1. Include only the EDCS dictionary entries in profile P.
  2. Use each EDCS dictionary entry used in the 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 exchange format using either the corresponding EDCS label or EDCS code or both, as defined either in this International Standard or by registration.
  4. Satisfy any EDCS profile constraints defined in profile P.
  5. Support each representation of an EDCS attribute value supported in profile P.
  6. Support each EDCS representation type supported in profile P.

11.2.3.3 Conformance of applications that generate exchange formats

Let P be one of: the EDCS default profile, the EDCS unit profile, or a registered EDCS profile. An application that generates an exchange format based on the EDCS that conforms to profile P shall:

  1. Generate either EDCS labels or EDCS codes or both 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. Support each representation of an EDCS attribute value supported in profile P.
  5. Generate only those EDCS representation types supported in profile P.

11.2.3.4 Conformance of applications that read exchange formats

Let P be one of: the EDCS default profile, the EDCS unit profile, or a registered EDCS profile. An EDCS reader conforming 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. Support each representation of an EDCS attribute value supported in profile P.
  3. Read each EDCS representation type supported in profile P.

11.3 Minimum requirements

11.3.1 Minimum requirements for EDCS label, EDCS code and representation of EDCS attribute value conformance

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 minimum level of functionality defined in Table 11.3.

Table 11.3 — Minimum requirements for EDCS API conformance
Function Binding support
ConvertQuantityValue Full support as required by the individual service request.
GetHighestCodesUsed Full support as required by the individual service request.

11.3.3 Minimum requirements for the EDCS default profile

The EDCS default profile includes:

  1. all ECs defined in this International Standard,
  2. all EAs defined in this International Standard,
  3. all EVs defined in this International Standard,
  4. all EEs defined in this International Standard,
  5. all EUs defined in this International Standard,
  6. all ESs defined in this International Standard, and
  7. all EQs defined in this International Standard.

The EDCS default profile contains no EDCS profile constraints.

An implementation conforming to the EDCS default profile shall support all EDCS attribute value types and their corresponding EDCS representation types as specified in Table 9.5.

11.3.4 Minimum requirements for the EDCS unit profile

The EDCS unit profile includes:

  1. all EUs defined in this International Standard,
  2. all ESs defined in this International Standard, and
  3. all EQs defined in this International Standard.

The EDCS unit profile contains no EDCS profile constraints.

An implementation conforming to the EDCS unit profile shall support EDCS codes, EDCS labels, or both and their corresponding EDCS representation types as specified in Table 9.5.

11.3.5 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.