// copyright => http://www.jxml.com/mdsax/License.txt

package com.jxml.quick;

import com.jxml.quick.recycle.QSoftDocHash;
import org.xml.sax.SAXException;

public interface QDoc
{
    public Object getRoot();

    public void setRoot(Object object);

    public void setId(String id, Object value)
	throws QPE;

    public String getId(Object value)
	throws QPE;

    public Object getValue(String id);

    public boolean isKnown(Object value);
    
    public boolean isMarked(Object value);

    public QContext allocateContext()
	throws SAXException;

    public void releaseContext(QContext context);

    public QDoc getSchema();

    public void setSchema(QDoc schema);

    public String getKey();

    public void setKey(String key);

    public QMeta setMeta(Object appObject, QMeta value);

    public QMeta getMeta(Object appObject);

    public HRef getHRef(Object key);

    public void createHRef(Object key, String schema, String href, String expects);

    public QSoftDocHash getDocHash();

    public void postParse()
	throws QPE;
}
