<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Dear,</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp; We are&nbsp;developing a 
PHP client&nbsp;for Jabber Server(Jabber.org). We would like your help in the 
following areas:</FONT></DIV>
<DIV><FONT face=Arial size=2>1) We are not able to read the XML streams returned 
from the Jabber Server.</FONT></DIV>
<DIV><FONT face=Arial size=2>2) We are unable to determine whether the 
connection has been established (With the stream specified in your manual is it 
neccessary to open a persistant connection with the jabber server)</FONT></DIV>
<DIV><FONT face=Arial size=2>3) Send us details about recieving XML Streams sent 
by the server to the client</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>We are attaching the code also:-</FONT></DIV>
<DIV><FONT face=Arial size=2>(File Jab11.php3)</FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;?php</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>$file = "c.xml";<BR>&nbsp;$fp = 
pfsockopen("etherx.jabber.org",5222); </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function 
trustedFile($file)<BR>{<BR>&nbsp;&nbsp;&nbsp; // only trust local files owned by 
ourselves<BR>&nbsp;&nbsp;&nbsp; if (!eregi("^([a-z]+)://", $file) &amp;&amp; 
fileowner($file) == getmyuid()) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return true;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return 
false;<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function startElement($parser, $name, 
$attribs)<BR>{<BR>&nbsp;&nbsp;&nbsp; print "&amp;lt;&lt;font 
color=\"#0000cc\"&gt;$name&lt;/font&gt;";<BR>&nbsp;&nbsp;&nbsp; if 
(sizeof($attribs)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while 
(list($k, $v) = each($attribs)) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print " 
&lt;font color=\"#009900\"&gt;$k&lt;/font&gt;=\"&lt;font 
color=\"#990000\"&gt;$v&lt;/font&gt;\"";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; print 
"&amp;gt;";<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function endElement($parser, 
$name)<BR>{<BR>&nbsp;&nbsp;&nbsp; print "&amp;lt;/&lt;font 
color=\"#0000cc\"&gt;$name&lt;/font&gt;&amp;gt;";<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function characterData($parser, 
$data)<BR>{<BR>&nbsp;&nbsp;&nbsp; print 
"&lt;b&gt;$data&lt;/b&gt;";<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function PIHandler($parser, $target, 
$data)<BR>{<BR>&nbsp;&nbsp;&nbsp; switch (strtolower($target)) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 
"php":<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
global 
$parser_file;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
// If the parsed document is "trusted", we say it is 
safe<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // to 
execute PHP code inside it.&nbsp; If not, display the 
code<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
instead.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (trustedFile($parser_file[$parser])) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
eval($data);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
} else 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf("Untrusted PHP code: &lt;i&gt;%s&lt;/i&gt;", 
htmlspecialchars($data));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp; }<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function defaultHandler($parser, 
$data)<BR>{<BR>&nbsp;&nbsp;&nbsp; if (substr($data, 0, 1) == "&amp;" &amp;&amp; 
substr($data, -1, 1) == ";") {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf('&lt;font color="#aa00aa"&gt;%s&lt;/font&gt;', 
htmlspecialchars($data));<BR>&nbsp;&nbsp;&nbsp; } else 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf('&lt;font 
size="-1"&gt;%s&lt;/font&gt;', htmlspecialchars($data));<BR>&nbsp;&nbsp;&nbsp; 
}<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>function externalEntityRefHandler($parser, 
$openEntityNames, $base, 
$systemId,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
$publicId)<BR>{<BR>&nbsp;&nbsp;&nbsp; if ($systemId) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!list($parser, $fp) = 
new_xml_parser($systemId)) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf("Could not open entity %s at %s\n", 
$openEntityNames,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
$systemId);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ($data = fread($fp, 4096)) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
(!xml_parse($parser, $data, feof($fp))) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
printf("XML error: %s at line %d while parsing entity 
%s\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xml_error_string(xml_get_error_code($parser)),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xml_get_current_line_number($parser), 
$openEntityNames);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xml_parser_free($parser);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return 
false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xml_parser_free($parser);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
true;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return 
false;<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><BR>function new_xml_parser($file) 
{<BR>&nbsp;&nbsp;&nbsp; global $parser_file;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; $xml_parser = 
xml_parser_create();<BR>&nbsp;&nbsp;&nbsp; xml_parser_set_option($xml_parser, 
XML_OPTION_CASE_FOLDING, 1);<BR>&nbsp;&nbsp;&nbsp; 
xml_set_element_handler($xml_parser, "startElement", 
"endElement");<BR>&nbsp;&nbsp;&nbsp; xml_set_character_data_handler($xml_parser, 
"characterData");<BR>&nbsp;&nbsp;&nbsp; 
xml_set_processing_instruction_handler($xml_parser, 
"PIHandler");<BR>&nbsp;&nbsp;&nbsp; xml_set_default_handler($xml_parser, 
"defaultHandler");<BR>&nbsp;&nbsp;&nbsp; 
xml_set_external_entity_ref_handler($xml_parser, 
"externalEntityRefHandler");<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; if 
(!($fp = @fopen($file, "r"))) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return false;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; if 
(!is_array($parser_file)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
settype($parser_file, "array");<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
$parser_file[$xml_parser] = $file;<BR>&nbsp;&nbsp;&nbsp; return 
array($xml_parser, $fp);<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>if (!(list($xml_parser, $fp) = 
new_xml_parser($file))) {<BR>&nbsp;&nbsp;&nbsp; die("could not open XML 
input");<BR>}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>print "&lt;pre&gt;";<BR>while ($data = fread($fp, 
4096)) {<BR>&nbsp;&nbsp;&nbsp; if (!xml_parse($xml_parser, $data, feof($fp))) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die(sprintf("XML error: %s at 
line 
%d\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xml_error_string(xml_get_error_code($xml_parser)),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xml_get_current_line_number($xml_parser)));<BR>&nbsp;&nbsp;&nbsp; 
}<BR>}<BR>print "&lt;/pre&gt;";<BR>print "parse 
complete\n";<BR>xml_parser_free($xml_parser);</FONT></DIV>
<DIV><FONT face=Arial size=2>echo connection_status();<BR>echo 
fread($fp,128);<BR>?&gt;<BR></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>(File c.xml)</FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;?xml 
version='1.0'?&gt;<BR>&lt;streams&gt;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;stream:stream to = "jabber.org" xmlns = 
"jabber:client"</FONT></DIV>
<DIV><FONT face=Arial size=2>xmlns:stream = <A 
href="http://etherx.jabber.org/streams/">"http://etherx.jabber.org/streams/</A></FONT>"&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;iq type="get" id="100111"<BR>&nbsp; 
to="users.jabber.org"&gt;<BR>&nbsp; <A 
href='mailto:from="apawaskar@jabber.org/winjab"'>from="apawaskar@jabber.org/winjab"</A>&gt;<BR>&nbsp; 
&lt;query xmlns="jabber:iq:search"/&gt;<BR>&lt;/iq&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2><BR></FONT><FONT face=Arial size=2>&lt;message to = 
"<A href="mailto:rishi@jabber.org">rishi@jabber.org</A>" 
type="chat"&gt;<BR>&lt;body&gt;This is a test 
message&lt;/body&gt;<BR>&lt;/message&gt;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;presence <A 
href='mailto:to="rishi@jabber.org'>to="rishi@jabber.org</A>" <BR>&nbsp;<A 
href='mailto:from="apawaskar@jabber.org'>from="apawaskar@jabber.org</A>"<BR>&nbsp;type="subscribe"/&gt; 
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;/streams&gt;</DIV></FONT></BODY></HTML>