Return to domexception.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / dom |
1.1 ! misho 1: /* ! 2: +----------------------------------------------------------------------+ ! 3: | PHP Version 5 | ! 4: +----------------------------------------------------------------------+ ! 5: | Copyright (c) 1997-2012 The PHP Group | ! 6: +----------------------------------------------------------------------+ ! 7: | This source file is subject to version 3.01 of the PHP license, | ! 8: | that is bundled with this package in the file LICENSE, and is | ! 9: | available through the world-wide-web at the following url: | ! 10: | http://www.php.net/license/3_01.txt | ! 11: | If you did not receive a copy of the PHP license and are unable to | ! 12: | obtain it through the world-wide-web, please send a note to | ! 13: | license@php.net so we can mail you a copy immediately. | ! 14: +----------------------------------------------------------------------+ ! 15: | Authors: Christian Stocker <chregu@php.net> | ! 16: | Rob Richards <rrichards@php.net> | ! 17: +----------------------------------------------------------------------+ ! 18: */ ! 19: ! 20: /* $Id: domexception.c 321634 2012-01-01 13:15:04Z felipe $ */ ! 21: ! 22: #ifdef HAVE_CONFIG_H ! 23: #include "config.h" ! 24: #endif ! 25: ! 26: #include "php.h" ! 27: #if HAVE_LIBXML && HAVE_DOM ! 28: #include "php_dom.h" ! 29: ! 30: /* ! 31: * class DOMException ! 32: * ! 33: * URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-17189187 ! 34: * Since: ! 35: */ ! 36: ! 37: extern zend_class_entry *dom_domexception_class_entry; ! 38: ! 39: const zend_function_entry php_dom_domexception_class_functions[] = { ! 40: PHP_FE_END ! 41: }; ! 42: ! 43: void php_dom_throw_error_with_message(int error_code, char *error_message, int strict_error TSRMLS_DC) /* {{{ */ ! 44: { ! 45: if (strict_error == 1) { ! 46: zend_throw_exception(dom_domexception_class_entry, error_message, error_code TSRMLS_CC); ! 47: } else { ! 48: php_libxml_issue_error(E_WARNING, error_message TSRMLS_CC); ! 49: } ! 50: } ! 51: /* }}} */ ! 52: ! 53: /* {{{ php_dom_throw_error */ ! 54: void php_dom_throw_error(int error_code, int strict_error TSRMLS_DC) ! 55: { ! 56: char *error_message; ! 57: ! 58: switch (error_code) ! 59: { ! 60: case INDEX_SIZE_ERR: ! 61: error_message = "Index Size Error"; ! 62: break; ! 63: case DOMSTRING_SIZE_ERR: ! 64: error_message = "DOM String Size Error"; ! 65: break; ! 66: case HIERARCHY_REQUEST_ERR: ! 67: error_message = "Hierarchy Request Error"; ! 68: break; ! 69: case WRONG_DOCUMENT_ERR: ! 70: error_message = "Wrong Document Error"; ! 71: break; ! 72: case INVALID_CHARACTER_ERR: ! 73: error_message = "Invalid Character Error"; ! 74: break; ! 75: case NO_DATA_ALLOWED_ERR: ! 76: error_message = "No Data Allowed Error"; ! 77: break; ! 78: case NO_MODIFICATION_ALLOWED_ERR: ! 79: error_message = "No Modification Allowed Error"; ! 80: break; ! 81: case NOT_FOUND_ERR: ! 82: error_message = "Not Found Error"; ! 83: break; ! 84: case NOT_SUPPORTED_ERR: ! 85: error_message = "Not Supported Error"; ! 86: break; ! 87: case INUSE_ATTRIBUTE_ERR: ! 88: error_message = "Inuse Attribute Error"; ! 89: break; ! 90: case INVALID_STATE_ERR: ! 91: error_message = "Invalid State Error"; ! 92: break; ! 93: case SYNTAX_ERR: ! 94: error_message = "Syntax Error"; ! 95: break; ! 96: case INVALID_MODIFICATION_ERR: ! 97: error_message = "Invalid Modification Error"; ! 98: break; ! 99: case NAMESPACE_ERR: ! 100: error_message = "Namespace Error"; ! 101: break; ! 102: case INVALID_ACCESS_ERR: ! 103: error_message = "Invalid Access Error"; ! 104: break; ! 105: case VALIDATION_ERR: ! 106: error_message = "Validation Error"; ! 107: break; ! 108: default: ! 109: error_message = "Unhandled Error"; ! 110: } ! 111: ! 112: php_dom_throw_error_with_message(error_code, error_message, strict_error TSRMLS_CC); ! 113: } ! 114: /* }}} end php_dom_throw_error */ ! 115: ! 116: #endif /* HAVE_LIBXML && HAVE_DOM */ ! 117: ! 118: /* ! 119: * Local variables: ! 120: * tab-width: 4 ! 121: * c-basic-offset: 4 ! 122: * End: ! 123: * vim600: noet sw=4 ts=4 fdm=marker ! 124: * vim<600: noet sw=4 ts=4 ! 125: */