Lists Home |
Date Index |
On Nov 21, 2003, at 4:22 PM, Bob Wyman wrote:
> Dennis Sosnoski wrote:
>> When dealing with the outside world many applications
>> want to use XML for all the standard reasons. In reality,
>> though, it's only the Infoset that they care about.
> The contention that "only the Infoset" really matters is one
> of the key sources of conflict between the two sides of the "binary vs
> text" debate. Supporters of binary encodings generally consider the
> primacy of the Infoset to be intuitively obvious. Those opposed to
> binary often argue that encoding is more important.
On the contrary, I'd say that only those folks who are concerned with
binary goo are concerned with encodings. Folks that deal with text,
i.e. XML, don't generally have to be concerned (to a significant
extent) with encodings, which is the *big win* of XML.
> This is, of
> course, downright baffling for the binary folk. Clearly, it isn't
> quite so intuitive or we wouldn't be having this discussion.
> Personally, I'm in the group that likes to view the world via
> the Infoset. I want my code to deal with abstract concepts that are as
> close as possible to my conceptual view of the application and as far
> as reasonable from the dirty details of how the machine will actually
> process things.
Right, so you could care less whether a number is encoded either:
1) big endian floating point
2) little endian double
3) big endian 64 bit integer
etc. etc. etc.
XML could really care less about these binary details. XML could just
as easily deal with 203bit integers as 23 bit integers. These binary
details just don't matter.
> I want highly efficient ways for expressing my
> "intent" which minimize the amount of effort that I must put into even
> understanding mechanisms like encoding rules. As a result, I like to
> stay "encoding-neutral."
Right, so just deal with text and be done with all these trivial
concerns about byte order etc.
> My code presents an abstract object to an
> interface which then serializes the thing in what I hope will be a
> compact and efficient manner.
The crux of the issue is whether you are more concerned with being:
a) abstract "high level"
b) bitwise efficient
The only reason to be concerned with binary goo is if you have an
overriding concern regarding "efficiency"
> I really don't want to know how the bits
> actually look while on the disk (unless I've got some debugging to
If this were true, you'd care less about "binary XML"
> My goal is to separate "interface" from "implementation." I want
> an InfoSet "interface" in memory (where my program sits) and really
> wish that I did't need to know what the encoding rules are.
> I would appreciate it very much if at least one of the folk
> that sees syntax as being more important than the Infoset interface
> could try to clarify their position on this. The better we understand
> each other, the less we've got to fight about... Can anyone explain
> why encoding syntax is more important than the Infoset interface?
What is an "Infoset interface" in any case? Do you mean an API that
accesses some representation of an Infoset? Are you really talking
about the DOM? Nothing against the DOM, but I don't use that much in
the XML applications I've developed. Mostly I use XSLT to transform XML
either submitted via HTTP and/or located on a server, and return the
result back via HTTP. What is cool about this is that my applications
*are* implementation dependent, as they run under Windows NT...XP,
FreeBSD, Java etc. Haven't we met your goal of separating "interface"
from "implementation". Certainly the infoset is important to this
process as the infoset as exposed by the XPath model, allows me to
write my XSLT so that I've got a clue what results to expect. What does
this have to do with binary encodings etc? What does "encoding syntax"
have to do with any of this?