📄 documenthandler.java
字号:
// SAX document handler.
// No warranty; no copyright -- use this as you will.
/*
* $Id: DocumentHandler.java 257 2008-07-17 11:56:07Z khanh.lnq $
* $URL: https://jvnmobilegis.googlecode.com/svn/trunk/src/org/xml/sax/DocumentHandler.java $
* $Author: khanh.lnq $
* $Revision: 257 $
* $Date: 2008-07-17 18:56:07 +0700 (Thu, 17 Jul 2008) $
*
* ====================================================================
*
* Copyright (C) 2006-2007 by JVNGIS
*
* All copyright notices regarding JVNMobileGIS MUST remain
* intact in the Java codes and resource files.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Support can be obtained from project homepage at:
* http://code.google.com/p/jvnmobilegis/
*
* Correspondence and Marketing Questions can be sent to:
* khanh.lnq AT gmail.com
*
* @version: 1.0
* @author: Khanh Le
* @Date Created: 22 Jun 2007
*/
package org.xml.sax;
/**
* Receive notification of general document events. <p/> This is the main
* interface that most SAX applications implement: if the application needs to
* be informed of basic parsing events, it implements this interface and
* registers an instance with the SAX parser using the setDocumentHandler
* method. The parser uses the instance to report basic document-related events
* like the start and end of elements and character data. </p> <p/> The order of
* events in this interface is very important, and mirrors the order of
* information in the document itself. For example, all of an element's content
* (character data, processing instructions, and/or subelements) will appear, in
* order, between the startElement event and the corresponding endElement event.
* </p> <p/> Application writers who do not want to implement the entire
* interface can derive a class from HandlerBase, which implements the default
* functionality; parser writers can instantiate HandlerBase to obtain a default
* handler. The application can find the location of any document event using
* the Locator interface supplied by the Parser through the setDocumentLocator
* method. </p>
*
* @author David Megginson (ak117@freenet.carleton.ca)
* @version 1.0
* @see org.xml.sax.Parser#setDocumentHandler
* @see org.xml.sax.Locator
* @see org.xml.sax.HandlerBase
*/
public interface DocumentHandler {
/**
* Receive an object for locating the origin of SAX document events. <p/>
* SAX parsers are strongly encouraged (though not absolutely required) to
* supply a locator: if it does so, it must supply the locator to the
* application by invoking this method before invoking any of the other
* methods in the DocumentHandler interface. </p> <p/> The locator allows
* the application to determine the end position of any document-related
* event, even if the parser is not reporting an error. Typically, the
* application will use this information for reporting its own errors (such
* as character content that does not match an application's business
* rules). The information returned by the locator is probably not
* sufficient for use with a search engine. </p> <p/> Note that the locator
* will return correct information only during the invocation of the events
* in this interface. The application should not attempt to use it at any
* other time. </p>
*
* @param locator
* An object that can return the location of any SAX document
* event.
* @see org.xml.sax.Locator
*/
public abstract void setDocumentLocator(Locator locator);
/**
* Receive notification of the beginning of a document. <p/> The SAX parser
* will invoke this method only once, before any other methods in this
* interface or in DTDHandler (except for setDocumentLocator). </p>
*
* @throws org.xml.sax.SAXException
* Any SAX exception, possibly wrapping another exception.
*/
public abstract void startDocument() throws SAXException;
/**
* Receive notification of the end of a document. <p/> The SAX parser will
* invoke this method only once, and it will be the last method invoked
* during the parse. The parser shall not invoke this method until it has
* either abandoned parsing (because of an unrecoverable error) or reached
* the end of input. </p>
*
* @throws org.xml.sax.SAXException
* Any SAX exception, possibly wrapping another exception.
*/
public abstract void endDocument() throws SAXException;
/**
* Receive notification of the beginning of an element. <p/> The Parser will
* invoke this method at the beginning of every element in the XML document;
* there will be a corresponding endElement() event for every startElement()
* event (even when the element is empty). All of the element's content will
* be reported, in order, before the corresponding endElement() event. </p>
* <p/> If the element name has a namespace prefix, the prefix will still be
* attached. Note that the attribute list provided will contain only
* attributes with explicit values (specified or defaulted): #IMPLIED
* attributes will be omitted. </p>
*
* @param name
* The element type name.
* @param atts
* The attributes attached to the element, if any.
* @throws org.xml.sax.SAXException
* Any SAX exception, possibly wrapping another exception.
* @see #endElement
* @see org.xml.sax.AttributeList
*/
public abstract void startElement(String name, AttributeList atts)
throws SAXException;
/**
* Receive notification of the end of an element. <p/> The SAX parser will
* invoke this method at the end of every element in the XML document; there
* will be a corresponding startElement() event for every endElement() event
* (even when the element is empty). </p> <p/> If the element name has a
* namespace prefix, the prefix will still be attached to the name. </p>
*
* @param name
* The element type name
* @throws org.xml.sax.SAXException
* Any SAX exception, possibly wrapping another exception.
*/
public abstract void endElement(String name) throws SAXException;
/**
* Receive notification of character data. <p/> The Parser will call this
* method to report each chunk of character data. SAX parsers may return all
* contiguous character data in a single chunk, or they may split it into
* several chunks; however, all of the characters in any single event must
* come from the same external entity, so that the Locator provides useful
* information. </p> <p/> The application must not attempt to read from the
* array outside of the specified range. </p> <p/> Note that some parsers
* will report whitespace using the ignorableWhitespace() method rather than
* this one (validating parsers must do so). </p>
*
* @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, possibly wrapping another exception.
* @see #ignorableWhitespace
* @see org.xml.sax.Locator
*/
public abstract void characters(char ch[], int start, int length)
throws SAXException;
/**
* Receive notification of ignorable whitespace in element content. <p/>
* Validating Parsers must use this method to report each chunk of ignorable
* whitespace (see the W3C XML 1.0 recommendation, section 2.10):
* non-validating parsers may also use this method if they are capable of
* parsing and using content models. </p> <p/> SAX parsers may return all
* contiguous whitespace in a single chunk, or they may split it into
* several chunks; however, all of the characters in any single event must
* come from the same external entity, so that the Locator provides useful
* information. </p> <p/> The application must not attempt to read from the
* array outside of the specified range. </p>
*
* @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, possibly wrapping another exception.
* @see #characters
*/
public abstract void ignorableWhitespace(char ch[], int start, int length)
throws SAXException;
/**
* Receive notification of a processing instruction. <p/> The Parser will
* invoke this method once for each processing instruction found: note that
* processing instructions may occur before or after the main document
* element. </p> <p/> A SAX parser should never report an XML declaration
* (XML 1.0, section 2.8) or a text declaration (XML 1.0, section 4.3.1)
* using this method. </p>
*
* @param target
* The processing instruction target.
* @param data
* The processing instruction data, or null if none was supplied.
* @throws org.xml.sax.SAXException
* Any SAX exception, possibly wrapping another exception.
*/
public abstract void processingInstruction(String target, String data)
throws SAXException;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -