I like to think of elements are as file folders. You can create a
specific file folder for every tiny piece of data and make locating those
pieces easy in a DOM based on node name. SAX, on the other hand, fires off
events for every node and attribute it encounters at all levels. So, your
format choice is a combination of considerations. The parser is one major
thing if you're dealing with raw parsing, but if you are going to need
validation then which design will be easier to write/manage an xsd for? If
you aren't doing validation and the parsing method is irrelevant then the
main thing to consider is readability.
  As Norman said earlier, an attribute-centric file will be smaller. Keep in
mind, though, that attributes define properties of an element/node. They are
not root nodes and therefore can not have child nodes. Therefore, no
relative multi-value/nested data can be stored. The element, which said
attribute is in, can have child nodes but those nodes inherit all of the
parent's attributes at once. IMO, common data should be included as
attributes to a root element or as elements within a container that is
defined as a single, large entity by the container. Hopefully that makes
sense?
 
----------------------------------------
Glen Batchelor
IT Director
All-Spec Industries
 phone: (910) 332-0424
   fax: (910) 763-5664
E-mail: webmas...@all-spec.com
   Web: http://www.all-spec.com
  Blog: http://blog.all-spec.com
----------------------------------------

> -----Original Message-----
> From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
> boun...@listserver.u2ug.org] On Behalf Of Brian Leach
> Sent: Thursday, May 13, 2010 11:24 AM
> To: 'U2 Users List'
> Subject: Re: [U2] XML format question
> 
> George
> 
> So to paraphrase, when do you use attributes to hold data and when do you
> elements..
> 
> The problem is, there is no clear answer to this, and everyone who designs
> XML schema has to grapple with this question. The only simple answer is
> that
> if a value could legitimately have an attribute associated with it to
> qualify it, it should be an element. So in your example, the precision
> attribute is qualifying the type/content of the Latitude element. But that
> is really just a design and not a technical choice.
> 
> The real answer is more pragmatic - it generally depends on what the
> consumer of that data wants. In parsing terms, attributes and elements are
> not the same so if the contract calls for an element, use an element; and
> if
> it calls for an attribute, use an attribute.
> 
> It's a question I've asked lots of times and never really had a solid or
> consistent answer.
> 
> Brian
> 
> -----Original Message-----
> From: u2-users-boun...@listserver.u2ug.org
> [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
> Sent: 13 May 2010 4:06 PM
> To: U2 Users List
> Subject: [U2] XML format question
> 
> I'm importing some XML, and a question came up with the following: I'm
> writing a small xml extraction program
>    to setup a dynamic array, what is the difference between putting a
> field
> inside the label vs putting the field
>    between the tags of the label? Aren't they both a subset of the label?
> I
> always thought that if the field was
>    a single value field, it would be quoted and inside the label, but if
> it
> could be a multivaled field, it would go
>    between the field tags, with it's own field/tags.
> 
> <Result precision="address"><Latitude>39.931085</Latitude>
>  <Longitude>-77.387943</Longitude><Address>1001 N   Some Rd</Address>
> 
> <City>Somewhere</City><State>PA</State><Zip>15063-
> 1404</Zip><Country>US</Cou
> ntry>
> </Result>
> 
> Could this have formatted just as well as:
> 
> <Result><precision>address</precision><Latitude>39.931085</Latitude>
> <Longitude>-77.387943</Longitude><Address>1001 N  Some Rd</Address>
> <City>Somewhere</City><State>PA</State><Zip>19063-
> 1404</Zip><Country>US</Cou
> ntry>
> </Result>
> 
> or
> 
> <Result precision="address" Latitude="39.931085" Longitude="-77.387943"
>   Address="1001 N  Some Rd" City="Somewhere" State="PA"  Zip="19063-1404"
>  Country="US"></Result>
> 
> 
> George Gallen
> Senior Programmer/Analyst
> Accounting/Data Division, EDI Administrator
> ggal...@wyanokegroup.com
> ph:856.848.9005 Ext 220
> The Wyanoke Group
> http://www.wyanokegroup.com
> 
> 
> 
> _______________________________________________
> U2-Users mailing list
> U2-Users@listserver.u2ug.org
> http://listserver.u2ug.org/mailman/listinfo/u2-users
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 9.0.819 / Virus Database: 271.1.1/2870 - Release Date: 05/12/10
> 19:26:00
> 
> _______________________________________________
> U2-Users mailing list
> U2-Users@listserver.u2ug.org
> http://listserver.u2ug.org/mailman/listinfo/u2-users

_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to