Annotation of embedaddon/php/ext/dom/tests/domelement.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Elements: DOMElement functionality
3: --SKIPIF--
4: <?php require_once('skipif.inc'); ?>
5: --FILE--
6: <?php
7: require_once("dom_test.inc");
8:
9: $dom = new DOMDocument;
10: $dom->loadXML($xmlstr);
11: if(!$dom) {
12: echo "Error while parsing the document\n";
13: exit;
14: }
15:
16: $node = $dom->documentElement;
17: echo "Tag Name: ".$node->tagName."\n";
18:
19:
20: $node->setAttribute('num', '1');
21: echo "Chapter: ".$node->getAttribute('num')."\n";
22: echo 'Attribute num exists?: '.($node->hasAttribute('num')?'Yes':'No')."\n";
23: $node->removeAttribute('num');
24: echo "Chapter: ".$node->getAttribute('num')."\n";
25: echo 'Attribute num exists?: '.($node->hasAttribute('num')?'Yes':'No')."\n";
26:
27: echo "Language: ".$node->getAttribute('language')."\n";
28: $lang = $node->getAttributeNode('language');
29: $lang->nodeValue = 'en-US';
30: $node->setAttributeNode($lang);
31: echo "Language: ".$node->getAttribute('language')."\n";
32: $node->removeAttributeNode($lang);
33: echo "Language: ".$node->getAttribute('language')."\n";
34:
35: echo "\n-- xml:lang --\n";
36: $node->setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:lang', 'en');
37: echo "Language: ".$node->getAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang')."\n";
38: echo 'Attribute xml:lang exists?: '.($node->hasAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang')?'Yes':'No')."\n";
39:
40: $node->removeAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang');
41: echo "Language: ".$node->getAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang')."\n";
42: echo 'Attribute xml:lang exists?: '.($node->hasAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang')?'Yes':'No')."\n";
43:
44: $lang = $dom->createAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:lang');
45: $lang->nodeValue = 'en-GB';
46: $node->setAttributeNodeNS($lang);
47: unset($lang);
48: echo "Language: ".$node->getAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang')."\n";
49: $lang = $node->getAttributeNodeNS('http://www.w3.org/XML/1998/namespace', 'lang');
50: echo "Language: ".$lang->value."\n";
51:
52: echo "\n-- Elements --\n";
53: $rows = $node->getElementsByTagName('row');
54: echo "Row Count: ".$rows->length."\n";
55:
56: $element_ns = new DOMElement('newns:myelement', 'default content', 'urn::dummyns');
57: $node->appendChild($element_ns);
58: $element_ns = new DOMElement('newns2:myelement', 'second default content', 'urn::dummyns');
59: $node->appendChild($element_ns);
60:
61: $myelements = $node->getElementsByTagNameNS('urn::dummyns', 'myelement');
62: $mylen = $myelements->length;
63: echo "myelements Count: ".$mylen."\n";
64:
65: echo "\n-- IDs --\n";
66: $node->setAttribute('idatt', 'n1');
67: $node->setIdAttribute('idatt', TRUE);
68:
69: for ($x = 0; $x < $mylen; $x++) {
70: $current = $myelements->item($x);
71: $current->setAttributeNS('urn::dummyns', 'newns:idatt', 'n'.($x+2))."\n";
72: $current->setIdAttributeNS('urn::dummyns', 'idatt', TRUE);
73: }
74:
75: echo 'Element Name: '.(($elem = $dom->getElementByID('n1'))?$elem->localName:'Not Found')."\n";
76: $idatt = $node->getAttributeNode('idatt');
77: $node->setIdAttributeNode($idatt, FALSE);
78: echo 'Element Name: '.(($elem = $dom->getElementByID('n1'))?$elem->localName:'Not Found')."\n";
79:
80: echo 'Element Name: '.(($elem = $dom->getElementByID('n3'))?$elem->nodeName:'Not Found')."\n";
81: for ($x = 0; $x < $mylen; $x++) {
82: $node = $myelements->item($x);
83: $node->setIdAttributeNS('urn::dummyns', 'idatt', FALSE);
84: }
85: echo 'Element Name: '.(($elem = $dom->getElementByID('n3'))?$elem->nodeName:'Not Found')."\n";
86: ?>
87: --EXPECT--
88:
89: Tag Name: chapter
90: Chapter: 1
91: Attribute num exists?: Yes
92: Chapter:
93: Attribute num exists?: No
94: Language: en
95: Language: en-US
96: Language:
97:
98: -- xml:lang --
99: Language: en
100: Attribute xml:lang exists?: Yes
101: Language:
102: Attribute xml:lang exists?: No
103: Language: en-GB
104: Language: en-GB
105:
106: -- Elements --
107: Row Count: 3
108: myelements Count: 2
109:
110: -- IDs --
111: Element Name: chapter
112: Element Name: Not Found
113: Element Name: newns2:myelement
114: Element Name: Not Found
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>