R
Roedy Green
(4) will never be true, no matter what format you're using. Microsoft
designed their XBox360 with loads of DRM and security to make sure people
wouldn't screw with it. But people did anyway. It's human nature to be
curious, and to want to take things apart to see how they work.
That is not what I mean. I want to stop people hand-editing XML then
passing the files off into the world without being validated. I have
no problem with people peeking under the hood. I love to do it, so
why should I stop others?
With a binary format, you need to use an editor or converter that
won't let you make a syntax error.
Consider HTML, a close relative of XML. Probably less than 1% of web
pages in the world are grammatically correct. This complicates
browsers and creates headaches with browser compatibility. People
"test" with one browser and assume it will work in others.
Consider what would happen if Tim Berners-Lee had defined a binary
HTML format. The idea was you hand composed fluffy HTML or used an
editor, and then ran a converter/uploader to put a compact version on
the web. Then there would be 99% accurate HTML. You would only have
to deal with the relatively minor problem of bad converter software.
The converter could be forgiving, without foisting the crap on
everyone else since it would be converted to accurate binary format
that very few people would be tempted to tamper with.
Imagine what would happen if Java were distributed without being
validated by JavaC first.
In the very least, a fluffy xml file should be digitally signed (or
something weaker) to indicate it has been verified against some schema
or that it has been mechanically generated by some program that has
been certified it does not make grammatical errors.