RE: Why Doesn't IE5 use the DTD to Validate?

Subject: RE: Why Doesn't IE5 use the DTD to Validate?
From: "Didier PH Martin" <martind@xxxxxxxxxxxxx>
Date: Thu, 1 Apr 1999 09:26:42 -0500
Hi Chris,

<YourComment>
Yes, the main purpose is to render. To do that, it needs a parse tree.
To behave consistently over all browsers, they all need to have the same
parse tree.


Now that we have DOM and stylesheets, people are depending on that parse
tree. It is simply false to assert that a correct parse tree is not
needed for rendering.
</YourComment>

<Reply>
Chris I don't see your point here. Let's clarify from the processing point
of view.
a) Except for external references resolution, simply by knowing XML syntax
rules, a parser can parse a XML document even without a DTD.
b) What is important for a browser is the construction of a flow object tree
not the structural integrity of the original document.

Let's now take the second statement. The browser is in fact a translation
tool. It has to convert from one tree (i.e. the document tree) into an other
one (the rendition object tree). The first structure being a hierarchy and
the second one too. Thus, for the browser what is important is to be able to
recognize an element from its content. Then, to create a rendition object
associated to this element and display the content. Actually browsers do
have a rendition Domain Specific Language: HTML. Thus, the second tree is
composed of HTML objects. We then have a mapping from a XML (or any
hierarchical structure) as input to HTML rendition objects as output. The
browser make some assumptions:
a) the flow object order is following the document element order. (except if
an intermediary tool change the structural order)
b) to each element is associated a rendition object (if there is no
association the rendition object is not created)

Now, more particularly concerning new browsing engines like Gecko (Mozilla)
or Form+ (Microsoft). The rendition object model is now being replaced by a
CSS or DOM object. For example the paragraph object is replaced by the block
object. The passage from a HTML object tree to CSS object tree is slowly
happening but not yet totally functional. However, the next generation will
more:
XML ----> CSS tree object.
I say CSS rendition objects because actually this is the model followed by
both browsers. This is not CSS, this is CSS object model.

To conclude: The browser do not need to know necessarily if under a
particular element there should be an other one. It is concerned by knowing
to which rendition object it can associate this element. Its main job is to
render :-)

The browser is in fact an interpreter. Actually, the premises is that the
published code (i.e. the XML document) is correct and validation (i.e.
structural integrity check) occurred during the document's creation. Thus,
in this system the correctness responsibility is in the author's camp. It is
like any other kind of interpreter that behaves with maximum speed and let
compiler check code correctness.This model could be changed by allowing the
user to set a switch that requires that structural integrity is to be done
when a DTD is present. This is something that may be required for e-commerce
document.

>From what I understood from certain position taken by this list members is
that the default behavior should be that when a DTD is present there should
be structural integrity validation. If not, no validation is done. This
seems to be a good mechanism and will probably included in 6.x browsers
version. The inclusion of a DTD could be interpreted as switch indicating to
the interpreter that structural integrity check has to be done on the
document.
</Reply>

Regards
Didier PH Martin
mailto:martind@xxxxxxxxxxxxx
http://www.netfolder.com


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread