--TEST-- XML parser test, function callbacks --EXTENSIONS-- xml --SKIPIF-- --FILE-- $v) { print " $k=\"$v\""; } } print '}'; } function endElement($parser, $name) { print '{/'.$name.'}'; } function characterData($parser, $data) { print '{CDATA['.$data.']}'; } function PIHandler($parser, $target, $data) { print '{PI['.$target.','.$data.']}'; } function defaultHandler($parser, $data) { if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") { print '{ENTREF['.$data.']}'; } else { print '{?['.$data.']}'; } } function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId, $publicId) { print '{EXTENTREF['.$openEntityNames.','.$base.','.$systemId.','.$publicId."]}\n"; return true; } ?> --EXPECT-- {?[]}{?[ ]}{?[]}{?[ ]}{?[%incent;]}{?[ ]}{?[]]}{?[>]}{?[ ]}{ROOT ID="elem1"}{CDATA[ ]}{CDATA[ Plain text.]}{CDATA[ ]}{CDATA[ ]}{ELEM1}{CDATA[ ]}{CDATA[ ]}{?[]}{CDATA[ ]}{CDATA[ ]}{ELEM2}{CDATA[ ]}{CDATA[ ]}{?[]}{CDATA[ ]}{CDATA[ ]}{ELEM3}{CDATA[ ]}{CDATA[ ]}{ENTREF[&included-entity;]}{CDATA[ ]}{CDATA[ ]}{ELEM4}{CDATA[ ]}{CDATA[ ]}{PI[test,processing instruction ]}{CDATA[ ]}{CDATA[ ]}{/ELEM4}{CDATA[ ]}{CDATA[ ]}{/ELEM3}{CDATA[ ]}{CDATA[ ]}{/ELEM2}{CDATA[ ]}{CDATA[ ]}{/ELEM1}{CDATA[ ]}{/ROOT}{?[ ]}parse complete