SYSK 11: Is now the time for Binary XML?

Back in the last century, we talked about XML as being “human readable” and “self-describing”…  Well, W3C went binary on XML (http://www.w3.org/2003/07/binary-xml-cfp.html).   People talked about it since 1999 (may be earlier); and now with mobile device proliferation, which demands compactness of the transmission, the topic is back.  There are seems to be as many proponents for binary xml, as people strongly opposing it -- Elliotte Rusty Harold makes the case against what he calls an oxymoron (http://www.ibiblio.org/xml/).

So, what’s Microsoft’s stand on this?  In 2003, Microsoft did not participate in the W3C working group on binary xml, citing “no value in standardizing a "binary XML" for interoperability”…    We did, however, recognize value for binary representations of Infosets, XQuery data models etc. for internal processing (database storage, close-coupled transport from storage to APIs and XML feeds). However, these formats will want to be highly optimized for the given architecture and performance scenarios; and these formats are not interested to sacrifice this for the sake of interop. Instead, the APIs and XML itself provide the interop layer (see Michael Rys’s posting http://www.xml.com/cs/user/view/cs_msg/1626 and http://news.zdnet.com/2100-3513_22-5630957-3.html).

Now, in 2005, SQL 2005 supports binary XML, and WFC (a.k.a. Indigo) will support binary XM as the binary encoding of the infoset.  As a matter of fact, binary XML encoding was mentioned in a number of places as a way to speed up the communication, including specific cases like when talking to the SQL Server (http://weblogs.java.net/blog/pelegri/archive/2005/02/indigo_and_bina_1.html).