]> X3D XML encoding 4.0 draft - ISO/IEC 19776-1:202x - 7 Conformance

Extensible 3D (X3D) encodings
Part 1: Extensible Markup Language (XML) encoding

8 Conformance

--- X3D separator bar ---

cube 8.1 Introduction

This clause addresses conformance of XML encoded X3D files, and conformance of X3D generators and X3D browsers that support the XML encoding.

8.1.1 Topics

Table 8.1 lists the topics for this clause.

Table 8.1 — Topics in this clause

8.1 Introduction
     8.1.1 Topics
     8.1.2 Objectives
     8.1.3 Scope
8.2 Conformance
     8.2.1 Conformance of X3D XML encoded files
     8.2.2 Conformance of X3D XML encoding generators
     8.2.3 Conformance of X3D XML encoding browsers

8.1.2 Objectives

The primary objectives of the specifications in this clause are:

  1. to promote interoperability by eliminating arbitrary subsets of, or extensions to, ISO/IEC 19775;
  2. to promote uniformity in the development of conformance tests;
  3. to promote consistent results across X3D browsers;
  4. 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.

--- X3D separator bar ---

cube8.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:

  1. Well-formed XML requirements in accordance with XML.
  2. The X3D file contains as its first element an X3D header comment (see 4.2.2, Header).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. The short-form syntax for ProtoInstance nodes is optionally supported.
  8. The X3D file is encoded according to the rules of ISO/IEC 19775.
  9. 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:

  1. It is syntactically correct.
  2. 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:

  1. The X3D file conforms to the specified profile.
  2. 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.
  3. 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:

  1. It is able to read any X3D XML encoded files that conforms to that particular profile.
  2. 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.
  3. 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.
  4. It satisfies the requirements of that particular profile in regard to minimum support requirements as defined in the specification for that particular profile.
  5. It satisfies the general conformance requirements for browsers as stated in ISO/IEC 19775-1 X3D Architecture.

An X3D browser that supports any XML encoded file that contains COMPONENT statements conforms to the specified component if:

  1. It is able to read all nodes and/or statements required by that component when encoded in the XML encoding.
  2. 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.

--- X3D separator bar ---