future developments of XML standards for Invoices though: If it becomes

possible to label some entities as 'must understand' and others as

'ignorable'.

I used to be a big believer in this distinction. Then I realized that "must understand" begs the question "in order to do what?" If you are an editor for office documents, or even a viewer, it may make some sort of sense. But suppose you just want to count the number of paragraphs with a little bit of XSLT? Are you supposed to make use of the MCE information in this case? Obviously not. But there simply is no bright line between when you should and when you should not, making the whole notion of "must understand" extremely problematic to apply.

There's a nice analogy with what the Open Source Initiative mailing lists call "badgeware". These are web applications that you can use and modify freely, provided you keep the original creator's logo, or a link, on the splash screen, or even all screens. The authors always want us to bless their licenses as open source, but they can't be. Why not? Because they don't realize how wide the scope of "modification" is. Suppose you just want to pull out the date-parsing code and reuse it server-side, where there is nowhere to display the badge. Is that valid according to the license? Probably not. And if it is, where can the line be drawn between reusing the whole thing and just changing the logo, and this sort of reuse of individual modules? Nobody knows. So we have to turn down such licenses.