DefaultHandler.hpp
上传用户:huihehuasu
上传日期:2007-01-10
资源大小:6948k
文件大小:23k
源码类别:

xml/soap/webservice

开发平台:

C/C++

  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.  * $Log: DefaultHandler.hpp,v $
  58.  * Revision 1.5  2001/11/13 13:24:05  tng
  59.  * Fix documentation for DefaultHandler.
  60.  *
  61.  * Revision 1.4  2000/12/22 15:17:01  tng
  62.  * SAX2-ext's LexicalHandler support added by David Bertoni.
  63.  *
  64.  * Revision 1.3  2000/08/14 18:56:14  aruna1
  65.  * Virtual parameter inconsistency fixed
  66.  *
  67.  * Revision 1.2  2000/08/07 18:21:27  jpolast
  68.  * change SAX_EXPORT module to SAX2_EXPORT
  69.  *
  70.  * Revision 1.1  2000/08/02 18:02:34  jpolast
  71.  * initial checkin of sax2 implementation
  72.  * submitted by Simon Fell (simon@fell.com)
  73.  * and Joe Polastre (jpolast@apache.org)
  74.  *
  75.  *
  76.  */
  77. #ifndef DEFAULTHANDLER_HPP
  78. #define DEFAULTHANDLER_HPP
  79. #include <sax2/ContentHandler.hpp>
  80. #include <sax2/LexicalHandler.hpp>
  81. #include <sax/DTDHandler.hpp>
  82. #include <sax/EntityResolver.hpp>
  83. #include <sax/ErrorHandler.hpp>
  84. #include <sax/SAXParseException.hpp>
  85. class Locator;
  86. class Attributes;
  87. /**
  88.   * Default base class for SAX2 handlers.
  89.   *
  90.   * <p>This class implements the default behaviour for SAX2
  91.   * interfaces: EntityResolver, DTDHandler, ContentHandler,
  92.   * ErrorHandler, and LexicalHandler.</p>
  93.   *
  94.   * <p>Application writers can extend this class when they need to
  95.   * implement only part of an interface; parser writers can
  96.   * instantiate this class to provide default handlers when the
  97.   * application has not supplied its own.</p>
  98.   *
  99.   * <p>Note that the use of this class is optional.</p>
  100.   *
  101.   * @see EntityResolver#EntityResolver
  102.   * @see DTDHandler#DTDHandler
  103.   * @see ContentHandler#ContentHandler
  104.   * @see ErrorHandler#ErrorHandler
  105.   * @see LexicalHandler#LexicalHandler
  106.   */
  107. class SAX2_EXPORT DefaultHandler :
  108.     public EntityResolver,
  109. public DTDHandler,
  110. public ContentHandler,
  111.    public ErrorHandler,
  112.    public LexicalHandler
  113. {
  114. public:
  115.   /** @name Default handlers for the DocumentHandler interface */
  116.     //@{
  117.   /**
  118.     * Receive notification of character data inside an element.
  119.     *
  120.     * <p>By default, do nothing.  Application writers may override this
  121.     * method to take specific actions for each chunk of character data
  122.     * (such as adding the data to a node or buffer, or printing it to
  123.     * a file).</p>
  124.     *
  125.     * @param chars The characters.
  126.     * @param length The number of characters to use from the
  127.     *               character array.
  128.     * @exception SAXException Any SAX exception, possibly
  129.     *            wrapping another exception.
  130.     * @see DocumentHandler#characters
  131.     */
  132.     virtual void characters
  133.     (
  134.         const   XMLCh* const    chars
  135.         , const unsigned int    length
  136.     );
  137.   /**
  138.     * Receive notification of the end of the document.
  139.     *
  140.     * <p>By default, do nothing.  Application writers may override this
  141.     * method in a subclass to take specific actions at the beginning
  142.     * of a document (such as finalising a tree or closing an output
  143.     * file).</p>
  144.     *
  145.     * @exception SAXException Any SAX exception, possibly
  146.     *            wrapping another exception.
  147.     * @see DocumentHandler#endDocument
  148.     */
  149.     virtual void endDocument();
  150.   /**
  151.     * Receive notification of the end of an element.
  152.     *
  153.     * <p>By default, do nothing.  Application writers may override this
  154.     * method in a subclass to take specific actions at the end of
  155.     * each element (such as finalising a tree node or writing
  156.     * output to a file).</p>
  157.     *
  158.     * @param uri The URI of the asscioated namespace for this element
  159. * @param localname The local part of the element name
  160. * @param qname The QName of this element
  161.     * @exception SAXException Any SAX exception, possibly
  162.     *            wrapping another exception.
  163.     * @see DocumentHandler#endElement
  164.     */
  165.     virtual void endElement
  166. (
  167. const XMLCh* const uri,
  168. const XMLCh* const localname,
  169. const XMLCh* const qname
  170. );
  171.   /**
  172.     * Receive notification of ignorable whitespace in element content.
  173.     *
  174.     * <p>By default, do nothing.  Application writers may override this
  175.     * method to take specific actions for each chunk of ignorable
  176.     * whitespace (such as adding data to a node or buffer, or printing
  177.     * it to a file).</p>
  178.     *
  179.     * @param chars The whitespace characters.
  180.     * @param length The number of characters to use from the
  181.     *               character array.
  182.     * @exception SAXException Any SAX exception, possibly
  183.     *            wrapping another exception.
  184.     * @see DocumentHandler#ignorableWhitespace
  185.     */
  186.     virtual void ignorableWhitespace
  187.     (
  188.         const   XMLCh* const    chars
  189.         , const unsigned int    length
  190.     );
  191.   /**
  192.     * Receive notification of a processing instruction.
  193.     *
  194.     * <p>By default, do nothing.  Application writers may override this
  195.     * method in a subclass to take specific actions for each
  196.     * processing instruction, such as setting status variables or
  197.     * invoking other methods.</p>
  198.     *
  199.     * @param target The processing instruction target.
  200.     * @param data The processing instruction data, or null if
  201.     *             none is supplied.
  202.     * @exception SAXException Any SAX exception, possibly
  203.     *            wrapping another exception.
  204.     * @see DocumentHandler#processingInstruction
  205.     */
  206.     virtual void processingInstruction
  207.     (
  208.         const   XMLCh* const    target
  209.         , const XMLCh* const    data
  210.     );
  211.     /**
  212.     * Reset the Docuemnt object on its reuse
  213.     *
  214.     * @see DocumentHandler#resetDocument
  215.     */
  216.     virtual void resetDocument();
  217.     //@}
  218.     /** @name Default implementation of DocumentHandler interface */
  219.     //@{
  220.   /**
  221.     * Receive a Locator object for document events.
  222.     *
  223.     * <p>By default, do nothing.  Application writers may override this
  224.     * method in a subclass if they wish to store the locator for use
  225.     * with other document events.</p>
  226.     *
  227.     * @param locator A locator for all SAX document events.
  228.     * @see DocumentHandler#setDocumentLocator
  229.     * @see Locator
  230.     */
  231.     virtual void setDocumentLocator(const Locator* const locator);
  232.   /**
  233.     * Receive notification of the beginning of the document.
  234.     *
  235.     * <p>By default, do nothing.  Application writers may override this
  236.     * method in a subclass to take specific actions at the beginning
  237.     * of a document (such as allocating the root node of a tree or
  238.     * creating an output file).</p>
  239.     *
  240.     * @exception SAXException Any SAX exception, possibly
  241.     *            wrapping another exception.
  242.     * @see DocumentHandler#startDocument
  243.     */
  244.     virtual void startDocument();
  245.   /**
  246.     * Receive notification of the start of an element.
  247.     *
  248.     * <p>By default, do nothing.  Application writers may override this
  249.     * method in a subclass to take specific actions at the start of
  250.     * each element (such as allocating a new tree node or writing
  251.     * output to a file).</p>
  252.     *
  253.     * @param uri The URI of the asscioated namespace for this element
  254. * @param localname the local part of the element name
  255. * @param qname the QName of this element
  256.     * @param attributes The specified or defaulted attributes.
  257.     * @exception SAXException Any SAX exception, possibly
  258.     *            wrapping another exception.
  259.     * @see DocumentHandler#startElement
  260.     */
  261.     virtual void startElement
  262.     (
  263.         const   XMLCh* const    uri,
  264.         const   XMLCh* const    localname,
  265.         const   XMLCh* const    qname
  266.         , const Attributes& attrs
  267.     );
  268.   /**
  269.     * Receive notification of the start of an namespace prefix mapping.
  270.     *
  271.     * <p>By default, do nothing.  Application writers may override this
  272.     * method in a subclass to take specific actions at the start of
  273.     * each namespace prefix mapping.</p>
  274.     *
  275. * NOTE : The current Implementation of SAX2Parser will _NEVER_ call this
  276. *
  277.     * @param prefix The namespace prefix used
  278.     * @param uri The namespace URI used.
  279.     * @exception SAXException Any SAX exception, possibly
  280.     *            wrapping another exception.
  281.     * @see DocumentHandler#startPrefixMapping
  282.     */
  283. virtual void startPrefixMapping
  284. (
  285. const XMLCh* const prefix,
  286. const XMLCh* const uri
  287. ) ;
  288.   /**
  289.     * Receive notification of the end of an namespace prefix mapping.
  290.     *
  291.     * <p>By default, do nothing.  Application writers may override this
  292.     * method in a subclass to take specific actions at the end of
  293.     * each namespace prefix mapping.</p>
  294.     *
  295. * NOTE : The current Implementation of SAX2Parser will _NEVER_ call this
  296. *
  297.     * @param prefix The namespace prefix used
  298.     * @exception SAXException Any SAX exception, possibly
  299.     *            wrapping another exception.
  300.     * @see DocumentHandler#endPrefixMapping
  301.     */
  302. virtual void endPrefixMapping
  303. (
  304. const XMLCh* const prefix
  305. ) ;
  306.   /**
  307.     * Receive notification of a skipped entity
  308.     *
  309.     * <p>The parser will invoke this method once for each entity
  310. * skipped.  All processors may skip external entities,
  311. * depending on the values of the features:<br>
  312. * http://xml.org/sax/features/external-general-entities<br>
  313. * http://xml.org/sax/features/external-parameter-entities</p>
  314.     *
  315. * <p>Introduced with SAX2</p>
  316. *
  317.     * @param name The name of the skipped entity.  If it is a parameter entity,
  318. * the name will begin with %, and if it is the external DTD subset,
  319. * it will be the string [dtd].
  320.     * @exception SAXException Any SAX exception, possibly
  321.     *            wrapping another exception.
  322.     */
  323. virtual void skippedEntity
  324. (
  325. const XMLCh* const name
  326. ) ;
  327.     //@}
  328.     /** @name Default implementation of the EntityResolver interface. */
  329.     //@{
  330.   /**
  331.     * Resolve an external entity.
  332.     *
  333.     * <p>Always return null, so that the parser will use the system
  334.     * identifier provided in the XML document.  This method implements
  335.     * the SAX default behaviour: application writers can override it
  336.     * in a subclass to do special translations such as catalog lookups
  337.     * or URI redirection.</p>
  338.     *
  339.     * @param publicId The public identifer, or null if none is
  340.     *                 available.
  341.     * @param systemId The system identifier provided in the XML
  342.     *                 document.
  343.     * @return The new input source, or null to require the
  344.     *         default behaviour.
  345.     * @exception SAXException Any SAX exception, possibly
  346.     *            wrapping another exception.
  347.     * @see EntityResolver#resolveEntity
  348.     */
  349.     virtual InputSource* resolveEntity
  350.     (
  351.         const   XMLCh* const    publicId
  352.         , const XMLCh* const    systemId
  353.     );
  354.     //@}
  355.     /** @name Default implementation of the ErrorHandler interface */
  356.     //@{
  357.    /**
  358.     * Receive notification of a recoverable parser error.
  359.     *
  360.     * <p>The default implementation does nothing.  Application writers
  361.     * may override this method in a subclass to take specific actions
  362.     * for each error, such as inserting the message in a log file or
  363.     * printing it to the console.</p>
  364.     *
  365.     * @param exception The warning information encoded as an exception.
  366.     * @exception SAXException Any SAX exception, possibly
  367.     *            wrapping another exception.
  368.     * @see ErrorHandler#warning
  369.     * @see SAXParseException#SAXParseException
  370.     */
  371.     virtual void error(const SAXParseException& exception);
  372.   /**
  373.     * Report a fatal XML parsing error.
  374.     *
  375.     * <p>The default implementation throws a SAXParseException.
  376.     * Application writers may override this method in a subclass if
  377.     * they need to take specific actions for each fatal error (such as
  378.     * collecting all of the errors into a single report): in any case,
  379.     * the application must stop all regular processing when this
  380.     * method is invoked, since the document is no longer reliable, and
  381.     * the parser may no longer report parsing events.</p>
  382.     *
  383.     * @param e The error information encoded as an exception.
  384.     * @exception SAXException Any SAX exception, possibly
  385.     *            wrapping another exception.
  386.     * @see ErrorHandler#fatalError
  387.     * @see SAXParseException#SAXParseException
  388.     */
  389.     virtual void fatalError(const SAXParseException& exception);
  390.   /**
  391.     * Receive notification of a parser warning.
  392.     *
  393.     * <p>The default implementation does nothing.  Application writers
  394.     * may override this method in a subclass to take specific actions
  395.     * for each warning, such as inserting the message in a log file or
  396.     * printing it to the console.</p>
  397.     *
  398.     * @param e The warning information encoded as an exception.
  399.     * @exception SAXException Any SAX exception, possibly
  400.     *            wrapping another exception.
  401.     * @see ErrorHandler#warning
  402.     * @see SAXParseException#SAXParseException
  403.     */
  404.     virtual void warning(const SAXParseException& exception);
  405.     /**
  406.     * Reset the Error handler object on its reuse
  407.     *
  408.     * @see ErrorHandler#resetErrors
  409.     */
  410.     virtual void resetErrors();
  411.     //@}
  412.     /** @name Default implementation of DTDHandler interface. */
  413.     //@{
  414.   /**
  415.     * Receive notification of a notation declaration.
  416.     *
  417.     * <p>By default, do nothing.  Application writers may override this
  418.     * method in a subclass if they wish to keep track of the notations
  419.     * declared in a document.</p>
  420.     *
  421.     * @param name The notation name.
  422.     * @param publicId The notation public identifier, or null if not
  423.     *                 available.
  424.     * @param systemId The notation system identifier.
  425.     * @see DTDHandler#notationDecl
  426.     */
  427.     virtual void notationDecl
  428.     (
  429.         const   XMLCh* const    name
  430.         , const XMLCh* const    publicId
  431.         , const XMLCh* const    systemId
  432.     );
  433.     /**
  434.     * Reset the DTD object on its reuse
  435.     *
  436.     * @see DTDHandler#resetDocType
  437.     */
  438.     virtual void resetDocType();
  439.   /**
  440.     * Receive notification of an unparsed entity declaration.
  441.     *
  442.     * <p>By default, do nothing.  Application writers may override this
  443.     * method in a subclass to keep track of the unparsed entities
  444.     * declared in a document.</p>
  445.     *
  446.     * @param name The entity name.
  447.     * @param publicId The entity public identifier, or null if not
  448.     *                 available.
  449.     * @param systemId The entity system identifier.
  450.     * @param notationName The name of the associated notation.
  451.     * @see DTDHandler#unparsedEntityDecl
  452.     */
  453.     virtual void unparsedEntityDecl
  454.     (
  455.         const   XMLCh* const    name
  456.         , const XMLCh* const    publicId
  457.         , const XMLCh* const    systemId
  458.         , const XMLCh* const    notationName
  459.     );
  460.     //@}
  461.     /** @name Default implementation of LexicalHandler interface. */
  462.     //@{
  463.    /**
  464.     * Receive notification of comments.
  465.     *
  466.     * <p>The Parser will call this method to report each occurence of
  467.     * a comment in the XML document.</p>
  468.     *
  469.     * <p>The application must not attempt to read from the array
  470.     * outside of the specified range.</p>
  471.     *
  472.     * @param chars The characters from the XML document.
  473.     * @param length The number of characters to read from the array.
  474.     * @exception SAXException Any SAX exception, possibly
  475.     *            wrapping another exception.
  476.     */
  477.     virtual void comment
  478.     (
  479.         const   XMLCh* const    chars
  480.         , const unsigned int    length
  481.     );
  482.   /**
  483.     * Receive notification of the end of a CDATA section.
  484.     *
  485.     * <p>The SAX parser will invoke this method at the end of
  486.     * each CDATA parsed.</p>
  487.     *
  488.     * @exception SAXException Any SAX exception, possibly
  489.     *            wrapping another exception.
  490.     */
  491.     virtual void endCDATA ();
  492.   /**
  493.     * Receive notification of the end of the DTD declarations.
  494.     *
  495.     * <p>The SAX parser will invoke this method at the end of the
  496.     * DTD</p>
  497.     *
  498.     * @exception SAXException Any SAX exception, possibly
  499.     *            wrapping another exception.
  500.     */
  501.     virtual void endDTD ();
  502.   /**
  503.     * Receive notification of the end of an entity.
  504.     *
  505.     * <p>The SAX parser will invoke this method at the end of an
  506.     * entity</p>
  507.     *
  508.     * @param name The name of the entity that is ending.
  509.     * @exception SAXException Any SAX exception, possibly
  510.     *            wrapping another exception.
  511.     */
  512.     virtual void endEntity (const XMLCh* const name);
  513.   /**
  514.     * Receive notification of the start of a CDATA section.
  515.     *
  516.     * <p>The SAX parser will invoke this method at the start of
  517.     * each CDATA parsed.</p>
  518.     *
  519.     * @exception SAXException Any SAX exception, possibly
  520.     *            wrapping another exception.
  521.     */
  522.     virtual void startCDATA ();
  523.   /**
  524.     * Receive notification of the start of the DTD declarations.
  525.     *
  526.     * <p>The SAX parser will invoke this method at the start of the
  527.     * DTD</p>
  528.     *
  529.     * @param name The document type name.
  530.     * @param publicId The declared public identifier for the external DTD subset, or null if none was declared.
  531.     * @param systemId The declared system identifier for the external DTD subset, or null if none was declared.
  532.     * @exception SAXException Any SAX exception, possibly
  533.     *            wrapping another exception.
  534.     */
  535.     virtual void startDTD
  536.     (
  537.         const   XMLCh* const    name
  538.         , const   XMLCh* const    publicId
  539.         , const   XMLCh* const    systemId
  540.     );
  541.   /**
  542.     * Receive notification of the start of an entity.
  543.     *
  544.     * <p>The SAX parser will invoke this method at the start of an
  545.     * entity</p>
  546.     *
  547.     * @param name The name of the entity that is starting.
  548.     * @exception SAXException Any SAX exception, possibly
  549.     *            wrapping another exception.
  550.     */
  551.     virtual void startEntity (const XMLCh* const name);
  552.     //@}
  553. };
  554. // ---------------------------------------------------------------------------
  555. //  HandlerBase: Inline default implementations
  556. // ---------------------------------------------------------------------------
  557. inline void DefaultHandler::characters(const   XMLCh* const    chars
  558.                                        ,const   unsigned int    length)
  559. {
  560. }
  561. inline void DefaultHandler::endDocument()
  562. {
  563. }
  564. inline void DefaultHandler::endElement(const XMLCh* const uri
  565. , const XMLCh* const localname
  566. , const XMLCh* const qname)
  567. {
  568. }
  569. inline void DefaultHandler::error(const SAXParseException& exception)
  570. {
  571. }
  572. inline void DefaultHandler::fatalError(const SAXParseException& exception)
  573. {
  574.     throw exception;
  575. }
  576. inline void
  577. DefaultHandler::ignorableWhitespace( const   XMLCh* const chars
  578.                                     , const unsigned int length)
  579. {
  580. }
  581. inline void DefaultHandler::notationDecl(  const   XMLCh* const name
  582. , const XMLCh* const publicId
  583. , const XMLCh* const systemId)
  584. {
  585. }
  586. inline void
  587. DefaultHandler::processingInstruction( const   XMLCh* const target
  588. , const XMLCh* const data)
  589. {
  590. }
  591. inline void DefaultHandler::resetErrors()
  592. {
  593. }
  594. inline void DefaultHandler::resetDocument()
  595. {
  596. }
  597. inline void DefaultHandler::resetDocType()
  598. {
  599. }
  600. inline InputSource*
  601. DefaultHandler::resolveEntity( const   XMLCh* const publicId
  602. , const XMLCh* const systemId)
  603. {
  604.     return 0;
  605. }
  606. inline void
  607. DefaultHandler::unparsedEntityDecl(const   XMLCh* const name
  608. , const XMLCh* const publicId
  609. , const XMLCh* const systemId
  610. , const XMLCh* const notationName)
  611. {
  612. }
  613. inline void DefaultHandler::setDocumentLocator(const Locator* const locator)
  614. {
  615. }
  616. inline void DefaultHandler::startDocument()
  617. {
  618. }
  619. inline void
  620. DefaultHandler::startElement(  const     XMLCh* const  uri
  621. , const   XMLCh* const  localname
  622. , const   XMLCh* const  qname
  623. , const   Attributes& attrs
  624. )
  625. {
  626. }
  627. inline void DefaultHandler::warning(const SAXParseException& exception)
  628. {
  629. }
  630. inline void DefaultHandler::startPrefixMapping ( const XMLCh* const prefix
  631. ,const XMLCh* const uri)
  632. {
  633. }
  634. inline void DefaultHandler::endPrefixMapping ( const XMLCh* const prefix )
  635. {
  636. }
  637. inline void DefaultHandler::skippedEntity ( const XMLCh* const name )
  638. {
  639. }
  640. inline void DefaultHandler::comment(  const   XMLCh* const    chars
  641.                                        , const unsigned int    length)
  642. {
  643. }
  644. inline void DefaultHandler::endCDATA ()
  645. {
  646. }
  647. inline void DefaultHandler::endDTD ()
  648. {
  649. }
  650. inline void DefaultHandler::endEntity (const XMLCh* const name)
  651. {
  652. }
  653. inline void DefaultHandler::startCDATA ()
  654. {
  655. }
  656. inline void DefaultHandler::startDTD(  const   XMLCh* const    name
  657.                                         , const   XMLCh* const publicId
  658.                                         , const   XMLCh* const systemId)
  659. {
  660. }
  661. inline void DefaultHandler::startEntity (const XMLCh* const name)
  662. {
  663. }
  664. #endif // ! DEFAULTHANDLER_HPP