Re: 3.1 b-h: BEHAVIOR
David Durand wrote:
> At 4:57 PM -0800 3/2/97, Terry Allen wrote:
> >Let me press harder. Are XML-link semantics expressed to the
> >processor or to the application, or to both, or is it up to
> >designers of apps and processors to decide? If it's not clear which,
> >are you relying on the market to develop a common solution or are
> >you punting?
> I think that this question is confused by having 2-levels where 3 are
> and XML parser implements the syntax, and XML-linking engine detects and
> flags linking constructs, and an application takes that information and
> implements behavior.
> Anyway, the meaning of "create a fresh display" is going to be
> inherently application dependent. I can think of at least 4 different ways
> to implement that off the top of my head. (New window, new pane, replace
> something in some no longer desired old pane, create a new icon on tracking
> map, prompt the user for a new filename to hold the next downloaded item,
I agree with David. This was why we had the bloody infoContainers
in MID and specified a tree of display types to contain resources
fetched by get links. Once one starts to specify display semantics
(a requirement of MID because look and feel was what it was
intended to convey), I could never figure out a way to express
these without either
1. MID Vancouver - an object-oriented language for expressing the
2. MID I - express the objects in an interpreted script (HTML,
HyperCard, lots of systems)
We did a two layer design for soft, semi-soft and hard MIDs in the
spec. In the actual implementations, the MID element types were
subclasses (pane class, clientArea class, script class etc).
So a GenCoded solution that works but is only reall "Gen"
in the database.
The linking engine was a HyTime engine (HyMinder). The design is
on the Navy server, so no details here. But what we ended
up with is similar to what David is describing, parser, linking
engine, display engine (implementation of behavior).
As far as I can tell,
as soon as one needs to express the layout without the layout
language, one has to separate the display application from the
information database. Either could be expressed in XML, but
they will be separate XML applications. So, yes, behavior is
just a flag to pass off to the application engine.