OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Co-operating with Architectural Forms

[ Lists Home | Date Index | Thread Index ]

"Steven R. Newcomb" wrote:
> ... (It would have been wasteful if XML had been
> designed in such a way that every element had to begin
> with the characters:
>   <GI=

But why would that have been the case. If the GI attribute is in no way
special then why would elements need to have a GI attribute at all? One
vocabulary could call the type-specifying attribute "eltype" and another
could call it "type" and another could call it "mytype". And yet another
could do without it at all.

<>Hello world <>Isn't this</> nice</>

After all, attributes are optional! Nobody forces a vocabulary to use

And schemas wouldn't work from GIs. They would work purely from
name/value pairs. Ditto for stylesheets and transformations. Instead of
XPaths like /foo/bar we'd have /etype=foo/type=bar. Instead of declaring
attributes and content models being attached to GIs, they would be
attached to other name/value attribute pairs:

<!ATTLIST #ALL etype>
<!ELEMENT etype=p (etype=bar, etype=baz*)>
<!ATTLIST etype=p someattr ...>

The model I'm describing is radically different than XML or SGML, but it
is the logical end-point of this idea that the GI is just another
attribute. It would totally destroy the relationship between XML and
"typed tree" systems like BNFs, CFGs and regular tree/hedge/forest
automata. RELAX would probably not exist and XML Schema would be even
more complicated than it is. 

The whole XML world is organized around the idea that the GI is the
*type name*. It is not surprising that architectural forms bend people's
minds -- they completely invert the standard model like quantum physics
and relativity. 

Plus, the bending actively works against the idea that you are setting
up a kind of "type inheritance" or subtyping where one type inherits
from another. On the one hand we say that we are setting up
relationships between types and then on the other saying that really the
first thing was just an attribute, not really a type, so look over here
at that attribute: it's really the type.

 Paul Prescod


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS