VRML97 logo

7 Conformance and minimum support requirements

--- VRML separator bar ---

7.1 Introduction

7.1.1 Table of contents

Table 7.1 defines the topics in this clause.

Table 7.1 — Table of contents

7.1 Introduction  
 7.1.1 Table of contents 
 7.1.2 Objectives 
 7.1.3 Scope 

7.2 Conformance 
 7.2.1 Conformance to ISO/IEC 14772 Part 1 
 7.2.2 Language Bindings

7.3 Minimum support requirements  
 7.3.1 Requirements for implementations 
 7.3.2 Base Profile
 

 

7.1.2 Objectives

This clause addresses conformance of VRML browsers that provide an external authoring interface.

The primary objectives of the specifications in this clause are:

  1. to promote interoperability by eliminating arbitrary subsets of, or extensions to, ISO/IEC 14772;
  2. to promote uniformity in the development of conformance tests;
  3. to promote consistent results across VRML browsers;
  4. to facilitate automated test generation.

7.1.3 Scope

Conformance is defined for language bindings to this specification and therefore VRML Browsers and applications that use the facilities provided by the External Authoring Interface language-specific bindings.

Due to the nature of this part of ISO/IEC 14772, it is not possible to specify the conformance tests of individual language bindings to the specification. Separate Conformance clauses shall be provided within each language that provide the necessary information to implement language specific binding conformance tests.

A concept of base profile conformance is defined to ensure interoperability of VRML applications and VRML browsers. Base profile conformance is based on a set of limits and minimal requirements. Base profile conformance is intended to provide a functional level of reasonable utility for VRML language bindings while limiting the complexity and resource requirements of VRML browsers. Base profile conformance may not be adequate for all uses of the EAI.

--- VRML separator bar ---

7.2 Conformance

7.2.1 Conformance to ISO/IEC 14772-1

A VRML browser is only conformant to this part of ISO/IEC 14772 if it is required to also be conformant to ISO/IEC 14772-1. See ISO/IEC 14772-1 7 Conformance and minimum support criteria. In addition, the following conditions shall be met:

  1. Requests of the Browser services shall conform exactly to the behaviour as specified in ISO/IEC 14772-1 4.12 Scripting. Where there are differences, the provisions of 6.3, Browser Services shall take precedence over ISO/IEC 14772-1 4.12.
  2. Where a browser is required to read and parse VRML content, it shall be able to handle any VRML file that conforms to the base profile defined in ISO/IEC 14772-1 7.3.3 VRML requirements for conforming to the base profile.
  3. Only nodes in the top level world (the file defined by the getWorldURL service) that are named with the DEF construct shall be visible to the getNode browser service request.
  4. There shall be no difference in treatment of events that result from an external service request compared to events generated within the VRML browser environment. That is, externally generated event cascades shall have no favoured treatment.

7.2.2 Language bindings

A language binding to this part of ISO/IEC 14772 is conforming if:

  1. It implements the services defined in this specification including return values, error conditions and asynchronous events.
  2. The services implemented conform to the base profile of required services.
  3. It provides sections outlining conformance and minimum requirements of implementations of that binding.

--- VRML separator bar ---

7.3 Minimum Requirements

7.3.1 Requirements for implementations

All implementations of the EAI specification are required to support the minimum level of functionality as defined in this section. There are two levels of conformance, that of the language binding and the browser implementation.

A language binding must at a minimum implement the service requirements outlined in 7.3.2 Base Profile. It may also define its own optional set of minimum requirements that are no less than the requirements of this section. A browser implementation must, in addition to the base support profile, also support the minimum capabilities defined in 7.3.2 Base Profile. In general, the browser requirements are specified as more general requirements with the underlying representation that specific language issues.

Where a browser implements two or more language bindings with different levels of minimum requirements, the browser must support the minimum requirements for each language separately. Therefore, if one language has higher requirements, the lower requirements of the other shall not be used.

7.3.2 Base Profile

Table 7.2 defines the minimum requirements for a base profile. The first column specifies the items for which conformance is being defined. These refer to the services as defined by this specification. The second column defines the requirements for a language binding specification of that item. The third column defines the requirements of a browser implementation of that service.

