5 ms·
When I've designed XML files in the past, I use the "tags and attributes" principle. The entire file is tags, and ignored whitespace between the tags. All the d
by billpg 16y ago
When I've designed XML files in the past, I use the "tags and attributes" principle. The entire file is tags, and ignored whitespace between the tags. All the data is in attributes. Looks a lot nicer IMO.
What I don't get, with XML in the real world, is why people prefer this...
<A><B>1</B><C>2</C></A>
instead of my preference...
<A B="1" C="2" />
With the first form, you need to write out each tag name twice, and there's ambiguity when whitespace appears between tags. Yet that's what most XML out there looks like. Maybe I'm just odd,
- cema 16y agoA choice between a node and an attribute is not always clear, but there are helpful guidelines out there. A search for xml nodes versus attributes will give you a list of articles to ponder -- sorry for not being more detailed, but I am away from my archives, or else I could have given you links to the places that helped me to visualize it better. Here is one classic, though, from as far back as 1992: http://xml.coverpages.org/attrSperberg92.html http://xml.coverpages.org/attrSperberg92.html EDIT: ok, the first link is to an IBM Research article which I recall having been useful: http://www.ibm.com/developerworks/xml/library/x-eleatt.html http://www.ibm.com/developerworks/xml/library/x-eleatt.html
- sesqu 16y agoThere's a semantic difference between an element and an attribute. Unfortunately, XML is specifically used to model element-as-attribute relationships, so a lot of people start wondering about the exact, nebulous, distinction. Elements are the more flexible of the two, but possessing of some quality that you (and many others) wish to avoid. The difference is much the same as that between native datatypes and objects. Some languages explicitly expose everything as objects, while others contend that, for example, boolean-objects are overkill and downright problematic. Generally, I use attributes for strongly typed data, and elements for untyped or (semi)structured data. Schemas are vital for typing.