⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sax2xmlreader.hpp

📁 基于属性证书的访问控制源代码,由c++编写,包括openssl,xercesc等
💻 HPP
📖 第 1 页 / 共 3 页
字号:
/* * The Apache Software License, Version 1.1 * * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *        Apache Software Foundation (http://www.apache.org/)." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must *    not be used to endorse or promote products derived from this *    software without prior written permission. For written *    permission, please contact apache\@apache.org. * * 5. Products derived from this software may not be called "Apache", *    nor may "Apache" appear in their name, without prior written *    permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 1999, International * Business Machines, Inc., http://www.ibm.com .  For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. *//* * $Log: SAX2XMLReader.hpp,v $ * Revision 1.10  2003/03/07 18:10:30  tng * Return a reference instead of void for operator= * * Revision 1.9  2003/01/09 19:07:27  tng * [Bug 15802] Add "const" qualifier to getURIText. * * Revision 1.8  2002/12/23 15:23:18  knoaman * Added a public api to various parsers to return the src offset within the input * source. * * Revision 1.7  2002/11/04 14:55:45  tng * C++ Namespace Support. * * Revision 1.6  2002/07/11 18:29:09  knoaman * Grammar caching/preparsing - initial implementation. * * Revision 1.5  2002/07/04 15:35:44  tng * API Documentation typo fix. * * Revision 1.4  2002/06/27 18:46:53  tng * API Documentation Update. * * Revision 1.3  2002/06/17 15:39:49  tng * To be consistent, SAX2 is updated with: * 1. the progressive parse methods should use the fReuseGrammar flag set from setFeature instead of using parameter * 2. add feature "http://apache.org/xml/features/continue-after-fatal-error", and users should use setFeature instead of setExitOnFirstFatalError * 3. add feature "http://apache.org/xml/features/validation-error-as-fatal", and users should use setFeature instead of setValidationConstraintFatal * * Revision 1.2  2002/05/30 16:22:53  tng * Add feature to optionally ignore external DTD. * * Revision 1.1.1.1  2002/02/01 22:22:09  peiyongz * sane_include * * Revision 1.18  2002/01/28 18:45:40  knoaman * Update documentation for SAX2 feature 'namespace-prefixes'. * * Revision 1.17  2002/01/28 17:08:33  knoaman * SAX2-ext's DeclHandler support. * * Revision 1.16  2002/01/18 16:31:26  tng * Break program.xml which takes too long to load, into program-sax.xml, program-sax2.xml, program-dom.xml, program-idom.xml. * * Revision 1.15  2002/01/02 15:36:54  tng * Some documentation update. * * Revision 1.14  2001/11/20 18:51:44  tng * Schema: schemaLocation and noNamespaceSchemaLocation to be specified outside the instance document.  New methods setExternalSchemaLocation and setExternalNoNamespaceSchemaLocation are added (for SAX2, two new properties are added). * * Revision 1.13  2001/11/14 14:15:59  tng * Update SAX2 feature documentation. * * Revision 1.12  2001/09/12 13:03:43  tng * [Bug 3155] SAX2 does not offer progressive parse. * * Revision 1.11  2001/08/01 19:11:02  tng * Add full schema constraint checking flag to the samples and the parser. * * Revision 1.10  2001/06/27 17:40:16  knoaman * Fix for bug #2353. * * Revision 1.9  2001/06/19 16:44:31  tng * Add installAdvDocHandler to SAX2XMLReader as the code is there already. * * Revision 1.8  2001/06/04 21:03:07  jberry * Add pure virtual getErrorCount to SAX2XMLReader interface. * * Revision 1.7  2001/05/11 13:26:25  tng * Copyright update. * * Revision 1.6  2001/02/15 15:56:31  tng * Schema: Add setSchemaValidation and getSchemaValidation for DOMParser and SAXParser. * Add feature "http://apache.org/xml/features/validation/schema" for SAX2XMLReader. * New data field  fSchemaValidation in XMLScanner as the flag. * * Revision 1.5  2001/01/12 21:22:00  tng * Documentation Enhancement: Add list of SAX2 feature strings that are supported. * * Revision 1.4  2000/12/22 15:17:04  tng * SAX2-ext's LexicalHandler support added by David Bertoni. * * Revision 1.3  2000/08/09 22:19:29  jpolast * many conformance & stability changes: *   - ContentHandler::resetDocument() removed *   - attrs param of ContentHandler::startDocument() made const *   - SAXExceptions thrown now have msgs *   - removed duplicate function signatures that had 'const' *       [ eg: getContentHander() ] *   - changed getFeature and getProperty to apply to const objs *   - setProperty now takes a void* instead of const void* *   - SAX2XMLReaderImpl does not inherit from SAXParser anymore *   - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented *   - Features & Properties now read-only during parse * * Revision 1.2  2000/08/07 18:21:27  jpolast * change SAX_EXPORT module to SAX2_EXPORT * * Revision 1.1  2000/08/02 18:02:35  jpolast * initial checkin of sax2 implementation * submitted by Simon Fell (simon@fell.com) * and Joe Polastre (jpolast@apache.org) * * */#ifndef SAX2XMLReader_HPP#define SAX2XMLReader_HPP#include <xercesc/util/XercesDefs.hpp>#include <xercesc/util/XMLUniDefs.hpp>#include <xercesc/framework/XMLValidator.hpp>#include <xercesc/framework/XMLPScanToken.hpp>XERCES_CPP_NAMESPACE_BEGINclass ContentHandler ;class DTDHandler;class EntityResolver;class ErrorHandler;class InputSource;class LexicalHandler;class DeclHandler;class XMLDocumentHandler;class Grammar;class SAX2_EXPORT SAX2XMLReader{public:    // -----------------------------------------------------------------------    //  Class types    // -----------------------------------------------------------------------    /** @name Public constants */    //@{    /** ValScheme enum used in setValidationScheme      *    Val_Never:  Do not report validation errors.      *    Val_Always: The parser will always report validation errors.      *    Val_Auto:   The parser will report validation errors only if a grammar is specified.      *      * @see #setValidationScheme      */    enum ValSchemes    {        Val_Never        , Val_Always        , Val_Auto    };    //@}    // -----------------------------------------------------------------------    //  Constructors and Destructor    // -----------------------------------------------------------------------    /** @name Constructors and Destructor */    //@{    /** The default constructor */    SAX2XMLReader()    {    }    /** The destructor */    virtual ~SAX2XMLReader()    {    }    //@}    //-----------------------------------------------------------------------    // The XMLReader interface    //-----------------------------------------------------------------------    /** @name Implementation of SAX 2.0 XMLReader interface's. */    //@{    /**      * This method returns the installed content handler.      *      * @return A pointer to the installed content handler object.      */    virtual ContentHandler* getContentHandler() const = 0 ;    /**      * This method returns the installed DTD handler.      *      * @return A pointer to the installed DTD handler object.      */    virtual DTDHandler* getDTDHandler() const = 0;    /**      * This method returns the installed entity resolver.      *      * @return A pointer to the installed entity resolver object.      */    virtual EntityResolver* getEntityResolver() const = 0 ;    /**      * This method returns the installed error handler.      *      * @return A pointer to the installed error handler object.      */    virtual ErrorHandler* getErrorHandler() const = 0 ;	/**     * Query the current state of any feature in a SAX2 XMLReader.	  *	  * @param name The unique identifier (URI) of the feature being set.	  * @return The current state of the feature.     * @exception SAXNotRecognizedException If the requested feature is not known.	  */	virtual bool getFeature(const XMLCh* const name) const = 0;	/**     * Query the current value of a property in a SAX2 XMLReader.     *     * The parser owns the returned pointer.  The memory allocated for     * the returned pointer will be destroyed when the parser is deleted.     *     * To ensure assessiblity of the returned information after the parser     * is deleted, callers need to copy and store the returned information     * somewhere else; otherwise you may get unexpected result.  Since the returned     * pointer is a generic void pointer, see     * http://xml.apache.org/xerces-c/program-sax2.html#SAX2Properties to learn     * exactly what type of property value each property returns for replication.     *     * @param name The unique identifier (URI) of the property being set.     * @return     The current value of the property.  The pointer spans the same     *             life-time as the parser.  A null pointer is returned if nothing     *             was specified externally.     * @exception  SAXNotRecognizedException If the requested property is not known.     */	virtual void* getProperty(const XMLCh* const name) const = 0 ;  /**    * Allow an application to register a document event handler.    *    * If the application does not register a document handler, all    * document events reported by the SAX parser will be silently    * ignored (this is the default behaviour implemented by    * HandlerBase).    *    * Applications may register a new or different handler in the    * middle of a parse, and the SAX parser must begin using the new    * handler immediately.    *    * @param handler The document handler.    * @see DocumentHandler#DocumentHandler    * @see HandlerBase#HandlerBase    */    virtual void setContentHandler(ContentHandler* const handler) = 0;  /**    * Allow an application to register a DTD event handler.    *    * If the application does not register a DTD handler, all DTD    * events reported by the SAX parser will be silently ignored (this    * is the default behaviour implemented by HandlerBase).    *    * Applications may register a new or different handler in the middle    * of a parse, and the SAX parser must begin using the new handler    * immediately.    *    * @param handler The DTD handler.    * @see DTDHandler#DTDHandler    * @see HandlerBase#HandlerBase    */    virtual void setDTDHandler(DTDHandler* const handler) = 0;  /**    * Allow an application to register a custom entity resolver.    *    * If the application does not register an entity resolver, the    * SAX parser will resolve system identifiers and open connections    * to entities itself (this is the default behaviour implemented in    * DefaultHandler).    *    * Applications may register a new or different entity resolver    * in the middle of a parse, and the SAX parser must begin using    * the new resolver immediately.    *    * @param resolver The object for resolving entities.    * @see EntityResolver#EntityResolver    * @see DefaultHandler#DefaultHandler

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -