{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)
{
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:
*/
/* }}} 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:
*/
/* }}} 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:
*/
/* }}} 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:
*/
/* }}} 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:
*/
/* }}} 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:
*/
/* }}} 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:
*/
/* }}} 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
*/
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
*/
/* }}} 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
*/
/* }}} 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
*/
/* }}} 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
*/
-/* {{{ 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
*/
/* }}} 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
*/
/* }}} 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
*/
}
}
-/* {{{ 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
*/
/* }}} 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
*/
/* }}} 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
*/
--- /dev/null
+--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