[x3d-public] X3D file conformance philosophy
roy.walmsley at ntlworld.com
Thu Sep 24 02:13:54 PDT 2015
I would also offer the following consideration into the debate, continuing with the current terminology just for the sake of maintaining clarity of understanding between us.
Let's say I am a software engineer developing software that validates an X3D file, utilising either or both of the DTD and the Schema. I design my software to detect 'deviations' in X3D files from the DTD/Schema reference documents. When such 'deviations' are found, how are they to be reported? My software isn't going to know if a 'deviation' is an author's intention or simply a mistake. It can only report (notwithstanding very clever heuristics) that the X3D file is not valid, pointing out the errors.
Of course, the author also has the option of creating extensions to the Schema and or DTD that cover the differences. These would allow software validators to pass an X3D file containing extensions above and beyond the specifications.
Of course, when we are talking DTD and Schema we are also talking XML. Which, of course, stands for Extensible Markup Language. So an author already has the option to make their own private additions.
And then, an author can just create their X3D file with additions, and ignore error messages from validation tools.
So, from the perspective of the Web3D Corporation (and here I am only expressing my own personal opinion), what can be done? The Corporation does not wish to control authors content, merely to provide a standard to enable the widespread use and distribution of 3D graphics content. While this naturally has limits, it also includes methods to permit individual author extensions. HTML is standardized, with validators. It too provides methods for extension of the basic standards. Perhaps for HTML these are more well known, whereas for X3D they are less publicized.
From: Andreas Plesch [mailto:andreasplesch at gmail.com]
Sent: 24 September 2015 04:51
To: Roy Walmsley
Cc: X3D Graphics public mailing list
Subject: Re: [x3d-public] X3D file conformance philosophy
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