diff options
Diffstat (limited to 'ext/dom/documenttype.c')
-rw-r--r-- | ext/dom/documenttype.c | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/ext/dom/documenttype.c b/ext/dom/documenttype.c deleted file mode 100644 index 5b1108ae48..0000000000 --- a/ext/dom/documenttype.c +++ /dev/null @@ -1,293 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 4 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2003 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.0 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_0.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Christian Stocker <chregu@php.net> | - | Rob Richards <rrichards@php.net> | - +----------------------------------------------------------------------+ -*/ - -/* $Id$ */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "php.h" -#include "php_dom.h" - -typedef struct _nodeIterator nodeIterator; -struct _nodeIterator { - int cur; - int index; - xmlNode *node; -}; - -typedef struct _notationIterator notationIterator; -struct _notationIterator { - int cur; - int index; - xmlNotation *notation; -}; - -static void itemHashScanner (void *payload, void *data, xmlChar *name) { - nodeIterator *priv = (nodeIterator *)data; - - if(priv->cur < priv->index) { - priv->cur++; - } else { - if(priv->node == NULL) { - priv->node = (xmlNode *)payload; - } - } -} - -/* {{{ static xmlEntityPtr create_notation(const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) */ -static xmlNodePtr create_notation(const xmlChar *name, - const xmlChar *ExternalID, const xmlChar *SystemID) { - xmlEntityPtr ret; - - ret = (xmlEntityPtr) xmlMalloc(sizeof(xmlEntity)); - memset(ret, 0, sizeof(xmlEntity)); - ret->type = XML_NOTATION_NODE; - ret->name = xmlStrdup(name); - ret->ExternalID = xmlStrdup(ExternalID); - ret->SystemID = xmlStrdup(SystemID); - ret->length = 0; - ret->content = NULL; - ret->URI = NULL; - ret->orig = NULL; - ret->children = NULL; - ret->parent = NULL; - ret->doc = NULL; - ret->_private = NULL; - ret->last = NULL; - ret->prev = NULL; - return((xmlNodePtr) ret); -} - -/* -* class domdocumenttype extends domnode -* -* URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-412266927 -* Since: -*/ - -zend_function_entry php_dom_documenttype_class_functions[] = { - {NULL, NULL, NULL} -}; - -/* {{{ attribute protos, not implemented yet */ - -/* {{{ proto name string -readonly=yes -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1844763134 -Since: -*/ -int dom_documenttype_name_read(dom_object *obj, zval **retval TSRMLS_DC) -{ - xmlDtdPtr dtdptr; - - dtdptr = (xmlDtdPtr) dom_object_get_node(obj); - ALLOC_ZVAL(*retval); - ZVAL_STRING(*retval, (char *) (dtdptr->name), 1); - - return SUCCESS; -} - -/* }}} */ - - - -/* {{{ proto entities namednodemap -readonly=yes -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1788794630 -Since: -*/ -int dom_documenttype_entities_read(dom_object *obj, zval **retval TSRMLS_DC) -{ - xmlDtdPtr doctypep; - xmlHashTable *entityht; - nodeIterator *iter; - xmlNode *nodep = NULL; - int ret, htsize, index = 0; - - doctypep = (xmlDtdPtr) dom_object_get_node(obj); - - ALLOC_ZVAL(*retval); - array_init(*retval); - - entityht = (xmlHashTable *) doctypep->entities; - if (entityht) { - if ((htsize = xmlHashSize(entityht)) > 0) { - iter = emalloc(sizeof(nodeIterator)); - while (index < htsize) { - iter->cur = 0; - iter->index = index; - iter->node = NULL; - xmlHashScan(entityht, itemHashScanner, iter); - index++; - nodep = iter->node; - if (nodep != NULL) { - zval *child; - MAKE_STD_ZVAL(child); - child = php_dom_create_object(nodep, &ret, NULL, child, obj TSRMLS_CC); - add_assoc_zval(*retval, (char *) nodep->name, child); - } - } - efree(iter); - } - } - return SUCCESS; -} - -/* }}} */ - - - -/* {{{ proto notations namednodemap -readonly=yes -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-D46829EF -Since: -*/ -int dom_documenttype_notations_read(dom_object *obj, zval **retval TSRMLS_DC) -{ - xmlDtdPtr doctypep; - xmlHashTable *notationht; - notationIterator *iter; - xmlNotationPtr notep = NULL; - xmlNode *nodep = NULL; - int ret, htsize, index = 0; - - doctypep = (xmlDtdPtr) dom_object_get_node(obj); - - MAKE_STD_ZVAL(*retval); - array_init(*retval); - - notationht = (xmlHashTable *) doctypep->notations; - if (notationht) { - if ((htsize = xmlHashSize(notationht)) > 0) { - iter = emalloc(sizeof(nodeIterator)); - while (index < htsize) { - iter->cur = 0; - iter->index = index; - iter->notation = NULL; - xmlHashScan(notationht, itemHashScanner, iter); - index++; - notep = iter->notation; - if (notep != NULL) { - zval *child; - nodep = create_notation(notep->name, notep->PublicID, notep->SystemID); - MAKE_STD_ZVAL(child); - child = php_dom_create_object(nodep, &ret, NULL, child, obj TSRMLS_CC); - add_assoc_zval(*retval, (char *) nodep->name, child); - } - } - efree(iter); - } - } - return SUCCESS; -} - -/* }}} */ - - - -/* {{{ proto public_id string -readonly=yes -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-Core-DocType-publicId -Since: DOM Level 2 -*/ -int dom_documenttype_public_id_read(dom_object *obj, zval **retval TSRMLS_DC) -{ - xmlDtdPtr dtdptr; - - dtdptr = (xmlDtdPtr) dom_object_get_node(obj); - - ALLOC_ZVAL(*retval); - if (dtdptr->ExternalID) { - ZVAL_STRING(*retval, (char *) (dtdptr->ExternalID), 1); - } else { - ZVAL_EMPTY_STRING(*retval); - } - return SUCCESS; - -} - -/* }}} */ - - - -/* {{{ proto system_id string -readonly=yes -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-Core-DocType-systemId -Since: DOM Level 2 -*/ -int dom_documenttype_system_id_read(dom_object *obj, zval **retval TSRMLS_DC) -{ - xmlDtdPtr dtdptr; - - dtdptr = (xmlDtdPtr) dom_object_get_node(obj); - - ALLOC_ZVAL(*retval); - if (dtdptr->SystemID) { - ZVAL_STRING(*retval, (char *) (dtdptr->ExternalID), 1); - } else { - ZVAL_EMPTY_STRING(*retval); - } - return SUCCESS; -} - -/* }}} */ - - - -/* {{{ proto internal_subset string -readonly=yes -URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-Core-DocType-internalSubset -Since: DOM Level 2 -*/ -int dom_documenttype_internal_subset_read(dom_object *obj, zval **retval TSRMLS_DC) -{ - - xmlDtdPtr dtdptr; - xmlDtd *intsubset; - xmlOutputBuffer *buff = NULL; - xmlChar *strintsubset; - - dtdptr = (xmlDtdPtr) dom_object_get_node(obj); - - ALLOC_ZVAL(*retval); - - if (dtdptr->doc != NULL && ((intsubset = dtdptr->doc->intSubset) != NULL)) { - buff = xmlAllocOutputBuffer(NULL); - if (buff != NULL) { - xmlNodeDumpOutput (buff, NULL, (xmlNodePtr) intsubset, 0, 0, NULL); - xmlOutputBufferFlush(buff); - strintsubset = xmlStrndup(buff->buffer->content, buff->buffer->use); - (void)xmlOutputBufferClose(buff); - ZVAL_STRING(*retval, (char *) strintsubset, 1); - return SUCCESS; - } - } - - ZVAL_EMPTY_STRING(*retval); - - return SUCCESS; - -} - -/* }}} */ - - |