Annotation of embedaddon/php/ext/xml/tests/xml_set_notation_decl_handler_basic.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test xml_set_notation_decl_handler function : basic 
        !             3: --SKIPIF--
        !             4: <?php 
        !             5: if (!extension_loaded("xml")) {
        !             6:        print "skip - XML extension not loaded"; 
        !             7: }       
        !             8: ?>
        !             9: --FILE--
        !            10: <?php
        !            11: /* Prototype  : proto bool xml_set_notation_decl_handler  ( resource $parser  , callback $handler  )
        !            12:  * Description: Sets the notation declaration handler function for the XML parser.
        !            13:  * Source code: ext/xml/xml.c
        !            14:  * Alias to functions: 
        !            15:  */
        !            16: 
        !            17: class XML_Parser
        !            18: {
        !            19: 
        !            20:     function unparsed_entity_decl_handler($parser, $entity_name, $base, $system_ID, $public_ID, $notation_name)
        !            21:        {
        !            22:                echo "unparsed_entity_decl_handler called\n";
        !            23:                echo "...Entity name=" . $entity_name . "\n";
        !            24:                echo "...Base=" . $base . "\n";
        !            25:                echo "...System ID=" . $system_ID . "\n";
        !            26:                echo "...Public ID=" . $public_ID . "\n";
        !            27:                echo "...Notation name=" . $notation_name . "\n";
        !            28:        }
        !            29:        
        !            30:        function notation_decl_handler($parser, $name, $base, $system_ID,$public_ID)
        !            31:        {
        !            32:                echo "notation_decl_handler called\n"; 
        !            33:                echo "...Name=" . $name . "\n";
        !            34:                echo "...Base=" . $base . "\n";
        !            35:                echo "...System ID=" . $system_ID . "\n";
        !            36:                echo "...Public ID=" . $public_ID . "\n";
        !            37:        }
        !            38:     
        !            39:     function parse($data)
        !            40:     {
        !            41:         $parser = xml_parser_create();
        !            42:         xml_set_object($parser, $this);
        !            43:         xml_set_notation_decl_handler($parser, "notation_decl_handler");
        !            44:         xml_set_unparsed_entity_decl_handler($parser, "unparsed_entity_decl_handler");
        !            45:         xml_parse($parser, $data, true);
        !            46:         xml_parser_free($parser);
        !            47:     }
        !            48: }
        !            49: 
        !            50: $xml = <<<HERE
        !            51: <?xml version="1.0"?>
        !            52: <!DOCTYPE dates [
        !            53:     <!NOTATION USDATE SYSTEM "http://www.schema.net/usdate.not">
        !            54:     <!NOTATION AUSDATE SYSTEM "http://www.schema.net/ausdate.not">
        !            55:     <!NOTATION ISODATE SYSTEM "http://www.schema.net/isodate.not">
        !            56:     <!ENTITY testUS  SYSTEM "test_usdate.xml" NDATA USDATE>
        !            57:        <!ENTITY testAUS SYSTEM "test_ausdate.xml" NDATA AUSDATE>
        !            58:        <!ENTITY testISO SYSTEM "test_isodate_xml" NDATA ISODATE>]>
        !            59: ]>
        !            60: HERE;
        !            61: 
        !            62: echo "Simple test of xml_set_notation_decl_handler(() function\n"; 
        !            63: $p1 = new Xml_Parser();
        !            64: $p1->parse($xml); 
        !            65: echo "Done\n"; 
        !            66: ?>
        !            67: --EXPECT--
        !            68: Simple test of xml_set_notation_decl_handler(() function
        !            69: notation_decl_handler called
        !            70: ...Name=USDATE
        !            71: ...Base=
        !            72: ...System ID=http://www.schema.net/usdate.not
        !            73: ...Public ID=
        !            74: notation_decl_handler called
        !            75: ...Name=AUSDATE
        !            76: ...Base=
        !            77: ...System ID=http://www.schema.net/ausdate.not
        !            78: ...Public ID=
        !            79: notation_decl_handler called
        !            80: ...Name=ISODATE
        !            81: ...Base=
        !            82: ...System ID=http://www.schema.net/isodate.not
        !            83: ...Public ID=
        !            84: unparsed_entity_decl_handler called
        !            85: ...Entity name=testUS
        !            86: ...Base=
        !            87: ...System ID=test_usdate.xml
        !            88: ...Public ID=
        !            89: ...Notation name=USDATE
        !            90: unparsed_entity_decl_handler called
        !            91: ...Entity name=testAUS
        !            92: ...Base=
        !            93: ...System ID=test_ausdate.xml
        !            94: ...Public ID=
        !            95: ...Notation name=AUSDATE
        !            96: unparsed_entity_decl_handler called
        !            97: ...Entity name=testISO
        !            98: ...Base=
        !            99: ...System ID=test_isodate_xml
        !           100: ...Public ID=
        !           101: ...Notation name=ISODATE
        !           102: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>