141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// This file is part of TagSoup and is Copyright 2002-2008 by John Cowan.
241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project//
341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// TagSoup is licensed under the Apache License,
441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// Version 2.0.  You may obtain a copy of this license at
541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// http://www.apache.org/licenses/LICENSE-2.0 .  You may also have
641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// additional legal rights not granted by this license.
741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project//
841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// TagSoup is distributed in the hope that it will be useful, but
941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// unless required by applicable law or agreed to in writing, TagSoup
1041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
1141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// OF ANY KIND, either express or implied; not even the implied warranty
1241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project//
1441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project//
1541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project// Scanner handler
1641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
1741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Projectpackage org.ccil.cowan.tagsoup;
1841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Projectimport org.xml.sax.SAXException;
1941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
2041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project/**
2141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source ProjectAn interface that Scanners use to report events in the input stream.
2241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project**/
2341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
2441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Projectpublic interface ScanHandler {
2541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
2641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports an attribute name without a value.
2741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
2841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
2941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void adup(char[] buff, int offset, int length) throws SAXException;
3041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
3141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
3241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports an attribute name; a value will follow.
3341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
3441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
3541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void aname(char[] buff, int offset, int length) throws SAXException;
3641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
3741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
3841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports an attribute value.
3941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
4041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
4141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void aval(char[] buff, int offset, int length) throws SAXException;
4241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
4341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
4441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	  * Reports the content of a CDATA section (not a CDATA element)
4541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	  */
4641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void cdsect(char[] buff, int offset, int length) throws SAXException;
4741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
4841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
4941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project         * Reports a <!....> declaration - typically a DOCTYPE
5041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project         */
5141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
5241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void decl(char[] buff, int offset, int length) throws SAXException;
5341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
5441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
5541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports an entity reference or character reference.
5641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
5741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
5841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void entity(char[] buff, int offset, int length) throws SAXException;
5941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
6041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
6141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports EOF.
6241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
6341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
6441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void eof(char[] buff, int offset, int length) throws SAXException;
6541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
6641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
6741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports an end-tag.
6841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
6941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
7041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void etag(char[] buff, int offset, int length) throws SAXException;
7141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
7241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
7341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports the general identifier (element type name) of a start-tag.
7441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
7541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
7641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void gi(char[] buff, int offset, int length) throws SAXException;
7741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
7841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
7941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports character content.
8041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
8141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
8241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void pcdata(char[] buff, int offset, int length) throws SAXException;
8341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
8441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
8541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports the data part of a processing instruction.
8641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
8741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
8841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void pi(char[] buff, int offset, int length) throws SAXException;
8941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
9041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
9141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports the target part of a processing instruction.
9241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
9341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
9441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void pitarget(char[] buff, int offset, int length) throws SAXException;
9541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
9641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
9741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports the close of a start-tag.
9841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
9941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
10041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void stagc(char[] buff, int offset, int length) throws SAXException;
10141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
10241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
10341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports the close of an empty-tag.
10441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
10541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
10641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void stage(char[] buff, int offset, int length) throws SAXException;
10741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
10841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
10941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Reports a comment.
11041cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
11141cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
11241cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public void cmnt(char[] buff, int offset, int length) throws SAXException;
11341cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
11441cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	/**
11541cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	Returns the value of the last entity or character reference reported.
11641cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	**/
11741cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project
11841cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	public int getEntity();
11941cdf40d933f4029c37cf844f8cf3314114e4e0aThe Android Open Source Project	}
120