Re: 3 possible approaches for representing concepts
Yes - all great points (thank you to everyone!). I also think that one disadvantage to approaches #2 and #3 (from the original e-mail - these approaches used attributes) is that using purely W3C Schema, it is not possible to enforce mandatory/optional if, given the value of the attributes, the entire "set" (element/attributes/values) may be considered mandatory in some cases, but optional in others (according to the data requirements. To illustrate, I will remind us of approach #3: <FinalEstimatedAmount yearType="CurrentYear" amountType="Budget"> >999.99</FinalEstimatedAmount> If instead of this approach, one used purely elements (as with approach #1) and the difference between 2 element names were according to the "yearType" attribute, one would have the following 2 uniquely named elements (using pipes to seperate sub-components): (1) CurrentYear|Budget|Final|EstimatedAmount (2) PriorYear|Budget|Final|EstimatedAmount If in a given content model, element (1) above were mandatory and (2) were optional, that is of course easy to enforce. However, with approach #3, there would be no way to enforce this using *purely W3C Schema* (we know RELAX NG and Schematron can) - we cannot enforce that "FinalEstimatedAmount" is mandatory when yearType="CurrentYear", etc. One would need to make the "FinalEstimatedAmount" optional as a "lowest common denominator" approach, which doesn't meet the requirement. Thanks, Joe Jonathan Robie wrote: > > At 06:12 PM 4/3/2003 +1000, Rick Jelliffe wrote: > >You can have your cake and eat it too, Marie Antoinette not > >withstanding. > > > >For example, > ><!ATTLIST cybfea > > fullname CDATA #FIXED "CurrentYearBudgetFinalEstimatedAmount" > > type CDATA #FIXED "Amount" > > yearType CDATA #FIXED "CurrentYear" > > amountType CDATA #FIXED "Budget" > > finalIndicator CDATA #FIXED "Final" > > estimateIndicator CDATA #FIXED "Estimated" > > > > > > >means that the markup of > > > ><cybfea>999.99</cybfea> > > > >implies the infoset of > > > ><cybfea fullname="CurrentYearBudgetFinalEstimatedAmount" > > type="Amount" > > yearType="CurrentYear" > > amountType="Budget" > > finalIndicator="Final" > > estimateIndicator="Estimated" > > >999.99</cybfea> > > Of course, there is a cost to this approach as well - in some environments, > users like to look at their markup and write queries or programs based on > what they see in the instance. With Rick's approach, most of the action is > precisely in the things you can't see when looking at the instance > document. On the other hand, it conveys the information you need very > compactly if the size of the markup matters in your environment. > > Again, it's best to figure out how the data will be used so you know which > factors are important to optimize. Design is a kind of optimization, and > you can't design until you know what you are trying to optimize. > > Jonathan > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an > initiative of OASIS <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://lists.xml.org/ob/adm.pl>
begin:vcard n:Chiusano;Joseph tel;work:(703) 902-6923 x-mozilla-html:FALSE url:www.bah.com org:Booz | Allen | Hamilton;IT Digital Strategies Team adr:;;8283 Greensboro Drive;McLean;VA;22012; version:2.1 email;internet:chiusano_joseph@b... title:Senior Consultant fn:Joseph M. Chiusano end:vcard
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