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>