The primary objectives of the specifications in this clause are:
to promote interoperability by eliminating arbitrary subsets of, or
extensions to, ISO/IEC 19775;
to promote uniformity in the development of conformance tests;
to promote consistent results across X3D browsers;
to facilitate automated test generation.
8.1.3 Scope
Conformance is defined for X3D models written as EXI
encoded files and for X3D browsers
which support X3D EXI encoded files.
For X3D generators, conformance guidelines
improve
the likelihood of successful interoperability.
A concept of conformance to an X3D profile is introduced along with the rules
which apply to this encoding.
This clause addresses the X3D data stream and implementation requirements.
Implementation requirements include the latitude allowed for X3D generators and
X3D browsers. This clause does not directly address the environmental,
performance, or resource requirements of the generator or browser.
This clause does not define the application requirements or dictate
application functional content within a X3D file.
The scope of this clause is limited to rules for the open interchange of X3D
content using the X3D EXI encoding.
8.2 Conformance
8.2.1 Conformance of X3D EXI encoded files
An X3D EXI file is syntactically correct according to ISO/IEC 19775
if the following conditions are met:
Well-formed EXI requirements in accordance with
EXI.
The X3D file contains as its first element an X3D header comment
(see 4.2.2, Header).
All entities contained therein match the functional specification of the
corresponding entities of ISO/IEC 19775. The X3D file shall obey the
relationships defined in the formal grammar and all other syntactic
requirements.
The sequence of entities in the
X3D EXI
encoded files obey the
relationships specified in ISO/IEC 19775 producing the structure specified
in ISO/IEC 19775.
All field values in the
X3D EXI
encoded files obey the
relationships specified in ISO/IEC 19775 producing the structure specified
in ISO/IEC 19775.
No nodes appear in the X3D file other than those allowed by ISO/IEC
14772 unless required for the encoding technique or those defined by the
PROTO or EXTERNPROTO entities.
The X3D file is encoded according to the rules of ISO/IEC 19775.
It does not contain behaviour described as undefined elsewhere in this specification.
An EXI encoded X3D file conforms to the profile specified in its header statement if:
It is syntactically correct.
It meets the restrictions of the profile as defined in the
requirements
of ISO/IEC 19775.
An EXI encoded X3D file conforms to individual components if:
The X3D file conforms to the specified profile.
The X3D file meets the restrictions of the component and component
support level as defined in
ISO/IEC 19775-1 X3D Architecture
for that component.
It contains only the nodes and statements allowed by the specified
PROFILE and COMPONENT statements.
8.2.2 Conformance of X3D EXI encoding
generators
An X3D EXI encoding generator conforms to this part of
ISO/IEC 19776
if all X3D files that are generated are syntactically correct
according to the provisions of this part of ISO/IEC 19776.
An X3D EXI encoding generator conforms to a particular profile if it can be
configured such that all X3D files generated conform to that particular profile.
An X3D EXI encoding generator conforms to a particular component if it
can be configured such that all X3D files generated
conform the specified component and component support level.
8.2.3 Conformance of X3D EXI encoding browsers
An X3D browser that supports the X3D EXI encoding conforms to a particular profile if:
It is able to read any X3D EXI encoded files that conforms to that
particular profile.
It presents the graphical and audio characteristics of the X3D nodes in
any X3D EXI encoded files that conforms to the that particular profile,
within the latitude defined the specification for that particular profile.
It correctly handles user interaction and generation of events as
specified in ISO/IEC 19775-1 X3D Architecture,
within the latitude defined in the specification
for that particular profile.
It satisfies the requirements of that particular profile in regard to
minimum support requirements as defined in the specification for that
particular profile.
An X3D browser that supports any EXI encoded file that contains
COMPONENT statements conforms to the specified component if:
It is able to read all nodes and/or statements required by that
component when encoded in the EXI encoding.
It does not allow any nodes and/or statements that are specified for a
component support level that exceeds the level specified in the COMPONENT
statement.