Simple API
James Clark
jjc at jclark.com
Tue Mar 25 19:30:04 GMT 1997
At 09:52 25/03/97 GMT, Peter Murray-Rust wrote:
>My own suggestion is that we should produce a ReallySimple API independently
>of the grove approach.
It's perfectly possible to have a "ReallySimple API" that is based on
groves, for example:
public interface Builder {
SgmlDocument build(String url);
}
public interface Node {
public abstract Node getParent();
public abstract NodeList getChildren();
}
public interface NodeList {
public abstract Node getItem(int i);
public abstract int getCount();
}
public interface NamedNodeList {
public abstract Node getItem(String name);
public abstract NodeList toNodeList();
}
public interface SgmlDocument extends Node {
public abstract NodeList getProlog();
public abstract NodeList getEpilog();
public abstract Element getDocumentElement();
public abstract NamedNodeList getElements();
public abstract NamedNodeList getEntities();
}
public interface Element extends Node {
public abstract String getId();
public abstract String getGi();
public abstract NodeList getContent();
public abstract NamedNodeList getAttributes();
public abstract boolean getMustOmitEndTag();
}
public interface DataChar extends Node {
public abstract char getChar();
}
public interface Pi extends Node {
public abstract String getSystemData();
}
public interface ExternalData extends Node {
public abstract Entity getEntity();
}
public interface AttributeAssignment extends Node {
public abstract NodeList getValue();
public abstract boolean getImplied();
public abstract String getName();
}
public interface AttributeValueToken extends Node {
public abstract String getToken();
public abstract Element getReferent();
public abstract Entity getEntity();
public abstract Notation getNotation();
}
public interface Entity extends Node {
public abstract String getName();
public abstract ExternalId getExternalId();
public abstract String getText();
public abstract Notation getNotation();
}
public interface ExternalId extends Node {
public abstract String getSystemId();
public abstract String getPublicId();
}
public interface Notation extends Node {
public abstract String getName();
public abstract ExternalId getExternalId();
}
Is that really so complicated?
James
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