XML Property Set

Norbert H. Mikula nmikula at edu.uni-klu.ac.at
Tue Jun 24 15:40:37 BST 1997


|---------------|
|   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 at 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 at ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa at ic.ac.uk)




More information about the Xml-dev mailing list