[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: 3 possible approaches for representing concepts
Clarification: There was some stray text at the end, here are the 3 approaches: APPROACH #1: Element-based approach - One long-named element that represents the entire "concept": <CurrentYearBudgetFinalEstimatedAmount>999.99</CurrentYearBudgetFinalEstimatedAmount> APPROACH #2: Attribute-based approach - One short- and simply-named element that represents the most basic concept, with multiple attributes to "fill in the meaning": <Amount yearType="CurrentYear" amountType="Budget" finalIndicator="Final" estimateIndicator="Estimated">999.99</Amount> APPROACH #3: Combined approach - One more "fully-named" element with several attributes to "fill in the meaning": <FinalEstimatedAmount yearType="CurrentYear" amountType="Budget"> 999.99</FinalEstimatedAmount> Thanks! Joe Joseph Chiusano wrote: > > I would like to please solicit some quick feedback if possible regarding > an approach to using elements and/or attributes to represent concepts in > an XML document. I am having a "healthy debate" with a "colleague" on > how much "meaning" should be placed into an element name, and how much > (if any) should be "filled out" by attributes. > > Below I've identified 3 approaches for representing a concept called > (pipes separate the "subconcepts"): > > CurrentYear|Budget|Final|Estimated|Amount > > A "related" element in the same XML document might be called (note only > the first subconcept has been changed): > > PriorYear|Budget|Final|Estimated|Amount > > I am interested in feedback regarding which of the 3 approaches below > folks have used (whether it was an XML schema or DTD), and also which > may be best for both constructing an XML document based on database > contents, and parsing an XML document and committing the contents to a > database. I am aware of all the "issues" surrounding use of attributes > (order not enforced, cannot have duplicate names, namespace handling, > etc.), so my inquiry is outside of those. My personal experience tells > me that approach #2 (attribute-based approach) is not best practice, and > there *may* be some issues with tools. > > And here they are: > > APPROACH #1: Element-based approach > > - One long-named element that represents the entire "concept": > > <CurrentYearBudgetFinalEstimatedAmount>999.99</CurrentYearBudgetFinalEstimatedAmount> > > APPROACH #2: Attribute-based approach > > - One short- and simply-named element that represents the most basic > concept, with multiple attributes to "fill in the meaning": > > <Amount yearType="CurrentYear" amountType="Budget" > finalIndicator="Final" estimateIndicator="Estimated">999.99</Amount> > > APPROACH #3: Combined approach > > - One more "fully-named" element with several attributes to "fill in the > meaning": > > <FinalEstimatedAmount yearType="CurrentYear" amountType="Budget"> > 999.99</FinalEstimatedAmount> > > <CurrentYearBudgetFinalEstimatedAmount > core:amountTypeID="Federal">999</core:EstimatedUnobligatedAmount> > > Thanks in advance for your feedback. > > Joe Chiusano > Booz | Allen | Hamilton 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
|