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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Why Doesn't IE5 use the DTD to, Chris Lilley | Thread | Re: Why Doesn't IE5 use the DTD to, Chris Lilley |
Problem with intra document XSL lin, Tom Gaven | Date | Re: Why Doesn't IE5 use the DTD to, Paul Prescod |
Month |