Re: XML API specification

Gavin Nicol (gtn@ebt.com)
Thu, 27 Feb 1997 10:14:34 -0500

>I don't claim to have fully grasped the mechanics of _applying_ grove
>plans, but isn't the principle that you use them to specify which subset
>of the SGML property set you want in your output grove? If so, can't we
>say that our PhaseI requirements are a 'grove plan', then use the
>relevant bits of the SGML Property Set as the primitives for our 'data
>structure' API?

Right. The core grove is a very simple data structure.

I do not think our *parser* API should be the grove that results
from parsing an XML document though. In my JAVA/C++ API, I do something
like the following:

public class Property {
public String m_name;
public Node m_value;
}

public class Node {
public Node m_parent;
public Node m_left_sibling;
public Node m_right_sibling;
public Node m_first_child;
public Vector m_properties;
}

public interface GroveEventHandler {
public OnStartNode(Node node);
public OnEndNode(Node node);
}

I think for XML, we should probably get more concrete. The question
is how much more concrete? How much information *must* the API support?
Do we *need* Element, Attribute, Comment, PI, Header, DTD, MarkedSection,
EntityReference, Entity etc. etc?