00001 /* 00002 * The Apache Software License, Version 1.1 00003 * 00004 * 00005 * Copyright (c) 1999-2002 The Apache Software Foundation. All rights 00006 * reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions 00010 * are met: 00011 * 00012 * 1. Redistributions of source code must retain the above copyright 00013 * notice, this list of conditions and the following disclaimer. 00014 * 00015 * 2. Redistributions in binary form must reproduce the above copyright 00016 * notice, this list of conditions and the following disclaimer in 00017 * the documentation and/or other materials provided with the 00018 * distribution. 00019 * 00020 * 3. The end-user documentation included with the redistribution, 00021 * if any, must include the following acknowledgment: 00022 * "This product includes software developed by the 00023 * Apache Software Foundation (http://www.apache.org/)." 00024 * Alternately, this acknowledgment may appear in the software itself, 00025 * if and wherever such third-party acknowledgments normally appear. 00026 * 00027 * 4. The names "Xalan" and "Apache Software Foundation" must 00028 * not be used to endorse or promote products derived from this 00029 * software without prior written permission. For written 00030 * permission, please contact apache@apache.org. 00031 * 00032 * 5. Products derived from this software may not be called "Apache", 00033 * nor may "Apache" appear in their name, without prior written 00034 * permission of the Apache Software Foundation. 00035 * 00036 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00037 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00038 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00039 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 00040 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00041 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00042 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00043 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00044 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00045 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00046 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00047 * SUCH DAMAGE. 00048 * ==================================================================== 00049 * 00050 * This software consists of voluntary contributions made by many 00051 * individuals on behalf of the Apache Software Foundation and was 00052 * originally based on software copyright (c) 1999, International 00053 * Business Machines, Inc., http://www.ibm.com. For more 00054 * information on the Apache Software Foundation, please see 00055 * <http://www.apache.org/>. 00056 */ 00057 #if !defined(XSLEXCEPTION_HEADER_GUARD_1357924680) 00058 #define XSLEXCEPTION_HEADER_GUARD_1357924680 00059 00060 00061 00062 // Base include file. Must be first. 00063 #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp> 00064 00065 00066 00067 #include <xalanc/PlatformSupport/DOMStringHelper.hpp> 00068 #include <xalanc/PlatformSupport/XalanLocator.hpp> 00069 00070 00071 00072 XALAN_CPP_NAMESPACE_BEGIN 00073 00074 00075 00076 typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType; 00077 00078 00079 00080 class XALAN_PLATFORMSUPPORT_EXPORT XSLException 00081 { 00082 public: 00083 00084 typedef XalanLocator::size_type size_type; 00085 00095 XSLException( 00096 const XalanDOMString& theMessage, 00097 const XalanDOMString& theURI, 00098 int theLineNumber, 00099 int theColumnNumber, 00100 const XalanDOMString& theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException"))); 00101 00109 XSLException( 00110 const LocatorType& theLocator, 00111 const XalanDOMString& theMessage, 00112 const XalanDOMString& theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException"))); 00113 00120 XSLException( 00121 const XalanDOMString& theMessage, 00122 const XalanDOMString& theType = XalanDOMString(XALAN_STATIC_UCODE_STRING("XSLException"))); 00123 00124 virtual 00125 ~XSLException(); 00126 00132 const XalanDOMString& 00133 getType() const 00134 { 00135 return m_type; 00136 } 00137 00143 const XalanDOMString& 00144 getMessage() const 00145 { 00146 return m_message; 00147 } 00148 00154 const XalanDOMString& 00155 getURI() const 00156 { 00157 return m_uri; 00158 } 00159 00165 size_type 00166 getLineNumber() const 00167 { 00168 return m_lineNumber; 00169 } 00170 00176 size_type 00177 getColumnNumber() const 00178 { 00179 return m_columnNumber; 00180 } 00181 00182 XalanDOMString 00183 defaultFormat() const; 00184 00185 void 00186 defaultFormat(XalanDOMString& theBuffer) const; 00187 00188 static void 00189 defaultFormat( 00190 const XalanDOMString& theMessage, 00191 const XalanDOMString& theURI, 00192 size_type theLineNumber, 00193 size_type theColumnNumber, 00194 const XalanDOMString& theType, 00195 XalanDOMString& theBuffer) 00196 { 00197 defaultFormat( 00198 theMessage.c_str(), 00199 theMessage.size(), 00200 theURI.c_str(), 00201 theURI.size(), 00202 theLineNumber, 00203 theColumnNumber, 00204 theType.c_str(), 00205 theType.size(), 00206 theBuffer); 00207 } 00208 00209 static void 00210 defaultFormat( 00211 const XalanDOMChar* theMessage, 00212 const XalanDOMChar* theURI, 00213 size_type theLineNumber, 00214 size_type theColumnNumber, 00215 const XalanDOMChar* theType, 00216 XalanDOMString& theBuffer) 00217 { 00218 assert(theMessage != 0 && theURI != 0 && theType != 0); 00219 00220 defaultFormat( 00221 theMessage, 00222 XalanDOMString::length(theMessage), 00223 theURI, 00224 XalanDOMString::length(theURI), 00225 theLineNumber, 00226 theColumnNumber, 00227 theType, 00228 XalanDOMString::length(theType), 00229 theBuffer); 00230 } 00231 00232 static void 00233 defaultFormat( 00234 const XalanDOMChar* theMessage, 00235 const XalanDOMString::size_type theMessageLength, 00236 const XalanDOMChar* theURI, 00237 const XalanDOMString::size_type theURILength, 00238 size_type theLineNumber, 00239 size_type theColumnNumber, 00240 const XalanDOMChar* theType, 00241 const XalanDOMString::size_type theTypeLength, 00242 XalanDOMString& theBuffer); 00243 00244 private: 00245 00246 const XalanDOMString m_message; 00247 const XalanDOMString m_uri; 00248 00249 const size_type m_lineNumber; 00250 const size_type m_columnNumber; 00251 00252 const XalanDOMString m_type; 00253 }; 00254 00255 00256 00257 XALAN_CPP_NAMESPACE_END 00258 00259 00260 00261 #endif // XSLEXCEPTION_HEADER_GUARD_1357924680
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
![]() |
Xalan-C++ XSLT Processor Version 1.6 |
|