#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
const zend_function_entry php_dom_entity_class_functions[] = {
PHP_FE_END
};
int dom_entity_public_id_read(dom_object *obj, zval **retval TSRMLS_DC)
{
xmlEntity *nodep;
nodep = (xmlEntity *) dom_object_get_node(obj);
if (nodep == NULL) {
php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
return FAILURE;
}
ALLOC_ZVAL(*retval);
if (nodep->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
ZVAL_NULL(*retval);
} else {
ZVAL_STRING(*retval, (char *) (nodep->ExternalID), 1);
}
return SUCCESS;
}
int dom_entity_system_id_read(dom_object *obj, zval **retval TSRMLS_DC)
{
xmlEntity *nodep;
nodep = (xmlEntity *) dom_object_get_node(obj);
if (nodep == NULL) {
php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
return FAILURE;
}
ALLOC_ZVAL(*retval);
if (nodep->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
ZVAL_NULL(*retval);
} else {
ZVAL_STRING(*retval, (char *) (nodep->SystemID), 1);
}
return SUCCESS;
}
int dom_entity_notation_name_read(dom_object *obj, zval **retval TSRMLS_DC)
{
xmlEntity *nodep;
char *content;
nodep = (xmlEntity *) dom_object_get_node(obj);
if (nodep == NULL) {
php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
return FAILURE;
}
ALLOC_ZVAL(*retval);
if (nodep->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
ZVAL_NULL(*retval);
} else {
content = xmlNodeGetContent((xmlNodePtr) nodep);
ZVAL_STRING(*retval, content, 1);
xmlFree(content);
}
return SUCCESS;
}
int dom_entity_actual_encoding_read(dom_object *obj, zval **retval TSRMLS_DC)
{
ALLOC_ZVAL(*retval);
ZVAL_NULL(*retval);
return SUCCESS;
}
int dom_entity_actual_encoding_write(dom_object *obj, zval *newval TSRMLS_DC)
{
return SUCCESS;
}
int dom_entity_encoding_read(dom_object *obj, zval **retval TSRMLS_DC)
{
ALLOC_ZVAL(*retval);
ZVAL_NULL(*retval);
return SUCCESS;
}
int dom_entity_encoding_write(dom_object *obj, zval *newval TSRMLS_DC)
{
return SUCCESS;
}
int dom_entity_version_read(dom_object *obj, zval **retval TSRMLS_DC)
{
ALLOC_ZVAL(*retval);
ZVAL_NULL(*retval);
return SUCCESS;
}
int dom_entity_version_write(dom_object *obj, zval *newval TSRMLS_DC)
{
return SUCCESS;
}
#endif