<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jozef Chúťka&#039;s blog &#187; FQL</title>
	<atom:link href="http://blog.yoz.sk/tag/fql/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.yoz.sk</link>
	<description>My life, my work</description>
	<lastBuildDate>Tue, 31 Jan 2012 12:40:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Parsing FQL result</title>
		<link>http://blog.yoz.sk/2010/01/parsing-fql-result/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=parsing-fql-result</link>
		<comments>http://blog.yoz.sk/2010/01/parsing-fql-result/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 11:43:00 +0000</pubDate>
		<dc:creator>Jozef Chúťka</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[facebook api]]></category>
		<category><![CDATA[FacebookCall]]></category>
		<category><![CDATA[FacebookData]]></category>
		<category><![CDATA[FQL]]></category>
		<category><![CDATA[FqlQuery]]></category>
		<category><![CDATA[namespace]]></category>

		<guid isPermaLink="false">http://blog.yoz.sk/?p=928</guid>
		<description><![CDATA[Facebook Query Language, or FQL, allows you to use a SQL-style interface to more easily query the same Facebook social data that you can access through other Facebook API methods (assuming your application has access!). Data returned for Facebook ActionScript Api are XML. You can access data via E4X after setting correct namespace. As for [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.yoz.sk/wp-content/uploads/fqlExample.png" alt="" title="fqlExample" width="200" height="100" class="alignleft size-full wp-image-937" /></p>
<p><a href="http://wiki.developers.facebook.com/index.php/FQL">Facebook Query Language</a>, or FQL, allows you to use a SQL-style interface to more easily query the same Facebook social data that you can access through other Facebook API methods (assuming your application has access!). Data returned for Facebook ActionScript Api are XML. You can access data via <a href="http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e72.html">E4X</a> after setting correct namespace. As for now (January 25, 2010), Facebook result defines xmlns=&#8221;http://api.facebook.com/1.0/&#8221; , but it may change in future, so lets make it dynamic&#8230;</p>
<p><span id="more-928"></span></p>
<p style="clear:both;">Use e.g. extended <a href="http://blog.yoz.sk/2009/12/facebooklogger/">FacebookLogger</a> and add these lines</p>
<pre class="brush: as3; title: ; notranslate">public function fql(query:String):void
{
	var call:FacebookCall = facebook.post(new FqlQuery(query));
	call.addEventListener(FacebookEvent.COMPLETE, fqlCallComplete);
}

private function fqlComplete(event:FacebookEvent):void
{
	var data:FacebookData = FacebookData(event.data);
	var xml:XML = XML(data.rawResult);
	var ns:Namespace = xml.namespace();
	default xml namespace = ns;

	var result:Array = [];
	for each(var user:XML in xml.user)
		result.push({uid:user.uid.toString(), name:user.name.toString()});

	default xml namespace = new Namespace(&quot;&quot;);
	dispatchEvent(new ResultEvent(ResultEvent.RESULT, false, true, result));
}</pre>
<p>Notice xml.namespace() line. This method returns Namespace object used in main node (&#8220;http://api.facebook.com/1.0/&#8221;), so we can define it as default xml namespace.  If you do not set empty default namespace after you finish parsing this XML, it may throw some errors later in parsing another XMLs.</p>
<p>this is our fql query:</p>
<pre class="brush: as3; title: ; notranslate">FB.fql(&quot;SELECT uid, name FROM user WHERE uid = XXX&quot;)</pre>
<p>and data.rawResult contains following XML object</p>
<pre class="brush: xml; title: ; notranslate">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;fql_query_response xmlns=&quot;http://api.facebook.com/1.0/&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; list=&quot;true&quot;&gt;
  &lt;user&gt;
    &lt;uid&gt;12345678&lt;/uid&gt;
    &lt;name&gt;Some John Smith&lt;/name&gt;
  &lt;/user&gt;
  &lt;user&gt;
    &lt;uid&gt;12345679&lt;/uid&gt;
    &lt;name&gt;Another John Smith&lt;/name&gt;
  &lt;/user&gt;...</pre>
<p>Notice xmlns attribute in main node.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yoz.sk/2010/01/parsing-fql-result/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

