Talk:Comparison of layout engines (XML)

From Wikipedia, the free encyclopedia

Jump to: navigation, search
This article is within the scope of Computing WikiProject, an attempt to build a comprehensive and detailed guide to computers and computing. If you would like to participate, you can edit the article attached to this page, or visit the project page, where you can join the project and/or contribute to the discussion.
??? This article has not yet received a rating on the quality scale.
??? This article has not yet received a rating on the importance scale.
This article is supported by the WikiProject Software ( Discuss ), dedicated to improving the Software-related articles on Wikipedia.

[edit] Correction on XML, XPATH, and XSL support

The "layout engine" (which handles the *display* tree) does not necessarily control these technologies. Rather, a browser's "Scripting Engine" (which has different versions and types) usually interacts with the "Display Engine," "XML Parser," and "XSL Processor" as discreet modules.
In the case of the "xml-stylesheet" Processing Instruction (sans Scripting Engine), the *browser* will communicate w/ all these modules: it will use the XML Parser to parse the current XHTML document, and feed it to the XSL Processor -- and only the *result* is given to the Layout Engine.



All these modules can have different types (eg: XSL Processor could be "Transformiix" vs "MSXML") -- and these types can be different versions (MSXML3 vs MSXML6).

The XML Parser usually controls the implementation of a "Selection Language" -- (eg: XPath vs XQuery. MSXML supports both XPath and a proprietary Microsoft selection language.)


In current browser implementations, the XSL Processor is usually tightly coupled the XML Processor. (The XSL Processor can consume a parsed DOM that is fed to it by the XML Parser -- or the whole Processor can extend the XML Parser.)
In (early?) versions of Safari, the XML Parser seems to be tightly coupled to the WebKit Display-tree parser -- used to render HTML.


[edit] WHY THE INCORRECT USE OF THIS TERMINOLOGY IS A PROBLEM

It is incorrect to say, for example, that "Internet Explorer" does not support DTD validation, or xsd:schema. In fact, MXSML4+ support both DTD validation, and XSD schema validation -- invokable via the JavaScript Engine. (The question is, which version of MSXML does each version of MSIE support? The version of MSXML can be mixed-and-matched, and the default version is a Windows *Operating System* issue.)


Conceptually, it muddles the concept of what, exactly, a "Layout Engine" is. Are we talking about the whole *browser* -- or the *sub-component* that a browser uses to render a display tree? (eg: Gecko vs. WebKit vs. KHTML?)

[edit] Correction on associating stylesheets

Several engines were marked as partal in associating stylehseets because they didn't associate stylesheets identified witht he wrong MIME Type. Though strict behavior, this is the recommended approach. I removed the following incorrect statement from the notes:


The xml-stylesheet processing instruction is ignored if read via the file: protocol and the filename does not end with a ".xml" extension, or via the http: protocol and not served with a Content-Type: application/xml HTTP header (media type for XSL should be text/xsl or application/xsl+xml).

The MIME Type text/xsl does not exist, it was just invented by Microsoft (ncidentally, you do not have to deliver an XSLT to IE as MIME Type, text/xsl, you only have to include that in the type attribute of the processing instruction. On the other hand, application/xsl+xml is a MIME type I've heard proposed here and ther, but it is not yet registered. You can check IANA here:

http://www.iana.org/assignments/media-types/application/

application/xml is the correct MIME Type (and at this point the only MIME Type) for XSL files. --SoTuft 08:22, 22 February 2007 (UTC)

[edit] XSLT support in Presto

Opera Series 9 does not support the entire XSLT standard. Most glaringly, it does not support the document() function.

"The document() function is not supported." [1]

Also see [2] and [3]

bheekling (talk) 01:49, 8 December 2007 (UTC)


You are viewing a mobilized version of this site...
View original page here

How do you rate mobile version of this page?

Mobilized by Mowser Mowser