Lists Home |
Date Index |
Perhaps one key aspect of the debate on "binary XML" is which stage of the document lifecycle one looks at.
The XML syntax has a lot of options and requires the creator to make certain choices (for example, one must choose the attribute value delimiter; one must decide whether and where to use CDATA sections; one must decide whether and where to use general entity references). Some of those choices carry information that is relevant to the creator, others don't.
However, a reader cannot always tell which of those choices are relevant and which aren't. I think this is one big reason for the opposition to the concept of "binary XML". (If you don't know which information is relevant in a document, you should assume that all the bits are relevant, no?)
However, the creator of an XML document is supposed to know (because she's the creator) which of those choices convey relevant information and which don't, and therefore, if given an alternative representation of the Infoset (such as Fast Infoset), she may be totally happy with it, despite the fact that it prevents the use of general entities and the choice between apostrophe and quote, etc.
I think I am not referring to the original creator only. Much of the above applies to a "transformer" of a document as well. A transformer needs to have an understanding of which information in an XML document is relevant and which isn't. (For example: Am I allowed to change the use of whitespace in start tags when I transform the document? Am I allowed to change the use of numeric character references? Am I allowed to change the way general entities are used? Am I allowed to reorder the existing attributes of an existing element?)
In case a transformer knows that she *is* allowed to make those changes (to the non-infoset), the infoset is all that matters to her, whether or not she calls it that way. If this is the case, the output of the transformation might as well be a fast infoset document -- the "stripping of the non-infoset" would cause no loss of (relevant) information.