Standart-compliance of libxmldom vs msxml 4.0

dom2-methods, not implemented by msxml, but by libxmldom:

1) createDocumentType
2) documentType.internalSubset
3) documentType.publicId
4) documentType.systemId

dom2-methods, not working correctly with msxml, but implemented 
correctly by libxmldom:

1) importNode (Not implemented by msxml. We implemented
   a workaround in the wrapper, that works for some 
   ported java applications, but it doesn't change the
   OwnerDocument.)

2) GetOwnerElement of the element interface is not
   supported my msxml.

3) If you try to remove an default attribute, you get
   an exception (attempt to modify readonly node).
   This is wrong, removing a default attribute should
   set the value of the attribute back to it's default
   value.

4) setting the node value of a document raises an exception
   but should have no effect

5) setting the node value of an element raises an exception
   but should have no effect

6) using node.insertBefore with a document fragment node
   raises an exception, but shouldn't

7) using node.insertBefore with an existing  node
   raises an exception, but shouldn't

8) node.normalize doesn't remove empty text nodes

Another big problem of msxml:

It doesn't raise the correct exceptions (domexceptions), but
only oleExceptions.
AND there is no way, to get an exception-number out of this 
OLE exception, as it is defined in the dom2 specification.

So you can't write correct exception handlers, if you use
msxml with delphi.

Uwe Fechner, 12.04.2002
Last updated 20.5.2002