Attr+: Integrating attributes and elements

Paul Prescod paul at
Sat Aug 21 04:19:26 BST 1999

Marc.McDonald at wrote:
> I would say the key advantage of attributes over elements is that attributes
> can have defaults. 

I'm trying to seperate the issues. There are syntactic attributes and
schematic attributes. The one-to-one relationship between the two is
only an accident of history that I am trying to reverse.

Schematic attribute are named properties associated with element types.
These have the advantage that they are semantically recognizable to
processors as *properties* and not as *content*. This makes them easier
to address, efficient to store and guarantees their arity.

Syntactic attributes are properties of particular elements which for no
good reason are restricted to being simple strings. Why wouldn't you
want a property value to be richly structured?

My proposal allows property (attribute) values to be expressed as simple
strings when that is convenient and as structured sub-elements

> I can define a set of elements to be optional and allowed
> in any order by using (Attr1 | Attr2 ...)*. 

That's hardly the same! It allows Attr1 Attr1 Attr1.

> With schemas, I can type the
> content of an element. Default values seem the only missing capability.

Imagine if your favorite programming language didn't allow objects to
have named properties but instead said that every object was a list.
Finding a property value always required looking things up in lists.
Even Lisp is not that semantically over-simple (but Scheme is pretty

 Paul Prescod

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list