source: NonGTP/Xerces/xercesc/sax2/LexicalHandler.hpp @ 188

Revision 188, 7.5 KB checked in by mattausch, 19 years ago (diff)

added xercesc to support

Line 
1/*
2 * The Apache Software License, Version 1.1
3 *
4 * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights
5 * reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright
12 *    notice, this list of conditions and the following disclaimer.
13 *
14 * 2. Redistributions in binary form must reproduce the above copyright
15 *    notice, this list of conditions and the following disclaimer in
16 *    the documentation and/or other materials provided with the
17 *    distribution.
18 *
19 * 3. The end-user documentation included with the redistribution,
20 *    if any, must include the following acknowledgment:
21 *       "This product includes software developed by the
22 *        Apache Software Foundation (http://www.apache.org/)."
23 *    Alternately, this acknowledgment may appear in the software itself,
24 *    if and wherever such third-party acknowledgments normally appear.
25 *
26 * 4. The names "Xerces" and "Apache Software Foundation" must
27 *    not be used to endorse or promote products derived from this
28 *    software without prior written permission. For written
29 *    permission, please contact apache\@apache.org.
30 *
31 * 5. Products derived from this software may not be called "Apache",
32 *    nor may "Apache" appear in their name, without prior written
33 *    permission of the Apache Software Foundation.
34 *
35 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
39 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46 * SUCH DAMAGE.
47 * ====================================================================
48 *
49 * This software consists of voluntary contributions made by many
50 * individuals on behalf of the Apache Software Foundation, and was
51 * originally based on software copyright (c) 1999, International
52 * Business Machines, Inc., http://www.ibm.com .  For more information
53 * on the Apache Software Foundation, please see
54 * <http://www.apache.org/>.
55 */
56
57/*
58 * $Log: LexicalHandler.hpp,v $
59 * Revision 1.3  2003/03/07 18:10:30  tng
60 * Return a reference instead of void for operator=
61 *
62 * Revision 1.2  2002/11/04 14:55:45  tng
63 * C++ Namespace Support.
64 *
65 * Revision 1.1.1.1  2002/02/01 22:22:09  peiyongz
66 * sane_include
67 *
68 * Revision 1.1  2000/12/22 15:17:04  tng
69 * SAX2-ext's LexicalHandler support added by David Bertoni.
70 *
71 *
72 */
73
74
75#ifndef LEXICALHANDLER_HPP
76#define LEXICALHANDLER_HPP
77
78#include <xercesc/util/XercesDefs.hpp>
79
80XERCES_CPP_NAMESPACE_BEGIN
81
82/**
83  * Receive notification of lexical events.
84  *
85  * <p>This is an extension handler for that provides lexical information
86  * about an XML document.  It does not provide information about document
87  * content.  For those events, an application must register an instance of
88  * a ContentHandler.</p>
89  *
90  * <p>The order of events in this interface is very important, and
91  * mirrors the order of information in the document itself.  For
92  * example, startDTD() and endDTD() events will occur before the
93  * first element in the document.</p>
94  *
95  * @see SAX2XMLReader#setLexicalHandler
96  * @see SAX2XMLReader#setContentHandler
97  */
98
99class SAX2_EXPORT LexicalHandler
100{
101public:
102    /** @name Constructors and Destructor */
103    //@{
104    /** Default constructor */
105    LexicalHandler()
106    {
107    }
108
109    /** Destructor */
110    virtual ~LexicalHandler()
111    {
112    }
113    //@}
114
115    /** @name The virtual document handler interface */
116
117    //@{
118   /**
119    * Receive notification of comments.
120    *
121    * <p>The Parser will call this method to report each occurence of
122    * a comment in the XML document.</p>
123    *
124    * <p>The application must not attempt to read from the array
125    * outside of the specified range.</p>
126    *
127    * @param chars The characters from the XML document.
128    * @param length The number of characters to read from the array.
129    * @exception SAXException Any SAX exception, possibly
130    *            wrapping another exception.
131    */
132    virtual void comment
133    (
134        const   XMLCh* const    chars
135        , const unsigned int    length
136    ) = 0;
137
138  /**
139    * Receive notification of the end of a CDATA section.
140    *
141    * <p>The SAX parser will invoke this method at the end of
142    * each CDATA parsed.</p>
143    *
144    * @exception SAXException Any SAX exception, possibly
145    *            wrapping another exception.
146    */
147    virtual void endCDATA () = 0;
148
149  /**
150    * Receive notification of the end of the DTD declarations.
151    *
152    * <p>The SAX parser will invoke this method at the end of the
153    * DTD</p>
154    *
155    * @exception SAXException Any SAX exception, possibly
156    *            wrapping another exception.
157    */
158    virtual void endDTD () = 0;
159
160  /**
161    * Receive notification of the end of an entity.
162    *
163    * <p>The SAX parser will invoke this method at the end of an
164    * entity</p>
165    *
166    * @param name The name of the entity that is ending.
167    * @exception SAXException Any SAX exception, possibly
168    *            wrapping another exception.
169    */
170    virtual void endEntity (const XMLCh* const name) = 0;
171
172  /**
173    * Receive notification of the start of a CDATA section.
174    *
175    * <p>The SAX parser will invoke this method at the start of
176    * each CDATA parsed.</p>
177    *
178    * @exception SAXException Any SAX exception, possibly
179    *            wrapping another exception.
180    */
181    virtual void startCDATA () = 0;
182
183  /**
184    * Receive notification of the start of the DTD declarations.
185    *
186    * <p>The SAX parser will invoke this method at the start of the
187    * DTD</p>
188    *
189    * @param name The document type name.
190    * @param publicId The declared public identifier for the external DTD subset, or null if none was declared.
191    * @param systemId The declared system identifier for the external DTD subset, or null if none was declared.
192    * @exception SAXException Any SAX exception, possibly
193    *            wrapping another exception.
194    */
195    virtual void startDTD
196    (
197        const   XMLCh* const    name
198        , const   XMLCh* const    publicId
199        , const   XMLCh* const    systemId
200    ) = 0;
201
202  /**
203    * Receive notification of the start of an entity.
204    *
205    * <p>The SAX parser will invoke this method at the start of an
206    * entity</p>
207    *
208    * @param name The name of the entity that is starting.
209    * @exception SAXException Any SAX exception, possibly
210    *            wrapping another exception.
211    */
212    virtual void startEntity (const XMLCh* const name) = 0;
213
214    //@}
215private :
216    /* Unimplemented Constructors and operators */
217    /* Copy constructor */
218    LexicalHandler(const LexicalHandler&);
219    /** Assignment operator */
220    LexicalHandler& operator=(const LexicalHandler&);
221};
222
223XERCES_CPP_NAMESPACE_END
224
225#endif
Note: See TracBrowser for help on using the repository browser.