Browse Source

added new method SimpleXMLElement->registerNamespace(string prefix, string uri)

"registers a prefix <-> namespaceURI combination for use in a later xpath query. "
PHP-5.1
Christian Stocker 22 years ago
parent
commit
0b244def73
  1. 1
      NEWS
  2. 24
      ext/simplexml/simplexml.c

1
NEWS

@ -13,6 +13,7 @@ PHP NEWS
. array_intersect_ukey() (Christiano Duarte) . array_intersect_ukey() (Christiano Duarte)
. stream_context_get_default() (Wez) . stream_context_get_default() (Wez)
. stream_socket_enable_crypto() (Wez) . stream_socket_enable_crypto() (Wez)
. SimpleXMLElement->registerNamespace() (Christian)
- PHP will now respect extension dependencies when initializing. (Wez) - PHP will now respect extension dependencies when initializing. (Wez)
- Added Cursor support for MySQL 5.0.x in mysqli (Georg) - Added Cursor support for MySQL 5.0.x in mysqli (Georg)
- Added proxy support to ftp wrapper via http. (Sara) - Added proxy support to ftp wrapper via http. (Sara)

24
ext/simplexml/simplexml.c

@ -843,6 +843,29 @@ SXE_METHOD(xpath)
xmlXPathFreeObject(retval); xmlXPathFreeObject(retval);
} }
SXE_METHOD(registerNamespace)
{
php_sxe_object *sxe;
zval *id;
int prefix_len, ns_uri_len;
char *prefix, *ns_uri;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &prefix, &prefix_len, &ns_uri, &ns_uri_len) == FAILURE) {
return;
}
sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
if (!sxe->xpath) {
sxe->xpath = xmlXPathNewContext((xmlDocPtr) sxe->document->ptr);
}
if (xmlXPathRegisterNs(sxe->xpath, prefix, ns_uri) != 0) {
RETURN_FALSE
}
RETURN_TRUE;
}
/* }}} */ /* }}} */
/* {{{ proto asXML([string filename]) /* {{{ proto asXML([string filename])
@ -1604,6 +1627,7 @@ static zend_function_entry sxe_functions[] = {
SXE_ME(__construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) /* must be called */ SXE_ME(__construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) /* must be called */
SXE_ME(asXML, NULL, ZEND_ACC_PUBLIC) SXE_ME(asXML, NULL, ZEND_ACC_PUBLIC)
SXE_ME(xpath, NULL, ZEND_ACC_PUBLIC) SXE_ME(xpath, NULL, ZEND_ACC_PUBLIC)
SXE_ME(registerNamespace, NULL, ZEND_ACC_PUBLIC)
SXE_ME(attributes, NULL, ZEND_ACC_PUBLIC) SXE_ME(attributes, NULL, ZEND_ACC_PUBLIC)
SXE_ME(children, NULL, ZEND_ACC_PUBLIC) SXE_ME(children, NULL, ZEND_ACC_PUBLIC)
{NULL, NULL, NULL} {NULL, NULL, NULL}

Loading…
Cancel
Save