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