[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
- From: "G. Ken Holman" <gkholman@CraneSoftwrights.com>
- To: Uche Ogbuji <uche@ogbuji.net>,"Costello, Roger L." <costello@mitre.org>
- Date: Fri, 28 Sep 2018 08:32:48 -0400
And:
"When Should I Use Elements, and When Should I Use Attributes?"
http://www.oasis-open.org/cover/elementsAndAttrs.html
At 2018-09-27 09:43 -0600, Uche Ogbuji wrote:
"Principles of XML design: When to use elements versus attributes", 2004:
<https://www.ibm.com/developerworks/library/x-eleatt/index.html>https://www.ibm.com/developerworks/library/x-eleatt/index.html
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:
<Cost>
<Currency>USD</Currency>
<Amount>8.95</Amount>
</Cost>
Do you agree?
/Roger
--
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]