OW_XMLParseException.cpp

Go to the documentation of this file.
00001 /*******************************************************************************
00002 * Copyright (C) 2001-2004 Vintela, Inc. All rights reserved.
00003 *
00004 * Redistribution and use in source and binary forms, with or without
00005 * modification, are permitted provided that the following conditions are met:
00006 *
00007 *  - Redistributions of source code must retain the above copyright notice,
00008 *    this list of conditions and the following disclaimer.
00009 *
00010 *  - Redistributions in binary form must reproduce the above copyright notice,
00011 *    this list of conditions and the following disclaimer in the documentation
00012 *    and/or other materials provided with the distribution.
00013 *
00014 *  - Neither the name of Vintela, Inc. nor the names of its
00015 *    contributors may be used to endorse or promote products derived from this
00016 *    software without specific prior written permission.
00017 *
00018 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
00019 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00020 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00021 * ARE DISCLAIMED. IN NO EVENT SHALL Vintela, Inc. OR THE CONTRIBUTORS
00022 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00023 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00024 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00025 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00026 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00027 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00028 * POSSIBILITY OF SUCH DAMAGE.
00029 *******************************************************************************/
00030 
00035 #include "OW_config.h"
00036 #include "OW_XMLParseException.hpp"
00037 #include "OW_ExceptionIds.hpp"
00038 #include "OW_Format.hpp"
00039 
00040 namespace OW_NAMESPACE
00041 {
00042 
00044 //
00045 // XMLParseException
00046 //
00048 static const char* _xmlMessages[] =
00049 {
00050    "Bad opening element",
00051    "Bad closing element",
00052    "Bad attribute name",
00053    "Exepected equal sign",
00054    "Bad attribute value",
00055    "A \"--\" sequence found within comment",
00056    "Unterminated comment",
00057    "Unterminated CDATA block",
00058    "Unterminated DOCTYPE",
00059    "Too many attributes: parser only handles 10",
00060    "Malformed reference",
00061    "Expected a comment or CDATA following \"<!\" sequence",
00062    "Closing element does not match opening element",
00063    "One or more tags are still open",
00064    "More than one root element was encountered",
00065    "Validation error",
00066    "Semantic error"
00067 };
00069 XMLParseException::XMLParseException(
00070    const char* file,
00071    unsigned int line,
00072    Code code,
00073    const char* msg,
00074    unsigned int xmlline)
00075 : Exception(file, line, Format("Line %1: %2: %3", xmlline, _xmlMessages[code - 1],
00076    msg != 0 ? msg : "", 0, ExceptionIds::XMLParseExceptionId).c_str(), code)
00077 {
00078 }
00079 
00081 XMLParseException*
00082 XMLParseException::clone() const throw()
00083 {
00084    return new(std::nothrow) XMLParseException(*this);
00085 }
00086 
00088 XMLParseException::~XMLParseException() throw()
00089 {
00090 }
00091 
00093 const char*
00094 XMLParseException::type() const
00095 {
00096    return "XMLParseException";
00097 }
00098 
00099 
00100 } // end namespace OW_NAMESPACE
00101 

Generated on Thu Feb 9 08:48:19 2006 for openwbem by  doxygen 1.4.6