+++ /dev/null
-/*
- * Copyright 1999-2000,2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $Log$
- * Revision 1.1 2004/11/23 13:38:52 lpadovan
- * * basic infrastructure for collecting statistics
- *
- * Revision 1.11 2004/09/08 13:55:31 peiyongz
- * Apache License Version 2.0
- *
- * Revision 1.10 2003/05/30 09:36:35 gareth
- * Use new macros for iostream.h and std:: issues.
- *
- * Revision 1.9 2003/02/05 18:53:22 tng
- * [Bug 11915] Utility for freeing memory.
- *
- * Revision 1.8 2002/11/05 21:46:19 tng
- * Explicit code using namespace in application.
- *
- * Revision 1.7 2002/06/18 16:19:40 knoaman
- * Replace XercesDOMParser with DOMBuilder for parsing XML documents.
- *
- * Revision 1.6 2002/02/01 22:35:01 peiyongz
- * sane_include
- *
- * Revision 1.5 2000/10/20 22:00:35 andyh
- * DOMCount sample Minor cleanup - rename error handler class to say that it is an error handler.
- *
- * Revision 1.4 2000/03/02 19:53:39 roddey
- * This checkin includes many changes done while waiting for the
- * 1.1.0 code to be finished. I can't list them all here, but a list is
- * available elsewhere.
- *
- * Revision 1.3 2000/02/11 02:43:55 abagchi
- * Removed StrX::transcode
- *
- * Revision 1.2 2000/02/06 07:47:17 rahulj
- * Year 2K copyright swat.
- *
- * Revision 1.1.1.1 1999/11/09 01:09:52 twl
- * Initial checkin
- *
- * Revision 1.5 1999/11/08 20:43:35 rahul
- * Swat for adding in Product name and CVS comment log variable.
- *
- */
-
-// ---------------------------------------------------------------------------
-// Includes
-// ---------------------------------------------------------------------------
-#include <xercesc/dom/DOMErrorHandler.hpp>
-#include <xercesc/util/XMLString.hpp>
-#if defined(XERCES_NEW_IOSTREAMS)
-#include <iostream>
-#else
-#include <iostream.h>
-#endif
-
-XERCES_CPP_NAMESPACE_USE
-
-// ---------------------------------------------------------------------------
-// Simple error handler deriviative to install on parser
-// ---------------------------------------------------------------------------
-class DOMCountErrorHandler : public DOMErrorHandler
-{
-public:
- // -----------------------------------------------------------------------
- // Constructors and Destructor
- // -----------------------------------------------------------------------
- DOMCountErrorHandler();
- ~DOMCountErrorHandler();
-
-
- // -----------------------------------------------------------------------
- // Getter methods
- // -----------------------------------------------------------------------
- bool getSawErrors() const;
-
-
- // -----------------------------------------------------------------------
- // Implementation of the DOM ErrorHandler interface
- // -----------------------------------------------------------------------
- bool handleError(const DOMError& domError);
- void resetErrors();
-
-
-private :
- // -----------------------------------------------------------------------
- // Unimplemented constructors and operators
- // -----------------------------------------------------------------------
- DOMCountErrorHandler(const DOMCountErrorHandler&);
- void operator=(const DOMCountErrorHandler&);
-
-
- // -----------------------------------------------------------------------
- // Private data members
- //
- // fSawErrors
- // This is set if we get any errors, and is queryable via a getter
- // method. Its used by the main code to suppress output if there are
- // errors.
- // -----------------------------------------------------------------------
- bool fSawErrors;
-};
-
-
-// ---------------------------------------------------------------------------
-// This is a simple class that lets us do easy (though not terribly efficient)
-// trancoding of XMLCh data to local code page for display.
-// ---------------------------------------------------------------------------
-class StrX
-{
-public :
- // -----------------------------------------------------------------------
- // Constructors and Destructor
- // -----------------------------------------------------------------------
- StrX(const XMLCh* const toTranscode)
- {
- // Call the private transcoding method
- fLocalForm = XMLString::transcode(toTranscode);
- }
-
- ~StrX()
- {
- XMLString::release(&fLocalForm);
- }
-
-
- // -----------------------------------------------------------------------
- // Getter methods
- // -----------------------------------------------------------------------
- const char* localForm() const
- {
- return fLocalForm;
- }
-
-private :
- // -----------------------------------------------------------------------
- // Private data members
- //
- // fLocalForm
- // This is the local code page form of the string.
- // -----------------------------------------------------------------------
- char* fLocalForm;
-};
-
-inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump)
-{
- target << toDump.localForm();
- return target;
-}
-
-inline bool DOMCountErrorHandler::getSawErrors() const
-{
- return fSawErrors;
-}