$testdoc->xmd_set_attribute(0, 'owner', 'rene'); $testdoc->xmd_add_text('text in my first child element', $sometag1); showDoc('Small XML document'); $sometag2 = $testdoc->xmd_add_element('sometag', 0, array('x' => 'somevalue')); $testdoc->xmd_add_text('bizarre <text> in "my& 2nd child', $sometag2); $testdoc->xmd_add_text(' + more text in first one', $sometag1); $testdoc->xmd_set_attribute($sometag2, 'owner', '<c&a">'); $testdoc->xmd_add_element('innertag', $sometag2); showDoc('Slightly changed'); showDoc('All text', $testdoc->xmd_text()); $stuff = ''; foreach ($testdoc->xmd_get_element($sometag2) as $key => $value) { $stuff .= $key . ': ' . $value . "\n"; } showDoc('Children, attributes, name and parent of 2nd sometag', $stuff); $testdoc->xmd_remove_nodes('text in my first child element', $sometag1); // note: remove text may remove more than one node... $testdoc->xmd_set_attribute(0, 'owner', 'haentjens'); // new value showDoc('Text removed from 1st sometag, docroot owner changed'); $testdoc->xmd_remove_element($sometag2); $sometag2 = $testdoc->xmd_add_text_element('��', 'alors!'); showDoc('2nd sometag replaced by new subelement with French name'); $testdoc->name[$sometag2] = 'sometag'; // properties are read/write $testdoc->xmd_set_attribute($sometag2, 'xmlns:tn', 'urn:ugent-be'); // namesp def $subtag = $testdoc->xmd_add_element('urn:ugent-be:subtag', $sometag2); $testdoc->xmd_set_attribute($sometag2, 'urn:ugent-be:owner', 'FTW'); showDoc('French name replaced, namespace definition added and used'); $testdoc->xmd_set_attribute($sometag1, 'urn:ugent-be:owner', 'FTW');