For me, it is like discussing of code style for a programming language: some will argue for a style, others will defend an alternative. The only consensus I saw is: "Choose one style and be consistent"!
I just note that lot of XML dialects just use lowercase names (SVG, Ant, XHTML...).
I don't get the "no spaces in attributes values" rule. Somehow, it sends to the debate "what to put in attributes and what to put as text?".
Maybe these are not the best examples, but there are some well known XML formats using spaces in attributes:
- XHTML, particularly class attribute (you can put two or more classes) and of course alt and title attributes.
- SVG, with for example the d attribute of the path tag.
- Both with style attribute...
I don't fully understand the arguments against the practice (seem to apply to some usages only) but it is legal at least, and quite widely used. With drawbacks, apparently.
Oh, and you don't need a space before the auto-closing slash. :-)