Re: [xml-dev] XML attributes are weird

From
Alain Couthures <>
To
Michael Kay <>, "Costello, Roger L." <>
Date
2013-12-22T09:28:24Z
ID
<>
Thread
Re: [xml-dev] XML attributes are weird
Attributes for data interchange can also be useful for metadata 
information: type, valid, readonly/readwrite, mandatory/optional, 
format, timestamp, owner,...

Conciseness of attributes is also a good point with a caveat for 
multiple values to be separated by a space character, for example.

XSLT is, in fact, using a lot of attributes and sub-elements when 
attribute notation is not convenient.

As in my Balisage paper 
(http://www.balisage.net/Proceedings/vol10/html/Couthures01/BalisageVol10-Couthures01.html), 
I still consider that attributes benefit from a shortcut in 
serialization but that a notation such as 
<element><attribute::format>value</attribute::format></element> should 
also be accepted for <element format="value"/> because attributes for 
attributes can even become useful ;-)

The parent/descendant axis is not always enough and XML would be just a 
tree notation if there were no attributes. It is restrictive to start 
from a serialization then wonder what can be done with it. My DOM 
implementation is allowing a text node containing an XQuery/XPath 
expression to have the corresponding XQueryX tree as a child.

JSON doesn't support attributes but has integrated types and arrays. 
Nevertheless the need for metadata is obvious when looking at JSON 
schema designs.

Alain Couthures
agenceXML

Le 21/12/2013 22:11, Michael Kay a écrit :
> Attributes betray the origins of XML as a document markup language. The text nodes contain the content, the attributes contain the information used for formatting the text.
>
> For a language designed for data interchange, the attribute/element split would be nonsense. But for a document markup language, it makes eminent sense.
>
> Michael Kay
> Saxonica
>
>
> On 21 Dec 2013, at 20:39, Costello, Roger L. <> wrote:
>
>> Hi Folks,
>>
>> Why did the founding fathers of XML create attributes?
>>
>> XML attributes are weird.
>>
>> They make XML documents dirty, messy, cluttered, and, well, ugly.
>>
>> XML elements are a perfectly satisfying way of defining name-value pairs. XML attributes is a special (i.e., extra, extraneous, redundant) way of including name-value pairs in the XML. That's awful.
>>
>> Unless ....... the creators of XML intended attributes for another purpose.
>>
>> I am reading a wonderful book on parsing and it talks about extending grammars with attributes; those attributes are used to specify the grammar's semantics.
>>
>> Hey, XML is a grammar: that's what XSD and RNG are all about, they define grammars.
>>
>> So maybe what the founding fathers of XML really had in mind with attributes is that they be used to enrich XML grammars with semantic information?
>>
>> Are any of the original founding fathers of XML out there? What were you thinking when you put attributes into XML? Perhaps you were thinking of attribute grammars?
>>
>> /Roger
>>