|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: 3 XML Design Principles - a rebuttal
Roger-- This is getting there, but it seems to me there's a basic idea that needs to be more explicit, and catered to, in much of your exposition. It's embedded in some of your examples, and several of the earlier respondents have mentioned it using different words. The principle is that designs (of anything) need to be evaluated with respect to satisfying an identified set of requirements. Designs don't exist in a vacuum. In other words, extend what you say below: "Every engineering decision has its pros and cons", to read something like "Every engineering decision has its pros and cons *with respect to satisfying specific requirements*". What's the problem you're trying to solve with a given design? Your summary of coupling illustrates some awareness of this point, where you note the relationship of coupling to processing requirements. On the other hand, your summary of principle #3 refers to "ease of management" and "ease of understanding" in a rather general way. What kind of "management" or "understanding"? (E.g., I can think of situations where it's the nested form that's easier to understand; that's why so many forms use nesting, rather than small chunks with lots of internal identifiers). Another point that may also be worth mentioning is that often a particular requirement can be satisfied in more than one way, and you need to take that into account too. For example, in your initial example you discuss explicit vs. implicit relationships. Explicit relationships are a good idea in general, but there's often more than one way to provide information about a relationship. In this example, for instance, you separate pickers and lots and show the relationship with a locatedOn attribute. But there are alternatives. For example (considering just this one issue in isolation): * if that's the only relationship between pickers and lots, and you don't want to cater for later extensions to represent other relationships, then you could have continued to use the nested structure, and indicated (if necessary, in a machine-processable form of some kind) the "meaning" of the relationship in a separate document of some kind (i.e., saying in effect "pickers contained in lots are those located there") or * you could have added an additional nested element, as in <Lot id="1"> <ripe-grapes>4</ripe-grapes> <pickersLocatedAt> <Picker id="John"> <metabolism>2</metabolism> <grape-wealth>20</grape-wealth> </Picker> </pickersLocatedAt> </Lot> Those alternatives may be better or worse with respect to some requirements (or processing assumptions) you have in mind, but what are those requirements? --Frank Roger L. Costello wrote: > > Outstanding discussion! Thanks Christian for keeping me honest. > Every engineering decision has its pros and cons. I failed to > consider that in my original post. So, I have completely rewritten my > original post to (hopefully) reflect a more balanced perspective. > Have I fairly captured the pros and cons of the 3 issues I try to > address? /Roger > > snip
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||






