Annotation of embedaddon/php/ext/dom/tests/dom001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test 1: Accessing single node
3: --SKIPIF--
4: <?php require_once('skipif.inc'); ?>
5: --FILE--
6: <?php
7: require_once("dom_test.inc");
8:
9: echo "Test 1: accessing single nodes from php\n";
10: $dom = new domDocument;
11: $dom->loadxml($xmlstr);
12: if(!$dom) {
13: echo "Error while parsing the document\n";
14: exit;
15: }
16:
17: // children() of of document would result in a memleak
18: //$children = $dom->children();
19: //print_node_list($children);
20:
21: echo "--------- root\n";
22: $rootnode = $dom->documentElement;
23: print_node($rootnode);
24:
25: echo "--------- children of root\n";
26: $children = $rootnode->childNodes;
27: print_node_list($children);
28:
29: // The last node should be identical with the last entry in the children array
30: echo "--------- last\n";
31: $last = $rootnode->lastChild;
32: print_node($last);
33:
34: // The parent of this last node is the root again
35: echo "--------- parent\n";
36: $parent = $last->parentNode;
37: print_node($parent);
38:
39: // The children of this parent are the same children as one above
40: echo "--------- children of parent\n";
41: $children = $parent->childNodes;
42: print_node_list($children);
43:
44: echo "--------- creating a new attribute\n";
45: //This is worthless
46: //$attr = $dom->createAttribute("src", "picture.gif");
47: //print_r($attr);
48:
49: //$rootnode->set_attributeNode($attr);
50: $attr = $rootnode->setAttribute("src", "picture.gif");
51: $attr = $rootnode->getAttribute("src");
52: print_r($attr);
53: print "\n";
54:
55: echo "--------- Get Attribute Node\n";
56: $attr = $rootnode->getAttributeNode("src");
57: print_node($attr);
58:
59: echo "--------- Remove Attribute Node\n";
60: $attr = $rootnode->removeAttribute("src");
61: print "Removed " . $attr . " attributes.\n";
62:
63: echo "--------- attributes of rootnode\n";
64: $attrs = $rootnode->attributes;
65: print_node_list($attrs);
66:
67: echo "--------- children of an attribute\n";
68: $children = $attrs->item(0)->childNodes;
69: print_node_list($children);
70:
71: echo "--------- Add child to root\n";
72: $myelement = new domElement("Silly", "Symphony");
73: $newchild = $rootnode->appendChild($myelement);
74: print_node($newchild);
75: print $dom->saveXML();
76: print "\n";
77:
78: echo "--------- Find element by tagname\n";
79: echo " Using dom\n";
80: $children = $dom->getElementsByTagname("Silly");
81: print_node_list($children);
82:
83: echo " Using elem\n";
84: $children = $rootnode->getElementsByTagName("Silly");
85: print_node_list($children);
86:
87: echo "--------- Unlink Node\n";
88: print_node($children->item(0));
89: $rootnode->removeChild($children->item(0));
90: print_node_list($rootnode->childNodes);
91: print $dom->savexml();
92:
93: echo "--------- Find element by id\n";
94: print ("Not implemented\n");
95:
96: echo "--------- Check various node_name return values\n";
97: print ("Not needed\n");
98:
99: ?>
100: --EXPECT--
101: Test 1: accessing single nodes from php
102: --------- root
103: Node Name: chapter
104: Node Type: 1
105: Num Children: 4
106:
107: --------- children of root
108: Node Name: title
109: Node Type: 1
110: Num Children: 1
111: Node Content: Title
112:
113: Node Name: #text
114: Node Type: 3
115: Num Children: 0
116: Node Content:
117:
118:
119: Node Name: para
120: Node Type: 1
121: Num Children: 7
122:
123: Node Name: #text
124: Node Type: 3
125: Num Children: 0
126: Node Content:
127:
128:
129: --------- last
130: Node Name: #text
131: Node Type: 3
132: Num Children: 0
133: Node Content:
134:
135:
136: --------- parent
137: Node Name: chapter
138: Node Type: 1
139: Num Children: 4
140:
141: --------- children of parent
142: Node Name: title
143: Node Type: 1
144: Num Children: 1
145: Node Content: Title
146:
147: Node Name: #text
148: Node Type: 3
149: Num Children: 0
150: Node Content:
151:
152:
153: Node Name: para
154: Node Type: 1
155: Num Children: 7
156:
157: Node Name: #text
158: Node Type: 3
159: Num Children: 0
160: Node Content:
161:
162:
163: --------- creating a new attribute
164: picture.gif
165: --------- Get Attribute Node
166: Node Name: src
167: Node Type: 2
168: Num Children: 1
169: Node Content: picture.gif
170:
171: --------- Remove Attribute Node
172: Removed 1 attributes.
173: --------- attributes of rootnode
174: Node Name: language
175: Node Type: 2
176: Num Children: 1
177: Node Content: en
178:
179: --------- children of an attribute
180: Node Name: #text
181: Node Type: 3
182: Num Children: 0
183: Node Content: en
184:
185: --------- Add child to root
186: Node Name: Silly
187: Node Type: 1
188: Num Children: 1
189: Node Content: Symphony
190:
191: <?xml version="1.0" standalone="yes"?>
192: <!DOCTYPE chapter SYSTEM "/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd" [
193: <!ENTITY sp "spanish">
194: ]>
195: <!-- lsfj -->
196: <chapter language="en"><title language="en">Title</title>
197: <para language="ge">
198: &sp;
199: <!-- comment -->
200: <informaltable language="&sp;kkk">
201: <tgroup cols="3">
202: <tbody>
203: <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
204: <row><entry>a2</entry><entry>c2</entry></row>
205: <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
206: </tbody>
207: </tgroup>
208: </informaltable>
209: </para>
210: <Silly>Symphony</Silly></chapter>
211:
212: --------- Find element by tagname
213: Using dom
214: Node Name: Silly
215: Node Type: 1
216: Num Children: 1
217: Node Content: Symphony
218:
219: Using elem
220: Node Name: Silly
221: Node Type: 1
222: Num Children: 1
223: Node Content: Symphony
224:
225: --------- Unlink Node
226: Node Name: Silly
227: Node Type: 1
228: Num Children: 1
229: Node Content: Symphony
230:
231: Node Name: title
232: Node Type: 1
233: Num Children: 1
234: Node Content: Title
235:
236: Node Name: #text
237: Node Type: 3
238: Num Children: 0
239: Node Content:
240:
241:
242: Node Name: para
243: Node Type: 1
244: Num Children: 7
245:
246: Node Name: #text
247: Node Type: 3
248: Num Children: 0
249: Node Content:
250:
251:
252: <?xml version="1.0" standalone="yes"?>
253: <!DOCTYPE chapter SYSTEM "/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd" [
254: <!ENTITY sp "spanish">
255: ]>
256: <!-- lsfj -->
257: <chapter language="en"><title language="en">Title</title>
258: <para language="ge">
259: &sp;
260: <!-- comment -->
261: <informaltable language="&sp;kkk">
262: <tgroup cols="3">
263: <tbody>
264: <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
265: <row><entry>a2</entry><entry>c2</entry></row>
266: <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
267: </tbody>
268: </tgroup>
269: </informaltable>
270: </para>
271: </chapter>
272: --------- Find element by id
273: Not implemented
274: --------- Check various node_name return values
275: Not needed
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>