|
From: Burkhard S. <b_...@us...> - 2004-08-28 13:59:08
|
Hi everybody,
I like the idea of includes in a Technique Definition.
A few thoughts and reflections about the Modules system:
- Why don't we treat Definitions and Modules symmetrically?
A Module is a fancy way for including things. It has the same
child nodes as a Definition (except that UsedModule is missing).
This has quite significant effects when using an object mapping tool.
Multiple elements with the same name but different children cause all
kinds of problems here. Additionally, a program that tries to read a
Technique (with modules) must treat things differently depending on
whether it is in a Definition or a Module.
We could think about using only a single branch and - for example - make
the file type choice an attribute to Technique.
<Technique type="{definition|extension|module}" ...>
It would keep software a lot simpler. (Not only the Technique Editors
;-) ). The only downside I see here is that includes can possibly be
recursive; but I guess that's a feature.
- How do we prevent that somebody includes a Module in the wrong way?
It would be good it we could prevent users from inserting Modules at the
wrong place, i.e. put a Page into a ParameterCategory.
- How do we deal with naming conflicts? Do we superimpose like with
Extensions? Sounds reasonable.
Another thought crossed my mind -- how exactly is a Module different
from an Extension? Let's define the semantics:
* An Extension is superimposed at the Root of the Technique
Definition, a Module can be superimposed at many places
below the root.
* An Extension is referenced from an AnIML data file,
a Module is referenced from a Technique Definition
* Both mechanisms formally declare the labels and types of
items in the data file.
Do we really need to differentiate between a Module and an Extension
then? Wouldn't it make sense to unify them and allow Extensions to be
referenced from inside a Technique Definition? This would again reduce
the efforts needed to implement AnIML in applications.
How do you folks think about this?
Best wishes,
Burkhard
PS: Let's keep the discussions on the mailing list so every interested
party can follow and contribute. After all, we are not a private polo
club. ;-)
|