diff options
author | Rob Richards <rrichards@php.net> | 2003-11-29 20:40:18 +0000 |
---|---|---|
committer | Rob Richards <rrichards@php.net> | 2003-11-29 20:40:18 +0000 |
commit | 6ac34646acf2f7088614c6c778b17e839e1bf161 (patch) | |
tree | d91c6fd9a959fa366f9d798e0cceb1ab42d957b4 /ext/dom/php_dom.h | |
parent | 154db581aead2c17314d300c076d57d917d93b9e (diff) | |
download | php-git-6ac34646acf2f7088614c6c778b17e839e1bf161.tar.gz |
implement namednodemap and nodelist
fix xsl/dom integration under windows
update tests and examples
Diffstat (limited to 'ext/dom/php_dom.h')
-rw-r--r-- | ext/dom/php_dom.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/ext/dom/php_dom.h b/ext/dom/php_dom.h index 6c400d1754..ea99413d20 100644 --- a/ext/dom/php_dom.h +++ b/ext/dom/php_dom.h @@ -61,13 +61,28 @@ extern zend_module_entry dom_module_entry; therefore it's easier for the script-programmers to check, what's working how Can be checked with phpversion("dom"); */ -#define DOM_API_VERSION "20030901" +#define DOM_API_VERSION "20031129" + +typedef struct _dom_nnodemap_object { + dom_object *baseobj; + int nodetype; + xmlHashTable *ht; + xmlChar *local; + xmlChar *ns; + zval *baseobjptr; +} dom_nnodemap_object; + +typedef struct { + zend_object_iterator intern; + zval *curobj; +} php_dom_iterator; #include "dom_fe.h" dom_object *dom_object_get_data(xmlNodePtr obj); dom_doc_propsptr dom_get_doc_props(php_libxml_ref_obj *document); zend_object_value dom_objects_new(zend_class_entry *class_type TSRMLS_DC); +zend_object_value dom_nnodemap_objects_new(zend_class_entry *class_type TSRMLS_DC); #if defined(LIBXML_XPATH_ENABLED) zend_object_value dom_xpath_objects_new(zend_class_entry *class_type TSRMLS_DC); #endif @@ -79,12 +94,18 @@ xmlNsPtr dom_get_ns(xmlNodePtr node, char *uri, int *errorcode, char *prefix); void dom_set_old_ns(xmlDoc *doc, xmlNs *ns); xmlNsPtr dom_get_nsdecl(xmlNode *node, xmlChar *localName); void dom_normalize (xmlNodePtr nodep TSRMLS_DC); -void dom_get_elements_by_tag_name_ns_raw(xmlNodePtr nodep, char *ns, char *local, zval **retval, dom_object *intern TSRMLS_DC); +xmlNode *dom_get_elements_by_tag_name_ns_raw(xmlNodePtr nodep, char *ns, char *local, int *cur, int index); void php_dom_create_implementation(zval **retval TSRMLS_DC); int dom_hierarchy(xmlNodePtr parent, xmlNodePtr child); int dom_has_feature(char *feature, char *version); int dom_node_is_read_only(xmlNodePtr node); int dom_node_children_valid(xmlNodePtr node); +void php_dom_create_interator(zval *return_value, int ce_type TSRMLS_DC); +void dom_namednode_iter(dom_object *basenode, int ntype, dom_object *intern, xmlHashTablePtr ht, xmlChar *local, xmlChar *ns); +xmlNodePtr create_notation(const xmlChar *name, const xmlChar *ExternalID, const xmlChar *SystemID); +xmlNode *php_dom_libxml_hash_iter(xmlHashTable *ht, int index); +xmlNode *php_dom_libxml_notation_iter(xmlHashTable *ht, int index); +zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object TSRMLS_DC); #define REGISTER_DOM_CLASS(ce, name, parent_ce, funcs, entry) \ INIT_CLASS_ENTRY(ce, name, funcs); \ @@ -109,6 +130,9 @@ entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC); php_error_docref(NULL TSRMLS_CC, E_WARNING, "Not yet implemented"); \ return; +#define DOM_NODELIST 0 +#define DOM_NAMEDNODEMAP 1 + PHP_MINIT_FUNCTION(dom); PHP_MSHUTDOWN_FUNCTION(dom); PHP_MINFO_FUNCTION(dom); |