rrichards Fri Sep 22 10:13:27 2006 UTC
Added files:
/php-src/ext/dom/tests domelement.phpt
Modified files:
/php-src/ext/dom element.c nodelist.c php_dom.c
Log:
mark functionality unicode safe
add test
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/element.c?r1=1.48&r2=1.49&diff_format=u
Index: php-src/ext/dom/element.c
diff -u php-src/ext/dom/element.c:1.48 php-src/ext/dom/element.c:1.49
--- php-src/ext/dom/element.c:1.48 Fri Sep 15 07:43:59 2006
+++ php-src/ext/dom/element.c Fri Sep 22 10:13:27 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: element.c,v 1.48 2006/09/15 07:43:59 tony2001 Exp $ */
+/* $Id: element.c,v 1.49 2006/09/22 10:13:27 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -58,7 +58,7 @@
{NULL, NULL, NULL}
};
-/* {{{ proto void DOMElement::__construct(string name, [string value], [string
uri]); */
+/* {{{ proto void DOMElement::__construct(string name, [string value], [string
uri]) U */
PHP_METHOD(domelement, __construct)
{
@@ -207,7 +207,7 @@
return xmlHasNsProp(elem, name, NULL);
}
-/* {{{ proto string dom_element_get_attribute(string name);
+/* {{{ proto string dom_element_get_attribute(string name) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-666EE0F9
Since:
*/
@@ -245,7 +245,7 @@
/* }}} end dom_element_get_attribute */
-/* {{{ proto void dom_element_set_attribute(string name, string value);
+/* {{{ proto void dom_element_set_attribute(string name, string value) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-F68F082
Since:
*/
@@ -290,7 +290,7 @@
/* }}} end dom_element_set_attribute */
-/* {{{ proto void dom_element_remove_attribute(string name);
+/* {{{ proto void dom_element_remove_attribute(string name) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-6D6AC0F9
Since:
*/
@@ -334,7 +334,7 @@
/* }}} end dom_element_remove_attribute */
-/* {{{ proto DOMAttr dom_element_get_attribute_node(string name);
+/* {{{ proto DOMAttr dom_element_get_attribute_node(string name) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-217A91B8
Since:
*/
@@ -363,7 +363,7 @@
/* }}} end dom_element_get_attribute_node */
-/* {{{ proto DOMAttr dom_element_set_attribute_node(DOMAttr newAttr);
+/* {{{ proto DOMAttr dom_element_set_attribute_node(DOMAttr newAttr) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-887236154
Since:
*/
@@ -426,7 +426,7 @@
/* }}} end dom_element_set_attribute_node */
-/* {{{ proto DOMAttr dom_element_remove_attribute_node(DOMAttr oldAttr);
+/* {{{ proto DOMAttr dom_element_remove_attribute_node(DOMAttr oldAttr) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-D589198
Since:
*/
@@ -464,7 +464,7 @@
/* }}} end dom_element_remove_attribute_node */
-/* {{{ proto DOMNodeList dom_element_get_elements_by_tag_name(string name);
+/* {{{ proto DOMNodeList dom_element_get_elements_by_tag_name(string name) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1938918D
Since:
*/
@@ -491,7 +491,7 @@
/* }}} end dom_element_get_elements_by_tag_name */
-/* {{{ proto string dom_element_get_attribute_ns(string namespaceURI, string
localName);
+/* {{{ proto string dom_element_get_attribute_ns(string namespaceURI, string
localName) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElGetAttrNS
Since: DOM Level 2
*/
@@ -568,7 +568,7 @@
return(def);
}
-/* {{{ proto void dom_element_set_attribute_ns(string namespaceURI, string
qualifiedName, string value);
+/* {{{ proto void dom_element_set_attribute_ns(string namespaceURI, string
qualifiedName, string value) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetAttrNS
Since: DOM Level 2
*/
@@ -679,7 +679,7 @@
/* }}} end dom_element_set_attribute_ns */
-/* {{{ proto void dom_element_remove_attribute_ns(string namespaceURI, string
localName);
+/* {{{ proto void dom_element_remove_attribute_ns(string namespaceURI, string
localName) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElRemAtNS
Since: DOM Level 2
*/
@@ -737,7 +737,7 @@
/* }}} end dom_element_remove_attribute_ns */
-/* {{{ proto DOMAttr dom_element_get_attribute_node_ns(string namespaceURI,
string localName);
+/* {{{ proto DOMAttr dom_element_get_attribute_node_ns(string namespaceURI,
string localName) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElGetAtNodeNS
Since: DOM Level 2
*/
@@ -768,7 +768,7 @@
/* }}} end dom_element_get_attribute_node_ns */
-/* {{{ proto DOMAttr dom_element_set_attribute_node_ns(DOMAttr newAttr);
+/* {{{ proto DOMAttr dom_element_set_attribute_node_ns(DOMAttr newAttr) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetAtNodeNS
Since: DOM Level 2
*/
@@ -839,7 +839,7 @@
-/* {{{ proto DOMNodeList dom_element_get_elements_by_tag_name_ns(string
namespaceURI, string localName);
+/* {{{ proto DOMNodeList dom_element_get_elements_by_tag_name_ns(string
namespaceURI, string localName) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-A6C90942
Since: DOM Level 2
*/
@@ -868,7 +868,7 @@
/* }}} end dom_element_get_elements_by_tag_name_ns */
-/* {{{ proto boolean dom_element_has_attribute(string name);
+/* {{{ proto boolean dom_element_has_attribute(string name) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElHasAttr
Since: DOM Level 2
*/
@@ -897,7 +897,7 @@
/* }}} end dom_element_has_attribute */
-/* {{{ proto boolean dom_element_has_attribute_ns(string namespaceURI, string
localName);
+/* {{{ proto boolean dom_element_has_attribute_ns(string namespaceURI, string
localName) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElHasAttrNS
Since: DOM Level 2
*/
@@ -953,7 +953,7 @@
}
}
-/* {{{ proto void dom_element_set_id_attribute(string name, boolean isId);
+/* {{{ proto void dom_element_set_id_attribute(string name, boolean isId) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetIdAttr
Since: DOM Level 3
*/
@@ -990,7 +990,7 @@
/* }}} end dom_element_set_id_attribute */
-/* {{{ proto void dom_element_set_id_attribute_ns(string namespaceURI, string
localName, boolean isId);
+/* {{{ proto void dom_element_set_id_attribute_ns(string namespaceURI, string
localName, boolean isId) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetIdAttrNS
Since: DOM Level 3
*/
@@ -1027,7 +1027,7 @@
/* }}} end dom_element_set_id_attribute_ns */
-/* {{{ proto void dom_element_set_id_attribute_node(attr idAttr, boolean isId);
+/* {{{ proto void dom_element_set_id_attribute_node(attr idAttr, boolean isId)
U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-ElSetIdAttrNode
Since: DOM Level 3
*/
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/nodelist.c?r1=1.22&r2=1.23&diff_format=u
Index: php-src/ext/dom/nodelist.c
diff -u php-src/ext/dom/nodelist.c:1.22 php-src/ext/dom/nodelist.c:1.23
--- php-src/ext/dom/nodelist.c:1.22 Sun Aug 13 15:03:19 2006
+++ php-src/ext/dom/nodelist.c Fri Sep 22 10:13:27 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: nodelist.c,v 1.22 2006/08/13 15:03:19 iliaa Exp $ */
+/* $Id: nodelist.c,v 1.23 2006/09/22 10:13:27 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -93,7 +93,7 @@
/* }}} */
-/* {{{ proto DOMNode dom_nodelist_item(int index);
+/* {{{ proto DOMNode dom_nodelist_item(int index) U
URL:
http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-844377136
Since:
*/
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/php_dom.c?r1=1.98&r2=1.99&diff_format=u
Index: php-src/ext/dom/php_dom.c
diff -u php-src/ext/dom/php_dom.c:1.98 php-src/ext/dom/php_dom.c:1.99
--- php-src/ext/dom/php_dom.c:1.98 Thu Sep 21 11:53:58 2006
+++ php-src/ext/dom/php_dom.c Fri Sep 22 10:13:27 2006
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_dom.c,v 1.98 2006/09/21 11:53:58 rrichards Exp $ */
+/* $Id: php_dom.c,v 1.99 2006/09/22 10:13:27 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -414,7 +414,7 @@
return nodep;
}
-/* {{{ proto somNode dom_import_simplexml(sxeobject node)
+/* {{{ proto somNode dom_import_simplexml(sxeobject node) U
Get a simplexml_element object from dom to allow for processing */
PHP_FUNCTION(dom_import_simplexml)
{
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/domelement.phpt?view=markup&rev=1.1
Index: php-src/ext/dom/tests/domelement.phpt
+++ php-src/ext/dom/tests/domelement.phpt
--TEST--
Elements: DOMElement functionality
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
require_once("dom_test.inc");
$dom = new DOMDocument;
$dom->loadXML($xmlstr);
if(!$dom) {
echo "Error while parsing the document\n";
exit;
}
$node = $dom->documentElement;
echo "Tag Name: ".$node->tagName."\n";
$node->setAttribute('num', '1');
echo "Chapter: ".$node->getAttribute('num')."\n";
echo 'Attribute num exists?: '.($node->hasAttribute('num')?'Yes':'No')."\n";
$node->removeAttribute('num');
echo "Chapter: ".$node->getAttribute('num')."\n";
echo 'Attribute num exists?: '.($node->hasAttribute('num')?'Yes':'No')."\n";
echo "Language: ".$node->getAttribute('language')."\n";
$lang = $node->getAttributeNode('language');
$lang->nodeValue = 'en-US';
$node->setAttributeNode($lang);
echo "Language: ".$node->getAttribute('language')."\n";
$node->removeAttributeNode($lang);
echo "Language: ".$node->getAttribute('language')."\n";
echo "\n-- xml:lang --\n";
$node->setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:lang', 'en');
echo "Language: ".$node->getAttributeNS('http://www.w3.org/XML/1998/namespace',
'lang')."\n";
echo 'Attribute xml:lang exists?:
'.($node->hasAttributeNS('http://www.w3.org/XML/1998/namespace',
'lang')?'Yes':'No')."\n";
$node->removeAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang');
echo "Language: ".$node->getAttributeNS('http://www.w3.org/XML/1998/namespace',
'lang')."\n";
echo 'Attribute xml:lang exists?:
'.($node->hasAttributeNS('http://www.w3.org/XML/1998/namespace',
'lang')?'Yes':'No')."\n";
$lang = $dom->createAttributeNS('http://www.w3.org/XML/1998/namespace',
'xml:lang');
$lang->nodeValue = 'en-GB';
$node->setAttributeNodeNS($lang);
unset($lang);
echo "Language: ".$node->getAttributeNS('http://www.w3.org/XML/1998/namespace',
'lang')."\n";
$lang = $node->getAttributeNodeNS('http://www.w3.org/XML/1998/namespace',
'lang');
echo "Language: ".$lang->value."\n";
echo "\n-- Elements --\n";
$rows = $node->getElementsByTagName('row');
echo "Row Count: ".$rows->length."\n";
$element_ns = new DOMElement('newns:myelement', 'default content',
'urn::dummyns');
$node->appendChild($element_ns);
$element_ns = new DOMElement('newns2:myelement', 'second default content',
'urn::dummyns');
$node->appendChild($element_ns);
$myelements = $node->getElementsByTagNameNS('urn::dummyns', 'myelement');
$mylen = $myelements->length;
echo "myelements Count: ".$mylen."\n";
echo "\n-- IDs --\n";
$node->setAttribute('idatt', 'n1');
$node->setIdAttribute('idatt', TRUE);
for ($x = 0; $x < $mylen; $x++) {
$current = $myelements->item($x);
$current->setAttributeNS('urn::dummyns', 'newns:idatt',
'n'.($x+2))."\n";
$current->setIdAttributeNS('urn::dummyns', 'idatt', TRUE);
}
echo 'Element Name: '.(($elem =
$dom->getElementByID('n1'))?$elem->localName:'Not Found')."\n";
$idatt = $node->getAttributeNode('idatt');
$node->setIdAttributeNode($idatt, FALSE);
echo 'Element Name: '.(($elem =
$dom->getElementByID('n1'))?$elem->localName:'Not Found')."\n";
echo 'Element Name: '.(($elem =
$dom->getElementByID('n3'))?$elem->nodeName:'Not Found')."\n";
for ($x = 0; $x < $mylen; $x++) {
$node = $myelements->item($x);
$node->setIdAttributeNS('urn::dummyns', 'idatt', FALSE);
}
echo 'Element Name: '.(($elem =
$dom->getElementByID('n3'))?$elem->nodeName:'Not Found')."\n";
?>
--EXPECT--
Tag Name: chapter
Chapter: 1
Attribute num exists?: Yes
Chapter:
Attribute num exists?: No
Language: en
Language: en-US
Language:
-- xml:lang --
Language: en
Attribute xml:lang exists?: Yes
Language:
Attribute xml:lang exists?: No
Language: en-GB
Language: en-GB
-- Elements --
Row Count: 3
myelements Count: 2
-- IDs --
Element Name: chapter
Element Name: Not Found
Element Name: newns2:myelement
Element Name: Not Found
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php