[SML] Whether to support Attribute or not?

Steven R. Newcomb srn at techno.com
Sun Nov 28 00:01:32 GMT 1999

<notice>If the following makes you laugh, that's OK with me.</notice>

Everything inside a start tag declares attribute values, including the
tag name.  The tag name is accurately regarded as the value of the
element's one and only nameless attribute.  Every element must have a
value for its nameless attribute -- even SML elements.

The value of the nameless attribute (the "tag name" or "generic
identifier") is only minimally constrained; it can be can be almost
any token, and its value can be used for any application-defined
purpose whatsoever.

Therefore, if anyone thinks SML can be made to work entirely without
attributes, they should think again.  Attributes are of the essence of
markup, and you can't get rid of them entirely.  Since we can't get
rid of them entirely, where should SML draw the line, and why?
Personally, I'm not easily persuaded that parsing an "=" sign is so
very difficult that it deserves to be discarded in the name of

If you really want simplicity, why not make *all* the attribute names
explicit, instead of exempting only the generic identifier ("GI").  I
mean, for example:

   <sml:GI="z">      instead of     <z>

Then it's simpler to process:

   <sml:GI="z" id="z1">

than it is to process:

   <z id="z1">

 ...because everything that's space-delimited in a start tag is parsed
in exactly the same way.  Furthermore, we no longer care about the
placement, within the start tag, of the generic identifier, because

   <id="z1" sml:GI="z">Hello, simple world!</sgml:GI="z">

can be a perfectly valid start tag for a z element.  That's simpler,

Finally, it's now possible to have an element with no tag name:

   <id="z1">Hello, simple world!</>

If we don't require DTDs anyway, what's the difference?  There is
no reason to say what kind of a thing a particular element is, if you
don't really care what kind of a thing it is, but you merely want to
say something about it that is completely application-defined.

If that's the case, then it's perfectly reasonable to have completely
empty start tags, simply because you have nothing whatsoever to say
about an element, other than that it starts in a certain place:

   <>Hello, simple world!</>

In fact, we can express complete documents with no semantic baggage
whatsoever in their markup.  Now *that's* simplicity!


Steven R. Newcomb, President, TechnoTeacher, Inc.
srn at techno.com  http://www.techno.com  ftp.techno.com

voice: +1 972 517 7954  <<-- new phone number
fax    +1 972 517 4571  <<-- new fax number
pager (150 characters max): srn-page at techno.com

Suite 211               <<-- new address
7101 Chase Oaks Boulevard 
Plano, Texas 75025 USA

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

More information about the Xml-dev mailing list