http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ContentHandler.hpp

Go to the documentation of this file.
00001 /*
00002  * The Apache Software License, Version 1.1
00003  * 
00004  * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights
00005  * reserved.
00006  * 
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions
00009  * are met:
00010  * 
00011  * 1. Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer. 
00013  * 
00014  * 2. Redistributions in binary form must reproduce the above copyright
00015  *    notice, this list of conditions and the following disclaimer in
00016  *    the documentation and/or other materials provided with the
00017  *    distribution.
00018  * 
00019  * 3. The end-user documentation included with the redistribution,
00020  *    if any, must include the following acknowledgment:  
00021  *       "This product includes software developed by the
00022  *        Apache Software Foundation (http://www.apache.org/)."
00023  *    Alternately, this acknowledgment may appear in the software itself,
00024  *    if and wherever such third-party acknowledgments normally appear.
00025  * 
00026  * 4. The names "Xerces" and "Apache Software Foundation" must
00027  *    not be used to endorse or promote products derived from this
00028  *    software without prior written permission. For written 
00029  *    permission, please contact apache\@apache.org.
00030  * 
00031  * 5. Products derived from this software may not be called "Apache",
00032  *    nor may "Apache" appear in their name, without prior written
00033  *    permission of the Apache Software Foundation.
00034  * 
00035  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
00036  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00037  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00038  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
00039  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00040  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00041  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
00042  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00043  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00044  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
00045  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00046  * SUCH DAMAGE.
00047  * ====================================================================
00048  * 
00049  * This software consists of voluntary contributions made by many
00050  * individuals on behalf of the Apache Software Foundation, and was
00051  * originally based on software copyright (c) 1999, International
00052  * Business Machines, Inc., http://www.ibm.com .  For more information
00053  * on the Apache Software Foundation, please see
00054  * <http://www.apache.org/>.
00055  */
00056 
00057 /*
00058  * $Log: ContentHandler.hpp,v $
00059  * Revision 1.1.1.1  2002/02/01 22:22:09  peiyongz
00060  * sane_include
00061  *
00062  * Revision 1.4  2000/12/14 18:50:05  tng
00063  * Fix API document generation warning: "Warning: end of member group without matching begin"
00064  *
00065  * Revision 1.3  2000/08/09 22:19:29  jpolast
00066  * many conformance & stability changes:
00067  *   - ContentHandler::resetDocument() removed
00068  *   - attrs param of ContentHandler::startDocument() made const
00069  *   - SAXExceptions thrown now have msgs
00070  *   - removed duplicate function signatures that had 'const'
00071  *       [ eg: getContentHander() ]
00072  *   - changed getFeature and getProperty to apply to const objs
00073  *   - setProperty now takes a void* instead of const void*
00074  *   - SAX2XMLReaderImpl does not inherit from SAXParser anymore
00075  *   - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented
00076  *   - Features & Properties now read-only during parse
00077  *
00078  * Revision 1.2  2000/08/07 18:21:27  jpolast
00079  * change  module to 
00080  *
00081  * Revision 1.1  2000/08/02 18:02:34  jpolast
00082  * initial checkin of sax2 implementation
00083  * submitted by Simon Fell (simon@fell.com)
00084  * and Joe Polastre (jpolast@apache.org)
00085  *
00086  *
00087  */
00088 
00089 
00090 #ifndef CONTENTHANDLER_HPP
00091 #define CONTENTHANDLER_HPP
00092 
00093 #include <xercesc/util/XercesDefs.hpp>
00094 
00095 class Attributes;
00096 class Locator;
00097 
00125 
00126 class  ContentHandler
00127 {
00128 public:
00131 
00132     ContentHandler()
00133     {
00134     }
00135 
00137     virtual ~ContentHandler()
00138     {
00139     }
00141 
00143     
00145 
00169     virtual void characters
00170     (
00171         const   XMLCh* const    chars
00172         , const unsigned int    length
00173     ) = 0;
00174 
00187     virtual void endDocument () = 0;
00188 
00203     virtual void endElement
00204     (
00205         const XMLCh* const uri, 
00206         const XMLCh* const localname, 
00207         const XMLCh* const qname
00208     ) = 0;
00209 
00233     virtual void ignorableWhitespace
00234     (
00235         const   XMLCh* const    chars
00236         , const unsigned int    length
00237     ) = 0;
00238 
00256     virtual void processingInstruction
00257     (
00258         const   XMLCh* const    target
00259         , const XMLCh* const    data
00260     ) = 0;
00261 
00290     virtual void setDocumentLocator(const Locator* const locator) = 0;
00291 
00302     virtual void startDocument() = 0;
00303 
00327     virtual void startElement
00328     (
00329         const   XMLCh* const    uri,
00330         const   XMLCh* const    localname,
00331         const   XMLCh* const    qname,
00332         const   Attributes&     attrs
00333     ) = 0;
00334 
00347     virtual void startPrefixMapping
00348     ( 
00349         const   XMLCh* const    prefix,
00350         const   XMLCh* const    uri
00351     ) = 0 ;
00352 
00364     virtual void endPrefixMapping
00365     (
00366         const   XMLCh* const    prefix
00367     ) = 0 ;
00368 
00390     virtual void skippedEntity
00391     (
00392         const   XMLCh* const    name
00393     ) = 0 ;
00394 
00396 private :
00397     /* Unimplemented Constructors and operators */
00398     /* Copy constructor */
00399     ContentHandler(const ContentHandler&);
00401     void operator=(const ContentHandler&);
00402 };
00403 
00404 #endif


Copyright © 2000 The Apache Software Foundation. All Rights Reserved.