<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>XLLoop - excel function server framework</title>
	<atom:link href="http://xlloop.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://xlloop.wordpress.com</link>
	<description>A weblog about the open source excel function server framework</description>
	<lastBuildDate>Mon, 05 May 2008 11:39:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='xlloop.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/6b4be0874efc51fd7496038aeb36182f?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>XLLoop - excel function server framework</title>
		<link>http://xlloop.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://xlloop.wordpress.com/osd.xml" title="XLLoop &#8211; excel function server framework" />
		<item>
		<title>Registering Functions</title>
		<link>http://xlloop.wordpress.com/2008/05/05/registering-functions/</link>
		<comments>http://xlloop.wordpress.com/2008/05/05/registering-functions/#comments</comments>
		<pubDate>Mon, 05 May 2008 11:39:03 +0000</pubDate>
		<dc:creator>poidasmith</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://xlloop.wordpress.com/?p=8</guid>
		<description><![CDATA[XLLoop provides two mechanisms for calling functions on a server:

A generic function (&#8220;FS&#8221; by default) that takes a function name and then a variable number of arguments.
A dynamic function registration mechanism.

The function registration mechanism works by calling the function server (on excel startup or activation of the add-in) with a &#8220;GetFunctions&#8221; generic request. The server [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xlloop.wordpress.com&blog=3600107&post=8&subd=xlloop&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>XLLoop provides two mechanisms for calling functions on a server:</p>
<ol>
<li>A generic function (&#8220;FS&#8221; by default) that takes a function name and then a variable number of arguments.</li>
<li>A dynamic function registration mechanism.</li>
</ol>
<p>The function registration mechanism works by calling the function server (on excel startup or activation of the add-in) with a &#8220;GetFunctions&#8221; generic request. The server (ie. your server) implements this request handler and returns a collection of function definitions encoded as variants.</p>
<p>The easiest way to return the correct response is to use the FunctionInformation class. This provides an <em>encode</em> method that generates the format required for a single function. Simply add the encoding of multiple FunctionInformation objects to a VTCollection class and return this as a result. The follow code snippet shows the detail:</p>
<pre>VTCollection collection = new VTCollection();
FunctionInformation fi = new FunctionInformation("Math.pow");
fi.setFunctionHelp("Raises the first value to the power of the second");
fi.setCategory("Maths");
fi.addArgument("value", "The first value");
fi.addArgument("power", "The power value");
collection.add(fi.encode());</pre>
<p>This will expose &#8220;Math.pow&#8221; as a function in excel. When this function is called from excel, XLLoop (the XLL) will call your function handler, passing &#8220;Math.pow&#8221; as the function name and the arguments as a VTCollection.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/xlloop.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/xlloop.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xlloop.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xlloop.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xlloop.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xlloop.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xlloop.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xlloop.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xlloop.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xlloop.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xlloop.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xlloop.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xlloop.wordpress.com&blog=3600107&post=8&subd=xlloop&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xlloop.wordpress.com/2008/05/05/registering-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/62a038e37df9639e06428e257e24c9f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">poidasmith</media:title>
		</media:content>
	</item>
		<item>
		<title>About</title>
		<link>http://xlloop.wordpress.com/2008/04/28/about-xlloop/</link>
		<comments>http://xlloop.wordpress.com/2008/04/28/about-xlloop/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 19:28:18 +0000</pubDate>
		<dc:creator>poidasmith</dc:creator>
				<category><![CDATA[xlloop]]></category>
		<category><![CDATA[about]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[xll]]></category>

		<guid isPermaLink="false">http://xlloop.wordpress.com/?p=3</guid>
		<description><![CDATA[XLLoop is an open source framework for implementing excel functions (ie. UDFs) outside the excel process. It consists of two components:

An excel add-in (XLL) written in C++.
A server process (there is one written in Java and another written in Erlang).

This provides a mechanism for implementing excel functions in Java and any JVM supported language (and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xlloop.wordpress.com&blog=3600107&post=3&subd=xlloop&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>XLLoop is an open source framework for implementing excel functions (ie. UDFs) outside the excel process. It consists of two components:</p>
<ol>
<li>An excel add-in (XLL) written in C++.</li>
<li>A server process (there is one written in Java and another written in Erlang).</li>
</ol>
<p>This provides a mechanism for implementing excel functions in Java and any JVM supported language (and also in Erlang).</p>
<p>The project lives at sourceforge at <a href="http://xlloop.sourceforge.net">http://xlloop.sourceforge.net</a></p>
<p>The add-in and server communicate via TCP sockets, using a binary protocol (for efficiency). The protocol sends and receives variant structures that are very similar to the xloper structure native to excel. There are two types of requests the add-in makes to the server:</p>
<ul>
<li>A generic request: This sends the request type as an integer, the request name as a string and then the request arguments as a variant map/struct. The response is a variant of any type.</li>
<li>A function request: This sends the request type as an integer, the function name as a string and then the function arguments as a variant collection. The response is a variant of any type.</li>
</ul>
<p>Out of the box, the add-in registers a single function with excel. The function is &#8220;FS&#8221; (short for function server). This generic function takes a variable number of arguments with the first argument as the function name. The invocation of this function translates to a function request as above. The server responds with a variant result and this is translated into an xloper object, which is then displayed by excel.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/xlloop.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/xlloop.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xlloop.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xlloop.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xlloop.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xlloop.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xlloop.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xlloop.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xlloop.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xlloop.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xlloop.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xlloop.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xlloop.wordpress.com&blog=3600107&post=3&subd=xlloop&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xlloop.wordpress.com/2008/04/28/about-xlloop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/62a038e37df9639e06428e257e24c9f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">poidasmith</media:title>
		</media:content>
	</item>
	</channel>
</rss>