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 XML
encoded files and for X3D browsers
which support X3D XML 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 XML encoding.
8.2 Conformance
8.2.1 Conformance of X3D XML encoded files
An X3D XML file is syntactically correct according to ISO/IEC 19775
if the following conditions are met:
Well-formed XML requirements in accordance with
XML.
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 XML
encoded files obey the
relationships specified in ISO/IEC 19775 producing the structure specified
in ISO/IEC 19775.
All field values in the
X3D XML
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 XML 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 XML 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 XML encoding
generators
An X3D XML 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 XML 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 XML 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 XML encoding browsers
An X3D browser that supports the X3D XML encoding conforms to a particular profile if:
It is able to read any X3D XML encoded files that conforms to that
particular profile.
It presents the graphical and audio characteristics of the X3D nodes in
any X3D XML 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 XML 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 XML 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.