summaryrefslogtreecommitdiff
path: root/ext/xml/tests/xml010.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xml/tests/xml010.phpt')
-rw-r--r--ext/xml/tests/xml010.phpt39
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/xml/tests/xml010.phpt b/ext/xml/tests/xml010.phpt
new file mode 100644
index 0000000..e968442
--- /dev/null
+++ b/ext/xml/tests/xml010.phpt
@@ -0,0 +1,39 @@
+--TEST--
+XML parser test, attributes
+--SKIPIF--
+<?php
+require_once("skipif.inc");
+if (! @xml_parser_create_ns('ISO-8859-1')) { die("skip xml_parser_create_ns is not supported on this plattform");}
+?>
+--FILE--
+<?php
+function start_elem($parser,$name,$attribs) {
+ print "$name ";
+
+ foreach($attribs as $key => $value) {
+ print "$key = $value ";
+ }
+ print "\n";
+}
+function end_elem()
+{
+}
+
+$xml = <<<HERE
+<a xmlns="http://example.com/foo"
+ xmlns:bar="http://example.com/bar">
+ <bar:b foo="bar"/>
+ <bar:c bar:nix="null" foo="bar"/>
+</a>
+HERE;
+
+$parser = xml_parser_create_ns("ISO-8859-1","@");
+xml_set_element_handler($parser,'start_elem','end_elem');
+xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
+xml_parse($parser, $xml);
+xml_parser_free($parser);
+?>
+--EXPECT--
+http://example.com/foo@a
+http://example.com/bar@b foo = bar
+http://example.com/bar@c http://example.com/bar@nix = null foo = bar