MSFT just released some information on their improved namespace support in IE 8 Beta 1. The gist is
- namespace prefix declarations on the HTML element, BUT only there.
- default namespaces on any unknown element, BUT any children default namespaces are ignored. Note this means that the xhtml default namespace is not supported.
- Attribute Namespaces are NOT supported
- namespaces are handling by doing a registry search (byte for byte comparison on namespace value) for the namespace and calling the binary handler
- One of the Reg keys is
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\XML Namespace - the handlers for the namespaces can be installed and queried using a new API
I certainly applaud MSFT for doing more for namespaces in IE. But, MSFT still needs to do more to make this really work. The non-support for attribute namespaces kills many languages such as xlink (used by many other languages like SVG), mathML, and even MSFT et al's sml (sml:ref="true"). The lack of nested default namespaces will also kill much of the xml recursion scenarios, like mathml inside svg. These two deficiencies are knock out punches against a very signficant number of use cases. My guess is that they are either going to fix it because they do really want to support xml nesting, or they will never fix it because they only want to support the large monolithic xml languages that are not modular and are element only, perhaps the OOXML?
I still have hopes that the HTML5 working group would listen to Sam Ruby and the TAG and add namespaces in HTML5. Maybe MSFT's features will prompt the group to start working on namespaces.
Leave a comment