7.9
  
   5Ì358ËÀÒ f    5<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
<p>Additionally, a 403 Forbidden
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
  <   7ˆl—Ðz¾”Êh¥8 [¸Û×eLZ7ÿÕ„eöYoÏa–ßi~”Še¶¥8 EpO\ Å£Ô ?÷     7/**
 * @file
 * 
 * @brief Error handling
 * 
 * API for error reporting and callbacks.
 *
 * @copyright See Copyright for the status of this software.
 *
 * @author Daniel Veillard
 */

#ifndef __XML_ERROR_H__
#define __XML_ERROR_H__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Set generic error callback.
 *
 * @deprecated Use #xmlSetGenericErrorFunc
 */
#define initGenericErrorDefaultFunc(h) \
    xmlSetGenericErrorFunc(NULL, (h) ? *((xmlGenericErrorFunc *) (h)) : NULL)

/**
 * Indicates the level of an error
 */
typedef enum {
    /** Success */
    XML_ERR_NONE = 0,
    /**
     * A warning
     *
     * When parsing XML, warnings are only reported to error
     * handlers.
     */
    XML_ERR_WARNING = 1,
    /**
     * An error
     *
     * When parsing XML, this is used for recoverable errors like
     *
     * - namespace errors
     * - validity errors when validating
     * - certain undeclared entities
     * - ID uniqueness and xml:id errors
     *
     * Note that some recoverable errors in the sense of the XML
     * spec are reported as warnings.
     *
     * In other contexts, this may be used for unrecoverable
     * errors.
     */
    XML_ERR_ERROR = 2,
    /**
     * A fatal error
     *
     * When parsing XML, a "fatal error" according to the XML spec.
     * This typically means that the document isn't well-formed.
     *
     * This also includes OOM and I/O errors, resource limit
     * exhaustion, unexpected errors from other libraries and
     * invalid argument errors.
     */
    XML_ERR_FATAL = 3
} xmlErrorLevel;

/**
 * Indicates where an error may have come from
 */
typedef enum {
    /** Unknown */
    XML_FROM_NONE = 0,
    /** The XML parser */
    XML_FROM_PARSER,
    /** The tree module (unused) */
    XML_FROM_TREE,
    /** The XML Namespace module */
    XML_FROM_NAMESPACE,
    /** The XML DTD validation with parser context */
    XML_FROM_DTD,
    /** The HTML parser */
    XML_FROM_HTML,
    /** The memory allocator (unused) */
    XML_FROM_MEMORY,
    /** The serialization code */
    XML_FROM_OUTPUT,
    /** The Input/Output stack */
    XML_FROM_IO,
    /** The FTP module (unused) */
    XML_FROM_FTP,
    /** The HTTP module (unused) */
    XML_FROM_HTTP,
    /** The XInclude processing */
    XML_FROM_XINCLUDE,
    /** The XPath module */
    XML_FROM_XPATH,
    /** The XPointer module */
    XML_FROM_XPOINTER,
    /** The regular expressions module */
    XML_FROM_REGEXP,
    /** The W3C XML Schemas Datatype module */
    XML_FROM_DATATYPE,
    /** The W3C XML Schemas parser module */
    XML_FROM_SCHEMASP,
    /** The W3C XML Schemas validation module */
    XML_FROM_SCHEMASV,
    /** The Relax-NG parser module */
    XML_FROM_RELAXNGP,
    /** The Relax-NG validator module */
    XML_FROM_RELAXNGV,
    /** The Catalog module */
    XML_FROM_CATALOG,
    /** The Canonicalization module */
    XML_FROM_C14N,
    /** The XSLT engine from libxslt (unused) */
    XML_FROM_XSLT,
    /** The XML DTD validation with valid context */
    XML_FROM_VALID,
    /** The error checking module (unused) */
    XML_FROM_CHECK,
    /** The xmlwriter module */
    XML_FROM_WRITER,
    /** The dynamically loaded module module (unused) */
    XML_FROM_MODULE,
    /** The module handling character conversion (unused) */
    XML_FROM_I18N,
    /** The Schematron validator module */
    XML_FROM_SCHEMATRONV,
    /** The buffers module (unused) */
    XML_FROM_BUFFER,
    /** The URI module (unused) */
    XML_FROM_URI
} xmlErrorDomain;

/** Structured error */
typedef struct _xmlError xmlError;
typedef 