Environmental Data Coding Specification (EDCS)
11 Conformance
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:
- 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;
- generators and/or readers of the content of exchange formats that contain
EDCS elements; and
- 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.
An information coding specification, application, data model, and/or exchange format may conform to:
- an EDCS label,
- an EDCS code,
- a representation of an EDCS attribute value, and/or
- an EDCS profile.
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:
- Use EDCS label L to convey the concept that is denoted by label L.
- Use EDCS label L without modification.
- Use an EDCS representation type specified in Table
9.5 for EDCS label L.
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:
- Use EDCS code C to convey the concept that is denoted by code C.
- Use EDCS code C without modification.
- Use the EDCS representation type specified in Table
9.5 for EDCS code C.
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:
- R is a corresponding EDCS representation type specified in
Table
9.5 for EDCS attribute value type T.
- Any conditions specified in the concept definition of EDCS attribute A shall be met.
- If the EDCS attribute value type T is REAL:
- an EU shall also be specified in accordance with the provisions of 11.2.1.2
and/or 11.2.1.3,
- the specified EU shall be a member of the EQ
specified by EDCS attribute A, and
- an ES shall also be specified in accordance with the provisions of 11.2.1.2
and/or 11.2.1.3.
- 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.
- If the EDCS attribute value type T is ENUMERATION, an EE of EDCS attribute
A shall be specified.
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:
- Only use those EDCS elements specifically allowed in
P.
- Report encountered EDCS elements not in
P as errors.
- Satisfy the constraints defined by P.
Use of EDCS shall conform to at least one of the following types of profiles:
- profiles specified in this International Standard, and/or
- one or more registered EDCS profiles.
If no profile has been specified, it is assumed that conformance to the
EDCS default profile is intended.
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:
- Satisfy the provisions of
11.2.1.5.
- 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.
- 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.
- For each EDCS attribute entry specified in profile P, support the corresponding EDCS representation types allowed by profile P.
- For each EDCS attribute value specified in profile P, support each representation of that EDCS attribute value allowed by profile P.
- 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).
Generators and readers of exchange formats that use EDCS elements have
different conformance requirements. The different requirements for
generators and readers are specified below.
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:
- Generate EDCS labels and/or EDCS codes, as specified in
profile P.
- 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.
- Satisfy any EDCS profile constraints defined in profile P.
- For each EDCS attribute value specified in profile P, support each representation of that EDCS attribute value allowed by profile P.
- Generate only those EDCS representation types allowed by profile P.
- 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.
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:
- 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.
- For each EDCS attribute value specified in profile P, support each representation of that EDCS attribute value allowed by profile P.
- Read each EDCS representation type allowed by profile P.
- 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.
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:
-
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.
- 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.
- 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.
- 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.
- Bind all of the functions specified in
9.6, including output parameters
and return values.
- 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:
- Each of the EDCS representation types specified in Table
9.5 shall be bound to a data type in the programming language.
- 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.
- 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.
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:
- EDCS label,
- collection of EDCS labels,
- EDCS code,
- collection of EDCS codes,
- representation of an EDCS attribute value, and/or
- collection of representations of EDCS attribute values.
All implementations of language bindings to the EDCS application
program interface shall support the API as specified in Clause 9.
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.
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.
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.
The EDCS default profile is labeled "EDCS_2_0_DEFAULT_PROFILE", and
is assigned profile code 3.
The EDCS default profile includes:
- all ECs defined in this
International Standard,
- all EAs defined in this
International Standard,
- all EVs defined in this
International Standard,
- all EEs defined in this
International Standard,
- all EUs defined in this
International Standard,
- all ESs defined in this
International Standard,
- all EQs defined in this
International Standard,
- all EOs defined in this
International Standard, and
- all EGs defined in this
International Standard.
The EDCS default profile contains no EDCS profile constraints.
The EDCS unit profile is labeled "EDCS_2_0_UNIT_PROFILE", and
is assigned profile code 4.
The EDCS unit profile includes:
- all EUs defined in this International Standard,
- all ESs defined in this International Standard, and
- all EQs defined in this International Standard.
The EDCS unit profile contains no EDCS profile constraints.
http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html