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?