[x3d-public] X3D file conformance philosophy
andreasplesch at gmail.com
Wed Sep 23 20:51:21 PDT 2015
Roy, thank you for your thoughtful response.
Of course, authors who choose to include non-standard elements are not able to have an expectation that the content renders as intended in all browsers. In a sense, labeling such content as not conforming is redundant. To me, perhaps a better use of the label 'conforming' would be simply an assurance that used nodes and fields which are actually standardized conform to the standard, eg. <Box size='square' /> would be not conforming.
So I am still not quite sure what the benefit is of considering foreign elements in terms of conformity.
From a semantic point of view, perhaps a better fit would be purity or fidelity. A pure x3d file consists exclusively of standardized components.
Validity would be another concept which to me signals a tolerance. All x3d standardized components in a valid x3d file conform to the standard but it may also contain other (xml) content.
Considering that part of the success of html is often seen as due to its nonchalance towards unspecified content, this kind of dry discussion is probably more relevant than it seems.
On Wed, Sep 23, 2015 at 6:51 PM, Roy Walmsley <roy.walmsley at ntlworld.com> wrote:
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 ….
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.
39 Barbara Rd.
Waltham, MA 02453
39 Barbara Rd.
Waltham, MA 02453
More information about the x3d-public