summaryrefslogtreecommitdiff
path: root/ext/xml/tests/xml_set_processing_instruction_handler_basic.phpt
blob: d38085d26c0367409c61c6b7a2979f2c3a875819 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
--TEST--
Test xml_set_processing_instruction_handler function : basic
--SKIPIF--
<?php
if (!extension_loaded("xml")) {
	print "skip - XML extension not loaded";
}
?>
--FILE--
<?php
/* Prototype  : proto bool xml_set_processing_instruction_handler  ( resource $parser  , callback $handler  )
 * Description: Sets the processing instruction (PI) handler function for the XML parser.
 * Source code: ext/xml/xml.c
 * Alias to functions:
 */

class XML_Parser
{

    function PIHandler($parser, $target, $data)
	{
		echo "Target: " . $target. "\n";
		echo "Data: " . $data . "\n";
	}

    function parse($data)
    {
        $parser = xml_parser_create();
        xml_set_object($parser, $this);
        xml_set_processing_instruction_handler($parser, "PIHandler");
        xml_parse($parser, $data, true);
        xml_parser_free($parser);
    }


}

$xml = <<<HERE
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl" type="text/xml"?>
HERE;

echo "Simple test of xml_set_processing_instruction_handler() function\n";
$p1 = new Xml_Parser();
$p1->parse($xml);
echo "Done\n";
?>
--EXPECT--
Simple test of xml_set_processing_instruction_handler() function
Target: xml-stylesheet
Data: href="default.xsl" type="text/xml"
Done