OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Don’t create elements with simple co ntent and attributes


"When Should I Use Elements, and When Should I Use Attributes?"

At 2018-09-27 09:43 -0600, Uche Ogbuji wrote:
"Principles of XML design: When to use elements versus attributes", 2004:

On Thu, Sep 27, 2018 at 6:54 AM Costello, Roger L. <<mailto:costello@mitre.org>costello@mitre.org> wrote:

Hi Folks,

I hold this to be the fundamental axiom of XML:

Make the structure of data explicit.

We accomplish that by adding a label (markup) to the data.

There are various terms for this notion of making the structure of data explicit: upconversion and uptranslation.

Elements with simple content and attributes are antithetical to the fundamental axiom of XML.

Here is an element with simple content and an attribute:

<Cost currency="USD">8.95</Cost>

The data USD is explicitly labeled. The label indicates that USD is a currency.

What about the data 8.95, is it labeled? No! It is anonymous/unlabeled. Note: Cost is not the label for 8.95; Cost is the label for the whole package.

In my most recent post, I asked, “What is that number (8.95)?” I received excellent responses: 8.95 is a price, 8.95 is an amount, etc. External knowledge was needed to label the data. The need for external knowledge completely contradicts the fundamental axiom of XML.

Therefore, don’t create XML like this:

<Cost currency="USD">8.95</Cost>

instead, create XML like this:


Do you agree?


Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/x/ |
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Streaming hands-on XSLT/XPath 2 training class @ US$45 (5 hours free) |

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS