javolution.xml.sax.ContentHandler Maven / Gradle / Ivy
The newest version!
/*
* Javolution - Java(TM) Solution for Real-Time and Embedded Systems
* Copyright (C) 2012 - 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 javolution.xml.sax;
import javolution.text.CharArray;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
/**
* Receives notification of the logical content of a document.
*
* It is a more efficient version of org.xml.sax.ContentHandler
* with {@link CharArray CharArray}/{@link CharSequence CharSequence}
* instead of the String
to avoid forcing dynamic object
* allocations.
*
* @author David Megginson
* @author Jean-Marie Dautelle
* @version 4.0, June 16, 2006
*/
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(CharArray prefix, CharArray 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(CharArray 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(CharArray uri, CharArray localName, CharArray 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(CharArray uri, CharArray localName, CharArray 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(CharArray target, CharArray 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(CharArray name) throws SAXException;
}