Lists Home |
Date Index |
Nicolas Lehuen wrote:
> Beginner's question : what is the difference between an architecture and a
> namespace ? Is it that architectures have a meaning (i.e. meta-DTDs and
> possibility to write code that process the AF following these meta-DTDs) and
> allow renaming, whereas namespaces are just sets of names ?
I think that is a big part of it. There is a very clear process for
processing architectural forms. That's one good thing about them. There
are so many differences that it is hard to compare.
First, architectural forms depend on an external DTD to drive them. So
they are maybe more like schema inheritance in that sense. Namespaces
are designed to be right in your face. That is both a strength and a
Architectural forms have an odd (in my view) kind of inheritance.
Namespaces do not. Really "inheritance" in markup contexts is a kind of
transformation but ideally one that can be done in a lazy, efficient and
bidirectional manner. Architectural forms have that property.
Both abuse the syntax of attributes in weird ways but architectural
forms typically do it using fixed attributes in the DTD.
I think it would be most interesting to compare AFs to XML schema
inheritance, more than to namespaces.
> Yes, I know, Architectural Forms vs namespaces have already been debated on
> this list, before namespaces where adopted, as early as in 1997 . So now
> that namespaces are there, what can we learn from AF ?
My personal take is that a lot of XML "semantics" is really about
transformation from unknown vocabularies to known ones. This can be done
in a sort of blunt way with XSLT or a more elegant way using
technologies that try to build on (emulate?) the OO idea of
"inheritance." Namespaces do not inherently have such a feature but also
would not get in the way of such a feature.
I think that there is a usability problems with architectural forms or
they would not be so mysterious to so many people after so many years.
Even though I was once an expert many of the details elude me now. They
are sort-of an attribute-hack, sort-of a transformation-trick, sort-of a
universal-naming-convention, sort-of an inheritance feature. It's can be
hard to get your head around all of those sort-ofs.