DOMinating Standards and the Web
After I complained about Apple's safari a couple of days ago, this time a remark goes to Microsoft's Internet Explorer. One thing I learned for sure today: if there is a standard that has been approved, there is a Microsoft product that will violate that standard where you would expect it at least. I am really wondering why this company has people in all these standardization committees, when they are not really interested in adopting the results?
The source of my anger on the behavior is the DOM compliance of the Internet Explorer. Although one can easily give-up Safari, the Internet Explorer plays an important role on the market. So, web-applications cannot ignore that piece of trashware ;-).
Today, the XPath and the DOM implementation gave me the creeps! With regard to XPath, one may like DOM based functions such as selectNodes() or not. The Mozilla Implementation provides full access to what is defined in the standard, but I admit that I also like IE's selectNodes() function, because it is so similar to XML::LibXML's findnodes() function. However, I missed in the MS implementation the opportunity to select directly a string result. This is pretty bad because otherwise this would be a very powerful tool to write web-application front-ends with style.
Another problem is my favorite DOM Node property: the textContent property. I have it in perl, I have it in Java, and I have it in Firefox - only in Internet Explorer this property is missing. Instead, the Microsoft developers decided to have something called innerText in their HTML DOM implementation and name the same property simply text in MSXML's DOM implementation. Appart from the read-write mode of the property, it is almost the same as DOM's textContent. Nevertheless, I lost more than a day to figure out the different spelling of the MS web-dialect.
Finally, I found a hint in an IBM document so I knew then what I was looking for. I also learned, that MS has little interest to ease developers their lives. So there were no remarks in the official documentation for their XML libraries, that some of the function and property names are equivalents to those mentioned in the official standard. I mean, one may leave of code for "compability", but at least there should be a highlighted section at the beginning of the specification, souldn't it?