[
Lists Home |
Date Index |
Thread Index
]
- From: "Norbert H. Mikula" <nmikula@edu.uni-klu.ac.at>
- To: xml-dev@ic.ac.uk
- Date: Tue, 24 Jun 1997 12:30:00 -0700
|---------------|
| Grove API | <<< I assume this has similarities to JamesClark's
|---------------| ReallySimple API ...
| Grove Builder |
| API | <<< different memory/storage models are implemented
here.
|----------------------------------|
| XML Event API | << presumably fairly similar to
NXP?
|----------------------------------|
| XML Parser API | << Corresponds to John Tigue's
analysis?
|----------------------------------|
I guess the two bottom layers and the connection between
Event API and Grove Builder API are my call.
Let me ask you :
Should we go for a pure event oriented API, like it is now
implemented in NXP (and leave it up to the next layer to create the
objects) or should we have creator methods that would be set in the
event
API like now the Esis object is set (setEsis) in the parser. These
methods
would be called in case of a specific event and the result of this
method call would be send to the application via the event interface.
For instance we would have an interface :
public interface Constructors
{
public Element createElement();
public Attribute createAttribute();
...
}
Element and Attribute etc. will probably be subclasses of Node,
as per James' simple API. Node, however, should be defined
very generally so that we don't *have* to think about
DSSSL when want to talk about/use a node.
An event-producer class conforming to the Esis(++) interface would need
to
implement a method :
public void setCreator(Constructors constr);
It would work then like :
a.) parser recognises a certain tag
b.) calls the appropriate creator method to create an
object of class element
c.) sends the created object to the next layer via
the event producer
An alternative to the creator methods would be to
set the objects to be created via a Hashtable of Strings.
Then the objects would be create via their "name".
For instance an entry in the hashtable would look
like : "Element" -----> "dsssl.Element" and the
result would be the creation of an object of type
dsssl.Element for the "event" Element.
--
Best regards,
Norbert H. Mikula
=====================================================
= SGML, XML, DSSSL, Intra- & Internet, AI, Java
=====================================================
= mailto:nmikula@edu.uni-klu.ac.at
= http://www.edu.uni-klu.ac.at/~nmikula
=====================================================
xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa@ic.ac.uk)
|