/*
* Javolution - Java(TM) Solution for Real-Time and Embedded Systems
* Copyright (C) 2005 - Javolution (http://javolution.org/)
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software is
* freely granted, provided that this notice is preserved.
*/
package javolution37.javolution.xml.sax;
import java.lang.CharSequence;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
/**
* Receives notification of the logical content of a document.
* It is a more generic version of org.xml.sax.ContentHandler with
* the String type replaced by CharSequence.
*
* @author David Megginson
* @author Jean-Marie Dautelle
* @version 3.1, March 11, 2005
*/
public interface ContentHandler {
/**
* Receives an object for locating the origin of SAX document events.
*
* @param locator the document locator.
*/
void setDocumentLocator(Locator locator);
/**
* Receives notification of the beginning of a document.
*
* @throws org.xml.sax.SAXException any SAX exception.
*/
void startDocument() throws SAXException;
/**
* Receives notification of the end of a document.
*
* @throws org.xml.sax.SAXException any SAX exception.
*/
void endDocument() throws SAXException;
/**
* Begins the scope of a prefix-URI Namespace mapping.
*
* @param prefix the Namespace prefix being declared.
* @param uri the namespace URI the prefix is mapped to.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void startPrefixMapping(CharSequence prefix, CharSequence uri)
throws SAXException;
/**
* Ends the scope of a prefix-URI mapping.
*
* @param prefix the prefix that was being mapping.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void endPrefixMapping(CharSequence prefix) throws SAXException;
/**
* Receives notification of the beginning of an element.
*
* @param uri the namespace URI, or an empty character sequence if the
* element has no Namespace URI or if namespace processing is not
* being performed.
* @param localName the local name (without prefix), or an empty character
* sequence if namespace processing is not being performed.
* @param qName the qualified name (with prefix), or an empty character
* sequence if qualified names are not available.
* @param atts the attributes attached to the element. If there are no
* attributes, it shall be an empty {@link Attributes} object.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void startElement(CharSequence uri, CharSequence localName,
CharSequence qName, Attributes atts) throws SAXException;
/**
* Receives notification of the end of an element.
*
* @param uri the namespace URI, or an empty character sequence if the
* element has no Namespace URI or if namespace processing is not
* being performed.
* @param localName the local name (without prefix), or an empty character
* sequence if namespace processing is not being performed.
* @param qName the qualified XML 1.0 name (with prefix), or an empty
* character sequence if qualified names are not available.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void endElement (CharSequence uri, CharSequence localName,
CharSequence qName) throws SAXException;
/**
* Receives notification of character data.
*
* @param ch the characters from the XML document.
* @param start the start position in the array.
* @param length the number of characters to read from the array.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void characters(char ch[], int start, int length) throws SAXException;
/**
* Receives notification of ignorable whitespace in element content.
*
* @param ch the characters from the XML document.
* @param start the start position in the array.
* @param length the number of characters to read from the array.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void ignorableWhitespace(char ch[], int start, int length)
throws SAXException;
/**
* Receives notification of a processing instruction.
*
* @param target the processing instruction target.
* @param data the processing instruction data, or null if
* none was supplied. The data does not include any
* whitespace separating it from the target.
* @throws org.xml.sax.SAXException any SAX exception.
*/
void processingInstruction(CharSequence target, CharSequence data)
throws SAXException;
/**
* Receives notification of a skipped entity.
*
* @param name the name of the skipped entity. If it is a
* parameter entity, the name will begin with '%', and if
* it is the external DTD subset, it will be the character sequence
* "[dtd]".
* @throws org.xml.sax.SAXException any SAX exception.
*/
void skippedEntity(CharSequence name) throws SAXException;
}
Ads help maintain this website.