> <Document>
> <Test>Hello, world</Test>
> </Document>
Whitespace is signfiicant unless there is information (e.g. a DTD or schema) that says it isn't.
See how easy that rule is to write? During the design of XML we argued for literally weeks about this and we just couldn't figure out a rule for white-space significance that was human-comprehensible. An example of such problems can be found in the SGML spec, which says that white space "caused by markup" can be ignored. It was very difficult to figure out what that meant, and a horrible problem for every practitioner.
> Is that good language design?
No, it's a design mistake that causes untold extra costs and complexity in XML processing.
Well, you just told us, so the costs and complexity are no longer untold. :)
There's lots of room for argument on this.
There are many ways it could have been avoided, for example by writing insignificant whitespace as
<Document
<Test>Hello, world</Test>
/Document>
Now, that is an interesting idea, one I'm pretty sure we never looked at back in 1996. We also had a constraint that we had to be SGML-compatible and SGML syntax is *very* flexible, so that might have qualified.
But we've learnt as a community that trying to improve XML doesn't work: the standard is too deeply embedded.
Agreed. If I were going to improve it, white-space wouldn't be near the top of the list, but reasonable people may disagree on this.