[x3d-public] X3D file conformance philosophy

Roy Walmsley roy.walmsley at ntlworld.com
Wed Sep 23 15:51:09 PDT 2015

Hi Andreas,


You have expounded an interesting view.


What if Conformance did not apply in the restricted sense. An X3D author would be able to create files that had additional undefined (and non-conforming) content. Browser implementers they would be then be free to support whatever extras they wished and still be classed as ‘conforming’. So, suppose an author creates an X3D file with extras that is supported on one particular browser. If the author were to share the file with others they may be restricted to only using the one particular browser that supports those particular extras. Other ‘conforming’ browsers would be unable to display the content.


Obviously, it is desirable that X3D authors, should they wish, be free to share their X3D files with other users. The concept of restricted conformance ensures that if that same file is loaded into other conforming browsers then the display will be the same, reproducing the authors intentions. 


There are mechanisms already available for authors to generate conforming content that has additional features. The first and most obvious is the use of Prototypes. The second is to have definitions for additional nodes, both in terms of specification and validation tools such as DTD and Schema. These can be registered and made publicly available if it is envisaged that they will have sufficiently wide usage. Of course, there is ways the ultimate third case, whereby additional features are incorporated into the specifications. Anyone can present drafts for consideration to the Web3D Consortium, provided they have at least two implementations to support the new features.


So my personal view is that it is better to retain the restricted conformance testing. But I am always open to further discussion ….


Best regards,




From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Andreas Plesch
Sent: 23 September 2015 18:55
To: X3D Graphics public mailing list
Subject: [x3d-public] X3D file conformance philosophy


Using the x3d validator and quality assurance tools which come with x3d-edit, it will become quickly apparent that an x3d file is deemed conforming (or syntactically correct) only after it passes a series of very strict tests which are defined here:



For example, referencing a field of a node which is not listed in the spec. but is supported by a x3d browser (say "id") will put the x3d file in the unconforming category. Is this correct ?

Similarly, referencing nodes and behaviours which are not explicitly defined in the spec. will break conformance.

This is in contrast to the concept of validity of html files which are deemed valid even if they include elements not defined in the spec.

So, what is the philosophy of having a narrow definition of file conformance ?

It may be that it defines minimum functionality for a x3d browser.


A x3d browser is said to be conforming when it allows browsing of a conforming file as a minimum requirement.

But this convention would still apply if a conforming file could include custom (non-spec.) nodes and fields which a conforming browser would be allowed to ignore.


Another way to think about the usefulness of strict conformance may be to explore the consequences of restricting tests for conformance only to nodes, fields, behaviours and such with which the spec. is actually concerned. What would break if ignoring all other elements in browsers and parsers would be considered conforming ?

In my view, a strict view of file conformance shifts responsibility from the browser to the x3d content author. To me, this is a somewhat inverted view which may need to be reconsidered.




Andreas Plesch
39 Barbara Rd.
Waltham, MA 02453

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20150923/b2dfca3f/attachment.html>

More information about the x3d-public mailing list