<?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>Ed&#039;s Blog &#187; XML</title>
	<atom:link href="http://edmundlong.com/edsBlog/category/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://edmundlong.com/edsBlog</link>
	<description>Stuff I&#039;m working on at the moment</description>
	<lastBuildDate>Fri, 13 Aug 2010 10:58:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title></title>
		<link>http://edmundlong.com/edsBlog/73/</link>
		<comments>http://edmundlong.com/edsBlog/73/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 22:49:31 +0000</pubDate>
		<dc:creator>edlong</dc:creator>
				<category><![CDATA[Archive Post]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://edmundlong.com/edsBlog/?p=73</guid>
		<description><![CDATA[Hi, Today I needed to format a number to contain 2 decimal places, it’s a bit weird way to do it but here is how I did it, if anyone else knows a better way please tell! number format &#8216;,.99&#8242;: #numberformat(num,&#8217;,.99&#8242;)# I ran into a few problems while trying to compile the app_conference addon for [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,<br />
Today I needed to format a number to contain 2 decimal places, it’s a bit weird way to do it but here is how I did it, if anyone else knows a better way please tell!</p>
<blockquote><p>
number format &#8216;,.99&#8242;: #numberformat(num,&#8217;,.99&#8242;)#</p></blockquote>
<p>I ran into a few problems while trying to compile the app_conference addon for Asterisk both this week and last week.</p>
<blockquote><p>
conflicting types for ‘strtoq’ from stdlib.h and concat.h</p>
<p>error: ‘AST_MODULE’ undeclared here (not in a function)</p></blockquote>
<p>The error was confusing and I found it difficult to find any solution to my problem. Everywhere just indicated that you didn’t need to do anything to get the source to compile. I got the Asterisk source apt-get install apt-get install asterisk-dev and modified the Makefile in the app_conference directory to point at the asterisk includes (/usr/src/asterisk/include for me). When I attempted to make the application but got the errors above.</p>
<p>The solution I sort of stumbled onto inadvertently actually. I tried to place the code in the asterisk-src/apps directory in the hope it would pickup the includes properly, not sure why I was doing it actually. Anyway when I tried to re-compile the asterisk source(which automatically compiles the app directory) I saw that I was getting an error in the build. After a quick google I found that this was because libncurses5-dev wasn’t installed. I also installed pkg-config and libtool but I’ve a feeling that it was libncurses that fixed my problem. Anyway after this I compile it ok with now errors, copied the app_conference.so into the /usr/lib/asterisk/modules.so directory restarted asterisk and bingo it worked. Only pity is that it is literally a conference application it does nothing else really, no voice prompts or admin sort of features like allowing a user to kick other users but I hope to either add those or come up with a work-around for this.</p>
<p>Xlite is available for Mac OS Leopard now <a href="http://www.counterpath.com/">http://www.counterpath.com/</a>, it wasn’t previously. I was using Zoiper but it is nowhere near as good as XLite in my opinion so I’m happy with that.</p>
<div class="fullcircle-social-links" style="display: block;"></div><div style="clear: both;"></div>]]></content:encoded>
			<wfw:commentRss>http://edmundlong.com/edsBlog/73/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get a CFC name, simultaneous instances of FF(again), XMLSearch case-sensitivity and Asterisk stats</title>
		<link>http://edmundlong.com/edsBlog/get-a-cfc-name-simultaneous-instances-of-ffagain-xmlsearch-case-sensitivity-and-asterisk-stats/</link>
		<comments>http://edmundlong.com/edsBlog/get-a-cfc-name-simultaneous-instances-of-ffagain-xmlsearch-case-sensitivity-and-asterisk-stats/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 22:42:57 +0000</pubDate>
		<dc:creator>edlong</dc:creator>
				<category><![CDATA[Archive Post]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://edmundlong.com/edsBlog/?p=59</guid>
		<description><![CDATA[Hi all, Today I finally sorted out getting multiple instances of Firefox running on my Mac simultaneously after having profile problems for the last few weeks with the new FF version. I followed the steps in the links below to get it working on Leopard, so I’m running Firefox 2.0.11 and Firefox 3 Beta 3. [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>Today I finally sorted out getting multiple instances of Firefox running on my Mac simultaneously after having profile problems for the last few weeks with the new FF version. I followed the steps in the links below to get it working on Leopard, so I’m running Firefox 2.0.11 and Firefox 3 Beta 3. I like the beta a lot, much more stable than the older version, I would like to turn off the hinting in the URL as it occasionally promotes certain visited sites over others when I don’t want it to based on name(ie. I might want to go to webmail.edmundlong.com and when I type in ‘webmail’ into the URL it may suggest another site e.g. www.abertay.ac.uk/webmail over it when I don’t want it to because I’ve visited it more often)<br />
<a href=" http://support.mozilla.com/kb/Running+different+versions+of+Firefox+at+the+same+time"></p>
<p>http://support.mozilla.com/kb/Running+different+versions+of+Firefox+at+the+same+time</a></p>
<p><a href="http://www.jeroencoumans.nl/journal/multiple-firefox-versions">http://www.jeroencoumans.nl/journal/multiple-firefox-versions</a></p>
<p>Here’s a small ColdFusion snippet to get the name of a cfc using the metadata. cfcname contains the name of the cfc.</p>
<pre class="brush:xml">
<cfset cfcname = getMetaData().fullname>
<cfloop condition="find('.',#cfcname#)">
	<cfset cfcname = right(name,len(cfcname) - find('.',cfcname))>
</cfloop>
</pre>
<p>I’ve been working on coming up with a way of accessing the Asterisk CLI from a php page so that stats could be delivered to a webpage. After looking around a bit I see that there is an Asterisk Manager facility that can execute some Asterisk commands along with CLI actions. Below is the code I’m currently using where I have a text-box that I can enter some CLI command e.g. sip show peers and the result is displayed on screen. I’m planning on maybe doing something like this to display some backend stats from the Asterisk system, I could get conference information, number of connected IAX &#038; SIP peers and a whole bunch of other stats. Asterisk doesn’t return the data in a very friendly format though but more on that when I get into it a bit more.</p>
<pre class="brush:php">
<?php

function executeAction($server,$username,$secret,$port,$action,$variable='')
{
       $socket = fsockopen($server,$port, $errno, $errstr, 1);
       fputs($socket, "Action: Login\r\n");
       fputs($socket, "UserName: $username\r\n");
       fputs($socket, "Secret: $secret\r\n\r\n");
       fputs($socket, "Action: Command\r\nCommand: $action\r\n\r\n");
       /*fputs($socket, "Action: $action\r\n\r\n");
       if($variable != '')
       {	fputs($socket, "Peer: $variable\r\n\r\n");
       }*/
       fputs($socket, "Action: Logoff\r\n\r\n");
       $count=0;$array;
       while (!feof($socket)) {
               $wrets = fgets($socket, 8192);
               $token = strtok($wrets,':(');
               $j=0;
               while($token!=false &#038; $count>=5)
               {
                        $array[$count][$j]=$token;
                        $j++; $token = strtok(':(');
               }
       $count++;
       $wrets .= '';
       }

       for($i=5;$i<$count-4;$i++){ echo '

'.$array[$i][0].'

'.'

'.$array[$i][1].'

'; }

       fclose($socket);
}

function createActionList($server,$username,$secret,$port,$action="ListCommands")
{
       $socket = fsockopen($server,$port, $errno, $errstr, 1);
       fputs($socket, "Action: Login\r\n");
       fputs($socket, "UserName: $username\r\n");
       fputs($socket, "Secret: $secret\r\n\r\n");
       fputs($socket, "Action: ListCommands\r\n\r\n");
       fputs($socket, "Action: Logoff\r\n\r\n");
       $count=0;$array;
       while (!feof($socket)) {
               $wrets = fgets($socket, 8192);
               $token = strtok($wrets,':(');
               $j=0;
               while($token!=false &#038; $count>=5)
               {
                        $array[$count][$j]=$token;
                        $j++; $token = strtok(':(');
               }
       $count++;
       $wrets .= '';
       }
		echo "
<form action='currentStats.php' method='post'>";
       /*echo 'Command :
<select name="managersAction">';
       for($i=5;$i<$count-4;$i++){ echo '
<option value="'.$array[$i][0].'">'.$array[$i][1].'</option>

'; }
       echo '</select>

';*/
       echo "

Command :
<input type='text' name='managersAction' size='50'/>

";
       echo "

Parameter :
<input type='text' name='variable' size='40' />

";

       echo "
<input type='submit' value='Perform action' name='submit'>";

       echo "</form>

";
       fclose($socket);
}

if ($_POST['submit'])
{	executeAction('127.0.0.1','asterisk','asterisk',5038,$_POST['managersAction'],$_POST['variable']);
}
else
{	createActionList('127.0.0.1','asterisk','asterisk',5038);
}

?>
</pre>
<p>This code is very very insecure and I’m using it only for testing, anyone could type ‘restart now’ to reboot your asterisk system!</p>
<p>I had a couple of problems when using XML search because XMLSearch in ColdFusion is case-sensitive. I had an XML document like the one below</p>
<pre class="brush:xml">
<config>
<edsTest><[CDATA[abc]]&gt;</edsTest>
</config>
</pre>
<p>I used the xpath expression /config/edstest to search for the ‘edsTest’ node but of course this failed due the case-sensitivity involved. The solution was to take the XML and change it all to upper case using UCASE(xml). The good thing is that ColdFusion ignored the content between the CDATA tags and so didn’t resize ‘abc’ which is exactly what I wanted. I then just changed my xpath to /CONFIG/EDSTEST and the search performed as expected. </p>
<div class="fullcircle-social-links" style="display: block;"></div><div style="clear: both;"></div>]]></content:encoded>
			<wfw:commentRss>http://edmundlong.com/edsBlog/get-a-cfc-name-simultaneous-instances-of-ffagain-xmlsearch-case-sensitivity-and-asterisk-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP error,copying XML children,ztdummy fun and ArrayDeleteAt gotcha</title>
		<link>http://edmundlong.com/edsBlog/archive-archive-for-the-%e2%80%98masters%e2%80%99-category-wp-errorcopying-xml-childrenztdummy-fun-and-arraydeleteat-gotcha/</link>
		<comments>http://edmundlong.com/edsBlog/archive-archive-for-the-%e2%80%98masters%e2%80%99-category-wp-errorcopying-xml-childrenztdummy-fun-and-arraydeleteat-gotcha/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 22:30:07 +0000</pubDate>
		<dc:creator>edlong</dc:creator>
				<category><![CDATA[Archive Post]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://edmundlong.com/edsBlog/?p=45</guid>
		<description><![CDATA[Hi, I haven’t posted in a while as my site got blocked by IT at work for some reason! I’ve had a lot of stuff recently that I could have posted it but unfortunately I’ve forgotten most of it so don’t have a massive amount to write about. Firstly I had a problem with my [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,<br />
I haven’t posted in a while as my site got blocked by IT at work for some reason!</p>
<p>I’ve had a lot of stuff recently that I could have posted it but unfortunately I’ve forgotten most of it so don’t have a massive amount to write about.</p>
<p>Firstly I had a problem with my wordpress account that when someone attempted to subscribe to the blog I would get an error something like</p>
<pre class="brush:plain"> “Cannot modify header information - headers already sent” </pre>
<p>After having a look around the place I saw that this is resolved but having extra whitespace before or after tags. I had some JS in one of my php that was causing the RSS subscription to crap out. Fixed it so should be working now.</p>
<p>Got my MSc result in the last couple of days, got 95% in my thesis which can be got here. That means I got a ‘Distinction’ in my MSc which I’m very happy about. You can read about my progress through the GOAP archives in the blog.</p>
<p>I got an error when using ColdFusion’s XMLParse to go through two XML documents and copy one part of the XML to another document. I was getting the error ‘WRONG_DOCUMENT_ERR’ when attempting to do an ArrayAppend to an existing XML node. So I had to go and create each node individually using recursion. Here’s a snippet of the code, I had to create each node individually and set the attributes, Cdata etc.</p>
<pre class="brush:xml">
<cffunction name="copyXMLChildren" access="public" output="false" return="boolean" >
	<cfargument name="XML1CurrentNode" type="array" required="true" >
	<cfargument name="XML2CurrentNode" type="array" required="true" >
       <cfargument name="xmlDocRoot" type="XML" required="true">

<cfloop from="1" to="#arraylen(XML1CurrentNode)#" index="i">
        <cfset newNode = XmlElemNew(xmlDocRoot,"#XML1CurrentNode[i].XMLName#")>
        <cfset newNode.XmlCData = XML1CurrentNode[i].XmlCData>
	<cfif arraylen(XML2CurrentNode) EQ 0 OR i GT arraylen(XML2CurrentNode)>
		<cfset Arrayappend(XML2CurrentNode,newNode)>
	<cfelse>
	       <cfset ArrayInsertAt(XML2CurrentNode,i,newNode)>
	</cfif>
</cfloop>
<cfset applyConfigUpdate(XML1CurrentNode[i].XMLChildren,XML1CurrentNode[i].XMLChildren,arguments.xmldocRoot)>
</cffunction>

<cfset xml = XMLParse('some xml')>
<cfset xmlRoot = xml.someRoot>
<cfset anotherXMLDoc = XMLNew()>
<cfset anotherXMLRoot = xmlelemnew(anotherXMLDoc,'same XML root as other XML doc') >

<!--- Create anotherXMLDoc root ---!>
<cfset copyXMLChildren(xmlRoot.XMLChildren,anotherXMLDoc.anotherXMLRoot,anotherXMLDoc) >
</pre>
<p>WARNING: I’ve modified this from my original code and not tested fully so mightn’t work but is v close to working only needs a few small changes to work I’d imagine.</p>
<p>I was having a problem with Asterisk on a VM Ubuntu server during the week. The error message I was getting was ‘app_meetme.c: Unable to open pseudo device’. The reason for this error is that MeetMe requires a timing device to work, there is Zaptel hardware for Asterisk that you can buy and use. On the Asterisk CLI type zap show status, if you don’t have anything there then thats you’re problem. A module called Ztdummy can emulate the Zaptel hardware and allow the Meetme app to work. To do this I got the Zaptel source from SVN svn co http://svn.digium.com/svn/zaptel/branches/1.4 . , did a ./configure, make and make install and make config. After that I ran this script to finish the install.</p>
<pre class="brush:plain">
genzaptelconf -sdvM
/etc/init.d/zaptel start
</pre>
<p>Finally for now I had another issue when deleting items from a ColdFusion array. I was looping through one by one and on a certain condition delete an element and move on. I ended up getting the error:</p>
<pre class="brush:plain">
Cannot insert/delete at position 9.
    The array passed has 8 indexes. Valid positions are from 1 to 8.
</pre>
<pre class="brush:xml">
<cfloop from='1' to='#arraylen(anArray)#' index='i'>
      <cfif someCondition>
          <cfset ArrayDeleteAt(anArray,i)>
      </cfif>
</cfloop>
</pre>
<p>Coldfusion reorders the indexes after deleting and isn’t too clever about it so for some reason seems to think that there is 9 elements in the array when 1 has been deleted. The solution is very simple(although I think the language should be a little clever to handle this properly):</p>
<pre class="brush:xml">
<cfloop from='#arraylen(anArray)#' to='1' step="-1 index='i'>
      <cfif someCondition>
          <cfset ArrayDeleteAt(anArray,i)>
      </cfif>
</cfloop>
</pre>
<p>Start at the end and go backwards works. nice!</p>
<div class="fullcircle-social-links" style="display: block;"></div><div style="clear: both;"></div>]]></content:encoded>
			<wfw:commentRss>http://edmundlong.com/edsBlog/archive-archive-for-the-%e2%80%98masters%e2%80%99-category-wp-errorcopying-xml-childrenztdummy-fun-and-arraydeleteat-gotcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex Dragging, determining cursor position with Javascript and XMLParsing with ColdFusion!</title>
		<link>http://edmundlong.com/edsBlog/flex-dragging-determining-cursor-position-with-javascript-and-xmlparsing-with-coldfusion/</link>
		<comments>http://edmundlong.com/edsBlog/flex-dragging-determining-cursor-position-with-javascript-and-xmlparsing-with-coldfusion/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 22:21:13 +0000</pubDate>
		<dc:creator>edlong</dc:creator>
				<category><![CDATA[Archive Post]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://edmundlong.com/edsBlog/?p=38</guid>
		<description><![CDATA[Hi all, I’ve recently been programming a way of Flex talking to a regular web-page using FAB &#8211; Flex Ajax Bridge. I basically had a TileList of images and wanted to be able to drag an image from the Flex app onto a text-box and the text box would become populated with the url of [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all,</p>
<p>I’ve recently been programming a way of Flex talking to a regular web-page using FAB &#8211; Flex Ajax Bridge. I basically had a TileList of images and wanted to be able to drag an image from the Flex app onto a text-box and the text box would become populated with the url of the image. Sounds tricky? Well it was.</p>
<p>First the main thing I had to do was to get the correct Javascript files included at the top of the HTML page….</p>
<pre class="brush:xml">
<script src="/js/FABridge.js" language="javascript"></script>
<script src="/js/swfobject.js"language="javascript"></script>
</pre>
<p>Those files can be got from the Adobe FAB page I got the other by Googling for it.</p>
<p>To get Flex working with FAB you need to reference the bridge directory that must also be available to the swf so below the tags I put in this:</p>
<pre class="brush:xml">
<fab:FABridge id="fab" xmlns:fab="bridge.*" />
</pre>
<p>So thats all thats needed for Flex to talk to Javascript! Well almost, more will come on that…..</p>
<p>Firstly the code to perform dragging within Flex.</p>
<pre class="brush:xml">
<mx:Image xmlns:mx="http://www.adobe.com/2006/mxml" width="105" height="100"
	 click="onClick()" mouseDown="dispatchClickEvent(); dragAsset(event, this, 'img');" dragComplete="quitDrag();"  source="{data.url}">
	<mx:Script>
        	import mx.containers.Canvas;
        	import model.AssetModel;
            import mx.managers.DragManager;
            import mx.core.DragSource;
            import mx.events.DragEvent;
			import control.AssetController;

			import com.adobe.cairngorm.control.CairngormEventDispatcher;
			import com.adobe.cairngorm.control.CairngormEvent;

            private var myModel:AssetModel = model.AssetModel.getInstance()			

			private function onClick():void{
				this.dispatchClickEvent();
			}  

            private function dragAsset(event:MouseEvent, img1:Image,
                format:String):void {
                var dragInitiator:Image=Image(event.currentTarget);
                var ds:DragSource = new DragSource();
                ds.addData(img1, format);               

                var imageProxy:Image = new Image();
                imageProxy.source = data.url;
                imageProxy.height= this.height;
                imageProxy.width= this.width;

                DragManager.doDrag(dragInitiator, ds, event,
                    imageProxy, 0, 0, 0.75);
                myModel.dragging = true;
            }                 

            private function dispatchClickEvent():void
            {	var assetEvt : CairngormEvent = new CairngormEvent(AssetController.SELECT_QUESTION_ASSET_EVENT);
				assetEvt.data = data;
				CairngormEventDispatcher.getInstance().dispatchEvent(assetEvt);
            }

             private function quitDrag():void
            {
            	myModel.dragging = false;
            }
    </mx:Script>
</mx:Image>
</pre>
<p>So this image is an itemRenderer within a TileList using a dataProvider so each ‘item’ has a url associated with it from the dataProvider. myModel is a central Cairngorm location for storing objects that are used often or accessed in many places in the flex application. So I have a dragging variable that is true if the image is being dragged, false if the dragging is completed.</p>
<p>Within my main MXML I had a function:</p>
<pre class="brush:java">
public function getDraggedImageURL():String
{	var draggedItem:String = "";
	if(myModel.selectedAsset.url != null &#038;&#038; myModel.dragging == true)
	{
		draggedItem = "" + myModel.selectedAsset.url;
	}

        return draggedItem;
}
</pre>
<p>So when this is called we check if there is currently dragging taking place(dragging var) and then make sure we’ve actually an asset selected in the TileList(another var in the model that is set when you click on the image,see earlier image definition)</p>
<p>So not within the HTML file I created a textarea with a javascript function called when the mouseup event is called(i.e. when you let go of the mouse button and are over the text area, this is triggered when dragging from a flex app to the text-area)</p>
<p>So the doSomething function is quite simple:</p>
<pre class="brush:java">
function doSomething()
{
	flexApp = FABridge.flash.root();
	var selectedImage = flexApp.getDraggedImageURL();
	if (selectedImage != "") {
		var text1 = document.getElementById("text1");
		text1.value += selectedImage;
	}

}
</pre>
<p>The first line creates a bridge or connection with the flex app. Next we execute the getDraggedImageURL that is defined above. If the string returned isn’t empty then we know we have an image url and it appends this onto the existing text in the textarea. This also stops insertion occuring when the user clicks on the text area without dragging from the flex app.</p>
<p>Note: It appears from testing that FAB doesn’t work with Safari 3.0, I can’t test it with any of the earlier Safari versions as they won’t work on Leopard!</p>
<p>I’ve used Javascript to detect the current position of the cursor in a text area. This is used to insert the image url when you’re editing a text-box. Here is the code</p>
<pre class="brush:javascript">
function storeCursorPosition(text1)
{
	if (document.selection)
	{

		sel = document.selection.createRange();

		cursorPos = sel.select();
	}

       //MOZILLA/NETSCAPE support
	else if (text1.selectionStart || text1.selectionStart == '0')
	{
		var startPos = text1.selectionStart;

		cursorPos = startPos;

	}

	//Anyone else.
	else
	{
		cursorPos = text1.value.length;
	}
}
</pre>
<p>CursorPos stores the cursor position globally and then is used to break up the text-areas value into two, insert the new string in the middle and put the two broken pieces of the string back and setting the text-areas value again.</p>
<p>Here is the html code to store the cursor position.</p>
<pre class="brush:xml">
<textrea rows="10" cols="80"  id="text1" name="text1" onmousedown="storeCursorPosition(this);" onchange="storeCursorPosition(this);" onkeydown="storeCursorPosition(this);" onkeyup="storeCursorPosition(this);" onmouseup="insertDraggedImageURL(); storeCursorPosition(this);"></textrea>
</pre>
<p>I’ve tested this in Firefox and Safari and it works A-OK!</p>
<p>Not tried either in IE yet either….</p>
<p>Was playing with XMLParse with ColdFusion, its really cool was sick of getting external XML parsers for other languages like PHP but its v v easy with ColdFusion. Yippee</p>
<div class="fullcircle-social-links" style="display: block;"></div><div style="clear: both;"></div>]]></content:encoded>
			<wfw:commentRss>http://edmundlong.com/edsBlog/flex-dragging-determining-cursor-position-with-javascript-and-xmlparsing-with-coldfusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
