[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [www-vrml] X3D and the Draconian Parse Rule
My
question was more oriented to understanding if Classic VRML had
the
same requirement as XML given precisely that XML parsing is determined
by a
separate standard.
An
editor that parses XML as a conformant XML processor indeed does have
to
stop on encountering a well-formedness error. It does not have to
burn
the file. It has to stop parsing. Yes? What it does in a
rendering loop
with
an incompletely parsed file/entity may be what the browser vendor gets
to
decide. Yes? However, I would prefer that it issue the error
and stop.
VRML is a mess because of not
making a firm decision about this. Files
that open and render in one browser die in another. It really
doesn't inspire
confidence in the format or the specification.
IMO.
len
Len,
The XML Encoding spec
(http://www.web3d.org/x3d/specifications/ISO-IEC-19776-FCD-X3dEncodings/Part01/concepts.html#XMLEncoding)
says that "[r]ules for parsing and handling XML-encoded documents are defined
in 2.[XML]."
This reference is
Extensible Markup Language (XML) 1.0
Specification, editors Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve
Maler, second edition, W3C Recommendation, World Wide Web Consortium (W3C),
Cambridge Massachusetts, 6 October 2000.
http://www.w3.org/TR/REC-xml
The XML Recomendation document says that "A data object is an XML
document if it is well-formed". (http://www.w3.org/TR/REC-xml/#sec-documents) So being
well-formed is a requirement for an XML document which is a requirement for a
X3D (XML encoded) document.
What a particular X3D application does
with a non-well-formed file is dependent upon the application. It is entirely
legal for a browser to terminate during parsing of the document. A
non-well-formed file may indicate the presence of transmission errors. The
browser may not be able to detect other transmission errors (e.g., those in a
IFS node), so quitting on a syntax error is probably the best thing to
do.
You probably don't want your X3D/XML editor to quit when it
encounters the error. This may be your only reasonable means for repairing the
file.
Xj3D is taking a real strict approach to quitting when it detects
an error. This would apply to XML syntax (document structure) and X3D syntax
(node structure). This process is not required (at least I couldn't find
anything in the spec about it).
To (finally) answer your question, what
a browser "should" do is based on what the browser builder determines what
best position this browser in the
market.