<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns="http://purl.org/rss/1.0/"
>
  <channel rdf:about="http://news.xp-framework.net/8/News">  
    <title>News</title>
    <link>http://news.xp-framework.net/8/News</link>
    <description>XP Framework</description>
    <dc:language>en-US</dc:language>
    <dc:date>2012-05-18T16:15:45+02:00</dc:date>
    <dc:creator>xp-admin@xp-framework.net</dc:creator>
    <dc:publisher/>
    <dc:rights/>
    <items>    
      <rdf:Seq>      
        <rdf:li rdf:resource="http://news.xp-framework.net/article/460/2012/05/04/Support_for_PHP_5.3.12___5.4.2"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/459/2012/04/23/New_util.UUID_class"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/458/2012/04/17/5.8.5RC2__REST"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/457/2012/04/15/RFC__0210_prerequisites"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/456/2012/04/15/Split_xp.contrib_s__ietf_"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/455/2012/04/15/RFC__0235__CsvMapReader___CsvMapWriter"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/454/2012/04/08/Closures_and__this_"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/453/2012/04/06/New_method_peer.URL__getCanonicalURL__"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/452/2012/03/21/XP_on_NodeJS__Class_constants__annotations__stacktraces"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/451/2012/03/11/XP_on_NodeJS__Flow_control__exceptions__loops"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/450/2012/03/10/5.8.5RC1__The_web"/>
        <rdf:li rdf:resource="http://news.xp-framework.net/article/449/2012/02/26/XP_on_NodeJS"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://news.xp-framework.net/article/460/2012/05/04/Support_for_PHP_5.3.12___5.4.2">  
    <title>Support for PHP 5.3.12 / 5.4.2</title>
    <link>http://news.xp-framework.net/article/460/2012/05/04/Support_for_PHP_5.3.12___5.4.2</link>
    <description>&lt;img width='100' height='64' align=&quot;left&quot; src=&quot;/image/fetch/uploads/php-version5.gif&quot; alt=&quot;PHP 5&quot; hspace=&quot;4&quot;/&gt;With the &lt;a href=&quot;http://www.php.net/index.php#id2012-05-03-1&gt;release of PHP 5.3.12 and PHP 5.4.2&lt;/a&gt;, the current 5.8-SERIES's supported PHP versions now include all of &lt;b&gt;PHP 5.2.10&lt;/b&gt; through &lt;b&gt;PHP 5.4.2&lt;/b&gt;. &lt;br/&gt;&lt;br/&gt;The 5.9-SERIES supports all PHP versions between PHP 5.3.0 and PHP 5.4.2.</description>
    <dc:date>2012-05-04T13:17:18+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/459/2012/04/23/New_util.UUID_class">  
    <title>New util.UUID class</title>
    <link>http://news.xp-framework.net/article/459/2012/04/23/New_util.UUID_class</link>
    <description>In the course of implementing &lt;a href=&quot;https://github.com/xp-framework/rfc/issues/229&quot;&gt;RFC #0229&lt;/a&gt;, the &lt;tt&gt;UUID&lt;/tt&gt; class from the old &lt;tt&gt;org.ietf&lt;/tt&gt; package was moved to the XP Framework. At the same time, its API was changed and now not only implements time-based UUIDs (v1), but also name-based (v3, md5 and v5, sha1) as well as random (v4) UUIDs. For details on the new API, see &lt;a href=&quot;https://github.com/xp-framework/xp-framework/pull/149&quot;&gt;here&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;i&gt;&lt;b&gt;Heads up&lt;/b&gt;: If you have previously used the old UUID class, please be aware that you will need to &lt;a href=&quot;https://github.com/xp-framework/xp-framework/pull/149#issuecomment-5275697&quot;&gt;change your code&lt;/a&gt;!&lt;/i&gt;</description>
    <dc:date>2012-04-23T13:16:40+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/458/2012/04/17/5.8.5RC2__REST">  
    <title>5.8.5RC2: REST</title>
    <link>http://news.xp-framework.net/article/458/2012/04/17/5.8.5RC2__REST</link>
    <description>The second release candidate for 5.8.5 contains improvements to the REST server API's type and error handling, new handler finalization specializations (reloaded, cancel, success), extension method fixes for &lt;tt&gt;lang.Throwable&lt;/tt&gt; instances and the ability to use SSL versions in conjuction with CURL transports.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Go get it!&lt;/b&gt;&lt;br/&gt;&lt;pre&gt;  $ cd ~/xp&lt;br/&gt;  $ wget http://releases.xp-framework.net/setup/5.8.5RC2 -O - | php -- -d ~/bin/&lt;br/&gt;&lt;/pre&gt;&lt;br/&gt;</description>
    <dc:date>2012-04-17T11:30:48+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/457/2012/04/15/RFC__0210_prerequisites">  
    <title>RFC #0210 prerequisites</title>
    <link>http://news.xp-framework.net/article/457/2012/04/15/RFC__0210_prerequisites</link>
    <description>A while ago we blogged about &lt;a href=&quot;http://news.planet-xp.net/article/441/2012/02/01/&quot;&gt;the cleanup work in xp.contrib&lt;/a&gt;. This was now structured in three different pull requests:&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Renaming&lt;/b&gt;&lt;br/&gt;This is handled in &lt;a href=&quot;https://github.com/xp-framework/xp-contrib/pull/12&quot;&gt;pull request #12&lt;/a&gt; and includes renaming of the ecma, xmlrpc, img, google, microsoft and cyrus packages.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Removing&lt;/b&gt;&lt;br/&gt;This is handled in &lt;a href=&quot;https://github.com/xp-framework/xp-contrib/pull/14&quot;&gt;pull request #13&lt;/a&gt; and includes removal of the ajp, tar and gettext packages.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IETF package split&lt;/b&gt;&lt;br/&gt;&lt;a href=&quot;https://github.com/xp-framework/rfc/issues/229&quot;&gt;RFC #0229&lt;/a&gt; consists of two parts:&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Creating a new &lt;tt&gt;util.UUID&lt;/tt&gt; class in the framework (see &lt;a href=&quot;https://github.com/xp-framework/xp-framework/pull/149&quot;&gt;here&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Renaming the &quot;ieft&quot; package to &quot;punycode&quot; and removing UUID from there (see &lt;a href=&quot;https://github.com/xp-framework/xp-contrib/pull/13&quot;&gt;here&lt;/a&gt;)&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;</description>
    <dc:date>2012-04-15T22:16:22+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/456/2012/04/15/Split_xp.contrib_s__ietf_">  
    <title>Split xp.contrib's &quot;ietf&quot;</title>
    <link>http://news.xp-framework.net/article/456/2012/04/15/Split_xp.contrib_s__ietf_</link>
    <description>&lt;b&gt;Scope of Change&lt;/b&gt;&lt;br/&gt;The &lt;tt&gt;UUID&lt;/tt&gt; class will be merged into XP Framework core (as &lt;tt&gt;util.UUID&lt;/tt&gt;) and the ietf package will be renamed to punycode.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Rationale&lt;/b&gt;&lt;br/&gt;The &quot;ietf&quot; module contains both PunyCode and UUID implementations, which are completely unrelated.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://github.com/xp-framework/rfc/issues/229&quot;&gt;Read the full RFC here&lt;/a&gt;</description>
    <dc:date>2012-04-15T22:11:21+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/455/2012/04/15/RFC__0235__CsvMapReader___CsvMapWriter">  
    <title>RFC #0235: CsvMapReader / CsvMapWriter</title>
    <link>http://news.xp-framework.net/article/455/2012/04/15/RFC__0235__CsvMapReader___CsvMapWriter</link>
    <description>&lt;b&gt;Scope of Change&lt;/b&gt;&lt;br/&gt;Instead of working with integers describing the cell offsets in CSV files, we will add a class &lt;tt&gt;CsvMapReader&lt;/tt&gt; to read data into a map, and a class &lt;tt&gt;CsvMapWriter&lt;/tt&gt; to write data from a map to CSV files.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Rationale&lt;/b&gt;&lt;br/&gt;Enable writing code to flexibly deal with changing field order.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://github.com/xp-framework/rfc/issues/235&quot;&gt;Read the full RFC here&lt;/a&gt;</description>
    <dc:date>2012-04-15T12:42:58+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/454/2012/04/08/Closures_and__this_">  
    <title>Closures and &quot;this&quot;</title>
    <link>http://news.xp-framework.net/article/454/2012/04/08/Closures_and__this_</link>
    <description>&lt;b&gt;What does the following (plain PHP) do?&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;code&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; Lambda &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;    protected &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$greeting&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;= &lt;/span&gt;&lt;span class=&quot;string&quot;&gt;'Hello'&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;    &lt;br/&gt;    protected &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; greeter&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;      return &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$who&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; return &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;-&amp;gt;greeting.&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;' '&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$who&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;    &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;    &lt;br/&gt;    public &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; main&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$args&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;      &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$l&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;= &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; self&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;      &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$greeter&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;= &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$l&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;-&amp;gt;greeter&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;      echo &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$greeter&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$args&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;[0] ?: &lt;/span&gt;&lt;span class=&quot;string&quot;&gt;'World'&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;, PHP_EOL;&lt;br/&gt;    &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;  &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;  &lt;br/&gt;  Lambda::main&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;array_slice&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$argv&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;, 1&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br/&gt;Well, &lt;b&gt;we'd say it should print &lt;tt&gt;Hello World&lt;/tt&gt;&lt;/b&gt;. And that, indeed, is what it does when invoked with PHP 5.4. &lt;br/&gt;&lt;br/&gt;&lt;b&gt;Unfortunately&lt;/b&gt;, with PHP 5.3, this does not work (support for &lt;tt&gt;$this&lt;/tt&gt; was &lt;a href=&quot;https://wiki.php.net/rfc/closures/removal-of-this?s[]=closure&quot;&gt;first removed&lt;/a&gt; and then &lt;a href=&quot;https://wiki.php.net/rfc/closures/object-extension?s[]=closure&quot;&gt;re-added again&lt;/a&gt; after a lengthy discussion on the php-internals mailing list). To make things , in other languages and platforms, things work even more differently. This is why we've started an RFC on this topic. Its goal is to define consistent behaviour over all platforms XP language runs on. For details, see &lt;a href=&quot;https://github.com/xp-framework/rfc/issues/242&quot;&gt;here&lt;/a&gt;.</description>
    <dc:date>2012-04-08T15:35:11+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/453/2012/04/06/New_method_peer.URL__getCanonicalURL__">  
    <title>New method peer.URL::getCanonicalURL()</title>
    <link>http://news.xp-framework.net/article/453/2012/04/06/New_method_peer.URL__getCanonicalURL__</link>
    <description>The &lt;tt&gt;peer.URL&lt;/tt&gt; class now features a new method &lt;tt&gt;getCanonicalURL&lt;/tt&gt;. URL canonicalization, or normalization, consist of:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Converting the scheme and host to lower case.&lt;/li&gt;&lt;li&gt;Capitalizing letters in escape sequences&lt;/li&gt;&lt;li&gt;Decoding percent-encoded octets of unreserved characters.&lt;/li&gt;&lt;li&gt;Adding trailing /&lt;/li&gt;&lt;li&gt;Removing the default port.&lt;/li&gt;&lt;li&gt;Removing dot-segments. &lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;For more details, see &lt;a href=&quot;https://github.com/xp-framework/xp-framework/pull/143&quot;&gt;pull request 143&lt;/a&gt;.&lt;br/&gt;</description>
    <dc:date>2012-04-06T15:56:43+02:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/452/2012/03/21/XP_on_NodeJS__Class_constants__annotations__stacktraces">  
    <title>XP on NodeJS: Class constants, annotations, stacktraces</title>
    <link>http://news.xp-framework.net/article/452/2012/03/21/XP_on_NodeJS__Class_constants__annotations__stacktraces</link>
    <description>More work has been put into the &lt;a href=&quot;/article/449/2012/02/26/XP_on_NodeJS&quot;&gt;XP on NodeJS&lt;/a&gt; experiment: The compiler now knows how to correctly emit class constants and annotations, and a couple of minor bugs have been fixed. The bigger efforts have gone into stabilizing the XP &quot;Microkernel&quot; (&lt;i&gt;which is what I've decied to call the miniature XP Framework implementation written in JavaScript and adopted to NodeJS as well as Windows Scripting Host&lt;/i&gt;):&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;We're finally getting inheritance right (or are we ? - &lt;emoticon id=&quot;regular_smile&quot; text=&quot;:-)&quot;/&gt;)?&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Class path is now assembled via &lt;tt&gt;class.pth&lt;/tt&gt; files&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Classes can reside freely inside any of the class path elements&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Stack traces are now shown, including method names and arguments&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Parent class reflection now works&lt;br/&gt;&lt;/li&gt;&lt;li&gt;The entry point scripts (tools/node.js and tools/cscript.js) are now generated from a common base&lt;br/&gt;&lt;/li&gt;&lt;li&gt;When these are invoked without arguments, they show version and classpath info&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;Here's something for you visually oriented people:&lt;br/&gt;&lt;br/&gt;&lt;center&gt;&lt;img width='651' height='374' src=&quot;/image/fetch/uploads/greet-in-xp-2.png&quot; alt=&quot;Screenshot&quot; /&gt;&lt;/center&gt;&lt;br/&gt;Finally, now, also the &lt;a href=&quot;https://github.com/xp-framework/xp-language/commit/572e8c80382ae79fbf18e6f74d9b16e244789152&quot;&gt;emitter dictates the file extension&lt;/a&gt; instead of it being hardcoded, so compiling is now completely hassle-free, no more moving the generated &lt;tt&gt;.class.php&lt;/tt&gt; files around.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To get started, visit &lt;link href=&quot;https://github.com/thekid/xp-js/&gt; !&lt;/b&gt;</description>
    <dc:date>2012-03-21T02:55:18+01:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/451/2012/03/11/XP_on_NodeJS__Flow_control__exceptions__loops">  
    <title>XP on NodeJS: Flow control, exceptions, loops</title>
    <link>http://news.xp-framework.net/article/451/2012/03/11/XP_on_NodeJS__Flow_control__exceptions__loops</link>
    <description>The &lt;a href=&quot;/article/449/2012/02/26/XP_on_NodeJS&quot;&gt;XP on NodeJS&lt;/a&gt; experiment continues to grow, with the following now implemented:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Flow control, via &lt;tt&gt;if / else&lt;/tt&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Exceptions, &lt;tt&gt;try, catch, throw&lt;/tt&gt; and &lt;tt&gt;finally&lt;/tt&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Loops - foreach, for, do and while&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;/article/397/2010/12/31/The_new_lang.Closeable_interface_and_ARM_blocks&quot;&gt;ARM blocks&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;A full list of changes can be seen in the &lt;a href=&quot;https://github.com/thekid/xp-language/compare/e146906e55...2256def986&quot;&gt;compare view&lt;/a&gt;.</description>
    <dc:date>2012-03-11T19:49:36+01:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/450/2012/03/10/5.8.5RC1__The_web">  
    <title>5.8.5RC1: The web</title>
    <link>http://news.xp-framework.net/article/450/2012/03/10/5.8.5RC1__The_web</link>
    <description>The first release candidate for 5.8.5 fixes the problems introduced with the implementation of &lt;a href=&quot;https://github.com/xp-framework/xp-framework/pull/121&quot;&gt;Pull request 121 (Case-preserving parameters / Case-insensitive lookups)&lt;/a&gt;, and holds a bit of refactoring and improvements of the REST serverside APIs.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Go get it!&lt;/b&gt;&lt;br/&gt;&lt;pre&gt;  $ cd ~/xp&lt;br/&gt;  $ wget http://releases.xp-framework.net/setup/5.8.5RC1 -O - | php -- -d ~/bin/&lt;br/&gt;&lt;/pre&gt;&lt;br/&gt;</description>
    <dc:date>2012-03-10T09:01:00+01:00</dc:date>
  </item>
  <item rdf:about="http://news.xp-framework.net/article/449/2012/02/26/XP_on_NodeJS">  
    <title>XP on NodeJS</title>
    <link>http://news.xp-framework.net/article/449/2012/02/26/XP_on_NodeJS</link>
    <description>Following discussions with Claus and Alex, with the XP compiler's long-thought-about strategy of enabling us to decouple the framework and the platform in mind, and based on the &quot;JSXP&quot; experiment I had started about a year ago, I created a first draft of a &lt;b&gt;write-once, compile, run-multiple approach&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt;This is the starting point, the XP language in a file called &lt;i&gt;Greet.xp&lt;/i&gt;.&lt;br/&gt;&lt;code&gt;&lt;span&gt;public &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; Greet &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;  protected string &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$greeting&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;string&quot;&gt;'Hello'&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;  &lt;br/&gt;  public void printGreeting&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;string? &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;    util.cmd.Console::writeLine&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;.greeting, &lt;/span&gt;&lt;span class=&quot;string&quot;&gt;' '&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;  &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;  &lt;br/&gt;  public &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; void main&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;string[] &lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$args&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;    &lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;default&quot;&gt; self&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;.printGreeting&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;$args&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;[0]&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;;&lt;br/&gt;  &lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;span class=&quot;bracket&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;default&quot;&gt;&lt;/span&gt;&lt;/code&gt;</description>
    <dc:date>2012-02-26T19:45:31+01:00</dc:date>
  </item>
</rdf:RDF>

