YAXPAPI (Yet Another XML Parser API)- an XDEV proposal

Peter Murray-Rust peter at ursus.demon.co.uk
Sat Dec 13 23:27:09 GMT 1997


I am listing the main calls from Lark and AElfred that I find useful. As
you can see there is a great similarity - I confess that I find the AElfred
ones slightly easier to understand.

I suggest that Tim, David, Norbert if he's free, me and *anyone else who
has written a java parser* decide on a synthesis of this lot. I think
everyone has to be slightly flexible. I if I were to suggest, I like the
AElfred model for accessing the DOCTYPE stuff - its simple and fairly close
to the spec. I'd change the names where possible to be spec-compliant. I
think Lark may have more precision on Entities.

There is nothing difficult here - we don't need anything more - we just
need to do it.  I don't see why we can't iterate on these and come up with
something in a week.  

	I will undertake to hack JUMBO do it uses the resultant interface by choice.

Let's get our act together!

	P.


AElfred - document instance related stuff

  attribute(XmlParser, String, String, boolean) 
  data(XmlParser, String) 
  doctypeDecl(XmlParser, String, String, String) 
  error(XmlParser, String, String, String, URL, int) 
  processingInstruction(XmlParser, String, String) 
  resolveEntity(XmlParser, String, String, URL) 
  startDocument(XmlParser, String, URL) 
  endDocument(XmlParser, int) 
  startElement(XmlParser, String) 
  endElement(XmlParser, String) 

  XmlParser() 
  XmlParser(String, URL) 
------

Lark

    public boolean doAttlist(Entity e, Object[] parts)
    public boolean doDoctype(Entity e, String rootType, 
      String publicID, String systemID)
    public boolean doEntityReference(Entity e, String name)
    public boolean doETag(Entity e, Element element)
    public boolean doInternalEntity(Entity e, String name, char[] value)
    public boolean doPI(Entity e, String PI)
    public boolean doSTag(Entity e, Element element)
    public boolean doSyntaxError(Entity e, String message, int c)
    public boolean doSystemBinaryEntity(Entity e, String name,
                                        String extID, String notation)
    public boolean doSystemTextEntity(Entity e, String name, String extID)
    public boolean doText(Entity ent, Element el, char[] text, int length)
    public boolean doWarning(Entity e, String message)
    public Element element()


public class Attribute
    public Attribute(String name, String value)
    public Attribute(String name, Text text)
    public String name()
    public void setName(String name)
    
    public String value()
    public void setValue(String value)
    public void setValue(Text text)
  }
  public class Element
    public String type();
    public Attribute[] allAttributes()
    public void setAllAttributes(Attribute[] attributes)
    public Attribute attribute(String name)
    public void setAttribute(String name, String value)
    public Vector children()
    public Element parent()
  }
  class Text
    public void addSegment(Segment segment)
    public Vector segments() { return mSegments; }
    public String string()
  }

----------------------

AElfred - DTD related stuff

  declaredAttributes(String) 
  declaredElements() 
  declaredEntities() 
  declaredNotations() 
  getAttributeDefaultValue(String, String) 
  getAttributeDefaultValueType(String, String) 
  getAttributeEnumeration(String, String) 
  getAttributeExpandedValue(String, String) 
  getAttributeType(String, String) 
  getElementContentModel(String) 
  getElementContentType(String) 
  getEntityNotationName(String) 
  getEntityPublicId(String) 
  getEntitySystemId(String) 
  getEntityType(String) 
  getEntityValue(String) 
  getNotationPublicId(String) 
  getNotationSystemId(String) 
  getProcessor() 
  getPublicId() 
  getSystemId() 
  run() 
  run(XmlProcessor) 
  setProcessor(XmlProcessor) 
  setPublicId(String) 
  setSystemId(URL) 

Peter Murray-Rust, Director Virtual School of Molecular Sciences, domestic
net connection
VSMS http://www.nottingham.ac.uk/vsms, Virtual Hyperglossary
http://www.venus.co.uk/vhg

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list