summaryrefslogtreecommitdiff
path: root/ext/dom/php_dom.h
diff options
context:
space:
mode:
authorRob Richards <rrichards@php.net>2003-11-29 20:40:18 +0000
committerRob Richards <rrichards@php.net>2003-11-29 20:40:18 +0000
commit6ac34646acf2f7088614c6c778b17e839e1bf161 (patch)
treed91c6fd9a959fa366f9d798e0cceb1ab42d957b4 /ext/dom/php_dom.h
parent154db581aead2c17314d300c076d57d917d93b9e (diff)
downloadphp-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.h28
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);