For all these requirements it shall be assumed that the language binding shall provide complete implementation of all the parameters required for the individual services. Language bindings of data types may be implemented as primitive types in the target language rather than separate data types. Table 7.2 indicates where this may be permitted.

Table 7.2 — Specifications for EAI implementations conforming to the base profile 

 

Item

Binding Support

Minimum Browser Support

EAIAction

Full support as required by the individual service request

As defined by the language

EAIBrowserApp

Full support if createBrowser supported. 

Not required if only getBrowser supported.

Optional (based on getBrowser/createBrowser requirements)

EAIBrowserName

Primitive type

n/a

EAIBrowserRef

Full support

Full support

EAIBrowserVersion

Primitive type

n/a

EAIFieldAccess

Separate data types for the four types defined by ISO/IEC 14772-1.

Full support

EAIFieldID

Full support

Full support

EAIFieldName

Primitive type

Full support

EAIFieldType

Separate data types for all types defined in ISO/IEC 14772-1, 5 Field and Event Reference

Full support

EAIFieldValue

Primitive type as appropriate to the given field. 
Where field is an SF/MFNode shall be EAINodeID

Number of values for setting and getting defined by ISO/IEC 14772-1, Table 7.1 Specifications for VRML browsers conforming to the base profile

EAIFrameRate

Primitive type

n/a

EAINavSpeed

Primitive type

n/a

EAINodeID

Full support

Full support

EAINodeType

Primitive type

EAIString representation of the node name

EAIParameterList

As required by language and service definition.

Dependent on language and browser implementation

EAIPropertyList

Primitive type

5 key value pairs. Values dependent on language bindings

EAIRequesterID

Full support

n/a

EAIURL

Both URL and URN support

See ISO/IEC 14772-1, Table 7.1 Specifications for VRML browsers conforming to the base profile, all url fields

EAIString

Primitive type

n/a

EAIError

Separate types for each error condition that may occur as defined in 5.3 Error Types.

Generate error conditions as appropriate.

Establishing a Connection

getBrowser, createBrowser

At least one of getBrowser or createBrowser services shall be provided.

At least one method of connection with a browser shall be provided. Unsupported connection methods shall throw an error. 
Ignore EAIParameterList

Browser Services

Browser getName

Shall provide

Return NULL if not supported

getVersion

Shall provide

Return NULL if not supported.

getCurrentSpeed

Shall provide

Return 0.0 if not supported

getCurrentFrameRate

Shall provide

Return 0.0 if not supported

getWorldURL

Shall provide

Full support

replaceWorld

Full support

500 EAINodeIDs set in single call. See ISO/IEC 14772-1, Table 7.1 Specifications for VRML browsers conforming to the base profile, all groups

loadURL

Shall provide

Full support. Ignore EAIPropertyList parameter values. 

setDescription

Shall provide

No restriction

createVrmlFromString

Shall provide

Support File Limits as defined by ISO/IEC 14772-1, Table 7.1 Specifications for VRML browsers conforming to the base profile.

createVrmlFromURL

Shall provide

Support File Limits as defined by ISO/IEC 14772-1, Table 7.1 Specifications for VRML browsers conforming to the base profile.

Dynamic Route Handling

EAIActions of add and delete route

Full support.

Update Control

EAIActions of start buffering and end buffering

Full support

Register Browser Interest

EAIActions of add and remove interest.

Events for initialisation, shutdown, invalid URLs and connection lost.

getNode

Full support

Full support

dispose

Shall provide

No restrictions

Node Services

getName

Shall provide

Full support

getType

Shall provide

no restrictions

getField

Full support

field, eventIn and eventOut fields shall be accesible.

dispose

Shall provide

No restrictions

Field Services

getAccessType

Shall provide

Full support

getType

see EAIFieldType

Full support

getName

Not required

Field name without set_ or _changed modifiers

getValue

Full support

Full support

setValue

Full support

Full support. Where fields are MF fields, minimum number of values to be supported defined by ISO/IEC 14772-1, Table 7.1 Specifications for VRML browsers conforming to the base profile

Register Field Interest

EAIActions of add and remove interest 

eventOut and the output side of exposedFields shall be supported

As per supported langauge binding(s). 

 

--- VRML separator bar ---