Perhaps from a human factors point of view making too comprehensive vocabulary can make the XML too involved, and then people may not want to mark up to such a large extent and then people give up on the ending XML as being annoying. Also i recall many times adding completeness which never got used in b2b formats.Yes, it's very hard to get this right, which is why I thought it was worth discussing your example. The wider the applicability you aim for in a schema design, the more complex it becomes: and you end up with XML that is very difficult to process (for examples, take XBRL or HL7). I think that basing the design on existing printed documents like menus is one way of defending against over-abstraction, but you can still end up modelling a lot of detail which might be unused by most users of the specification (for example, only a small proportion of restaurants in the world publish prices in more than one currency.)Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay