Comparison of layout engines (XML)

From Wikipedia, the free encyclopedia

The following tables compare XML compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

Version number, if possible, is provided for feature that is fully supported. Proprietary extensions are not included.

Contents

[edit] Explanation of the tables

[edit] Engine nomenclature

Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.

Layout Engine Used By
Trident Internet Explorer 4 to Internet Explorer 8
Tasman Internet Explorer 5 for Mac
Gecko All Mozilla software, including Firefox; Galeon; Flock; also Epiphany
WebKit Safari; iCab 4; Epiphany;
KHTML Konqueror
Presto Opera; Nintendo DS Browser; Internet Channel
iCab iCab 1-3
Prince XML Prince XML
Amaya Amaya

[edit] Values

Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.

Value Meaning
Yes Indicates that the layout engine fully supports this property when valid values are used.
No Indicates that this property is completely ignored.
Partial Indicates that the property is understood, but that not all values are supported. Supported values are implemented correctly.
Incorrect Indicates that the property is understood, but that it is not implemented correctly in all cases.
Experimental Indicates that the property is provided in experimental form under an alternative name, generally with only partial functionality.

[edit] Core technologies

A general overview of what core XML technologies are supported.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
XML namespace  ?  ? 1.0  ? Yes 7.0  ? 5.1
xml:id No  ? No [1] No No 9.0  ? 5.1
XML Events No  ? 1.8  ?  ? 8.0  ?  ?
XInclude 7.0  ? No [2] No  ? No  ? 5.1
XML Fragment Interchange  ?  ?  ?  ?  ?  ?  ?  ?
Associating CSS 5.0  ? 1.0 419 Yes 6.0  ? Yes

[edit] XSL technologies

A general overview of what XSL technologies are supported.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
XSLT IE 6.0+  ? 1.0 314 No 9.0  ?  ?
XSL-FO No No No [3] No No No  ?  ?
EXSLT  ?  ? 1.9[4]  ? No partial - 9.0[5]  ?  ?

[edit] Trident XSL technology notes

  1. XSLT — Trident relies on the MSXML library to implement XML processing. MSXML3 and MSXML4 implement XSLT 1.0, while MSXML2 implements the December 1998 XSL Working Draft, which predates XSLT 1.0 and is not fully compatible with it. Further complicating matters is that the MSXML libraries can coexist, but only one of them will be used by Trident, depending on a setting in the Windows Registry. Prior to the release of Internet Explorer 6, MSXML2 was the default XML library for Trident, but MSXML3 or MSXML4 could be installed separately and then registered as the default if desired. Regardless of which version was the default, any version, if installed, could be invoked directly by Microsoft-specific scripting code in the document being rendered by Trident.

[edit] Linking technologies

A general overview of what XML linking technologies are supported.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
XLink No  ? partial - 1.0  ? No No  ? 5.1
XML Base  ?  ? 1.0 No No Yes  ? 6.0
XPointer  ?  ? partial - 1.0  ? No No  ?  ?

[edit] Query technologies

A general overview of what XML query technologies are supported.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
XPath 1.0 No  ? 1.8 No  ? 9.0  ?  ?
XPath 2.0 No  ? No [6] No  ?  ?  ?  ?
XQuery  ?  ? No [7] No  ? No  ?  ?

[edit] Schema technologies

A general overview of what XML schema technologies are supported.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
DTD No  ? Partial No No Partial  ? 3.0
XML Schema  ?  ? Partial No  ?  ?  ? No
RELAX NG  ?  ? No [8] No  ?  ?  ? No

[edit] Gecko schema technology notes

  1. DTD — Only inline DTD is allowed. External DTDs are ignored [9].

[edit] Presto schema technology notes

  1. DTD — Only inline DTD is allowed. External DTDs are ignored. In 9.0 there is an option to load external DTDs. Only not cross domain.

[edit] Security technologies

A general overview of what XML security technologies are supported.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
XML Signature No No No [10] No No No No No
XML Encryption No No No No No No No No
XML Key Management No No No No No No No No

[edit] References