[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Six Reasons Not to use XML Attributes
- From: "Costello, Roger L." <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Fri, 2 Mar 2012 13:51:46 +0000
Hi Folks,
1. XML attributes are specific to the XML data format. Other data formats, such as
comma-separated values (CSV) and binary, don't have it. That is, taking a (element)
name with a (element) data value and then adding to that a (attribute) name/value
pair is specific to XML.
2. Avoiding XML attributes makes your language simpler.
3. When people use XML attributes they typically assign them some meaning. For example,
some people assign attributes the meaning "attributes are metadata." When you enter
the land of meaning (and its partner, interpretation) you enter the land of chaos [1]. By
eliminating attributes you have one less category of things to give meaning to and one
less category of things to be misinterpreted.
4. XML Schemas that do not use xsd:attribute can be used to logically model other data
formats besides XML, using the Data Format Description Language (DFDL) [2].
5. Attributes are never needed. For example,
The altitude is 12000 feet.
can be modeled using an attribute:
<altitude units="feet">12000</altitude>
However it can be equivalently modeled using just elements:
<altitude>
<units>feet</unit>
<value>12000</value>
</altitude>
6. Michael Kay says that attributes are unnecessary [3]:
XML is too large. Attributes are unnecessary, mixed content is
unnecessary, namespaces are unnecessary: without these unnecessary
concepts, XSD and many other things would have been much simpler.
Are there any more reasons not to use XML attributes?
/Roger
[1] http://www.xfront.com/The-edge-of-chaos-where-syntax-ends-and-interpretation-begins.pdf
[2] https://www.ogf.org/dfdl/
[3] http://lists.xml.org/archives/xml-dev/201112/msg00085.html
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]