20106January

i4i's CustomXML Lawsuit

There is much discussion of i4i’s U.S. Patent #5787449 and their request for an injunction of the sale of Microsoft Word. Unfortunately, many people have the wrong idea of what is happening. The patent deals specifically with the implementation of a certain feature in word - the ability to add your own custom XML schema and tags to a document. This is not about the .docx format, and it isn’t about the feature itself; it is about the feature’s implementation.

XML documents are structured documents. The structure is represented by tags within the content such as the following:
<document id = "112358"> <type>book</type> <title>A guide to writing guides</title> <author>Jane Doe</author> <publisher>McPublisher</publisher> </document>
This code is meant to be machine and human readable. Typically, a person will view the document with a special program that transforms the document into a more presentable format and shows the relevant information, formatted in a way that is easier to read, without the tags in the way.

A challenge comes when it is time to edit the document. A person could certainly edit the code directly; it is, after all, meant to be accessible to both humans and machines. This method, however, can lead to errors. It is also taxing on the person to have to enter the tags manually. It would be much better if the person could edit it the way it looks when it is presented nicely.

There are a couple of ways that might immediately come to mind about how a computer program might be written to do this. The first is to display the document in a well-formatted way, and have the tags be present in the document, but not visible to the user. The other way this could be accomplished is to have the document represented internally in a different way - the content is in one piece like this:
112358 A guide to writing guides Jane Doe McPublisher
and the structural information is in another piece, separate from the content. One might imagine a list of tags and pointers that point to character locations of where they belong:
document 0 title 9 author 37 publisher 48 ...
The second piece is a map that assigns certain tags at certain locations in the document.

It is apparently Microsoft’s Custom XML feature that implements this mapping method and that may be infringing the patent. The patent actually doesn’t specifically reference XML, it is more generally for any separation of document and its structure. However, the company specifically makes software that deals with XML in this manner, and this is what they are looking for an injunction for. I will be very surprised if the patent is ultimately found to be valid; there must be some prior art for this method.

I hope that this explanation helps to clear some confusion surrounding the issue. If you have an observation to add, please leave a comment below.

Tagged: and