Table 7.1 defines the topics in this clause.
This clause addresses conformance of VRML browsers that provide an external authoring interface.
The primary objectives of the specifications in this clause are:
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.
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:
A language binding to this part of ISO/IEC 14772 is conforming if:
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.
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.
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. |
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. |
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). |