Annotation of embedaddon/php/ext/dom/tests/domelement.phpt, revision 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>