<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 - Discussions by mertsakarya</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 - Discussions by mertsakarya</title>
		<link>http://channel9.msdn.com/Niners/mertsakarya/Discussions</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Niners/mertsakarya/Discussions</link>
	<language>en</language>
	<pubDate>Fri, 24 May 2013 20:42:21 GMT</pubDate>
	<lastBuildDate>Fri, 24 May 2013 20:42:21 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>0</c9:totalResults>
	<c9:pageCount>0</c9:pageCount>
	<c9:pageSize>0</c9:pageSize>
	<item>
		<title>The Sandbox - MSServices</title>
		<description><![CDATA[<p>Hi,<br>
<br>
I've developed an application that works as a SOA gateway for HTTP. Actually I've published v.1.0.3. The original project home is at
<a target="_blank" href="http://www.codeplex.com/msservices">http://www.codeplex.com/msservices</a>&nbsp;<br>
<br>
If you are interested you can find the source there too.<br>
<br>
With this application you can call database SPs like;<br>
http://localhost/Service/Northwind.GetOrders.xls?CustomerID?ALFKI<br>
and retrieve Excel output (the output varies depending on the extension)<br>
<br>
I am at <a target="_blank" href="mailto:mertsakarya@hotmail.com">mertsakarya@hotmail.com</a>&nbsp;please feel free to contact me.<br>
<br>
Mert</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Sandbox/256646-MSServices/256646#256646</link>
		<pubDate>Mon, 30 Jul 2007 11:55:38 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Sandbox/256646-MSServices/256646#256646</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>1</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>The Sandbox - MS.Services - SOA 4 HTTP</title>
		<description><![CDATA[<p>Hi everyone<br>
<br>
Originally I posted this project at <a target="_blank" href="http://www.codeplex.com/msservices">
http://www.codeplex.com/msservices</a> <br>
<br>
I am looking for reviews.&nbsp;<br>
<br>
This application&nbsp;runs as an application server and provides data to clients through HTTP (main target is AJAX applications). You can say that this is a provider fro SOA applications. You only need .Net 2.0 framework to install.<br>
<br>
I've included sample Northwind database with the installation. After installation you can make web requests like (the urls below are fictious)<br>
<br>
<a target="_blank" href="http://localhost:1234/ServiceName.MethodName.Ext?Param=Value">http://localhost:1234/ServiceName.MethodName.Ext?Param=Value</a><br>
<br>
Where, ServiceName.MethodName is the method you want to invoke,<br>
Ext, defines the output, it&nbsp;can be either, WS (web Service), XLS (Excel), TXT (text), JSON (Javascript file) or RSS<br>
<br>
Also, you can get help with<br>
<a target="_blank" href="http://localhost:1234/ServiceName.help">http://localhost:1234/ServiceName.help<br>
</a>view WSDL file with<br>
<a target="_blank" href="http://localhost:1234/ServiceName.wsdl">http://localhost:1234/ServiceName.wsdl</a><br>
Or get JSDL file with<br>
<a target="_blank" href="http://localhost:1234/ServiceName.jsdl">http://localhost:1234/ServiceName.jsdl<br>
</a><br>
The method to execute can be a Stored Procedure execution, MSMQ insertion, .Net code or IronPython code.<br>
<br>
You can authorize and authenticate easily, log requests (to file, mail, msmq or anywhere you want), cache results (both on server and client) or even compress output with gzip.<br>
<br>
While you use these features, you don't need to write a single line of code.<br>
<br>
The code relies on Enterprise Library January 2006.<br>
<br>
I am using this code on live environment over 6 web servers where the configuration data is retrieved from database, so I can&nbsp;publish services very easily on large scaled systems. There is also a publishing system from one configuration (for development) to
 another (live) configuration.<br>
<br>
As I said I am waiting for responses. You can download from <a target="_blank" href="http://www.codeplex.com/msservices">
http://www.codeplex.com/msservices</a><br>
<br>
The source is available upon request.<br>
<br>
Regards,<br>
Mert</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Sandbox/253172-MSServices-SOA-4-HTTP/253172#253172</link>
		<pubDate>Thu, 15 Mar 2007 12:50:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Sandbox/253172-MSServices-SOA-4-HTTP/253172#253172</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>1</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - SQL XML support in IIS for 2005</title>
		<description><![CDATA[<p>Hi Darrell,</p>
<p>As far as I know, in SQL 2005, they removed IIS support for SQL XML.<br>
The latest version that supports IIS is; SQLXML 3 SP 3. Actually I am using and loving IIS support of SQLXML on live systems. You can still use SQL XML 3.<br>
<br>
Anyway, I needed the same features with authentication of SQLXML and I created a similiar application with .Net 2.0 which requires Enterprise Library January 2006 edition. Currently I am testing it with XP SP2 machine and it is working out pretty well.<br>
<br>
My idea is to generate &quot;Services&quot; that contains &quot;Atoms&quot; (atomic actions, methods) on IIS, that way you can call sp with something like,
<a href="http://www.domain.com/App/Services.Atom.ext?PRM1=1&amp;PRM2=aa">http://www.domain.com/App/Services.Atom.ext?PRM1=1&amp;PRM2=aa</a><br>
<br>
You can download the code (binaries, Web Application and source)&nbsp;at, <br>
<a href="http://workspaces.gotdotnet.com/MSServices">http://workspaces.gotdotnet.com/MSServices</a><br>
or<br>
<a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=1B979D9E-351A-49D4-8F4C-8D583C6BB396">http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=1B979D9E-351A-49D4-8F4C-8D583C6BB396</a><br>
<br>
You need Enterprise Library January 2006 and Edition Visual Studio 2005 also IIS 5 or 6 and some Database connection. The configuration design is handled through Enterprise Libraries, Configuration Tool, the source uses many of the Application Blocks in Ent
 Lib.<br>
<br>
You have executors (Database SP executor, MSMQ Executor, Assembly Executor, IronPython Executor or .NetCode Executor), the results of the executors are returned to the clients through generators (WebService, RSS, JSON, Excel or&nbsp;Text).&nbsp;<br>
<br>
If you want further discussion, you can contact me at mertsakarya@hotmail.com.<br>
<br>
Regards,<br>
Mert</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/185335-SQL-XML-support-in-IIS-for-2005/5fbf2324e3694e3cb1029dea013defb1#5fbf2324e3694e3cb1029dea013defb1</link>
		<pubDate>Sat, 06 May 2006 14:15:57 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/185335-SQL-XML-support-in-IIS-for-2005/5fbf2324e3694e3cb1029dea013defb1#5fbf2324e3694e3cb1029dea013defb1</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - What bug tracking system do you use?</title>
		<description><![CDATA[<p>We are using Bugzilla. Team of 5 developers and 4 &gt; testers. In my previous company we also used Bugzilla with 20 developers, many more testers and project owners (where I inhereted that program to my current job). Although I/we have no knowledge of Linux/Perl,
 we can pretty easily use it. Bugzilla has a lot of nice features.<br>
<br>
But we need a nice open source .Net tracker where we can modify.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/35026-What-bug-tracking-system-do-you-use/f0c5e298aed7404fa9229dea013c7932#f0c5e298aed7404fa9229dea013c7932</link>
		<pubDate>Tue, 18 Oct 2005 06:09:40 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/35026-What-bug-tracking-system-do-you-use/f0c5e298aed7404fa9229dea013c7932#f0c5e298aed7404fa9229dea013c7932</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>21</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - RSS Reader</title>
		<description><![CDATA[<p>Check this...<br>
<a href="http://sourceforge.net/projects/drssreader">http://sourceforge.net/projects/drssreader</a><br>
<br>
I am currently subscribed to 32 feeds. Some feeds contains more than 1000 items, many contains more than 500 items.
<br>
When examine it under Task Manager, it consumes 50Megs of RAM.<br>
<br>
It is pretty fast though. <br>
<br>
Also support for OPML files and&nbsp;RSS, RDF and ATOM. And archiving capabilities...<br>
<br>
The thing is I wrote it in Delphi 7 <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' />&nbsp; and looking for some support.<br>
<br>
Mert</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/121834-RSS-Reader/8b9e4da731a74648bf339deb00f5b78d#8b9e4da731a74648bf339deb00f5b78d</link>
		<pubDate>Mon, 10 Oct 2005 06:40:15 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/121834-RSS-Reader/8b9e4da731a74648bf339deb00f5b78d#8b9e4da731a74648bf339deb00f5b78d</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>25</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Creating DB independant DAL</title>
		<description><![CDATA[<p>I recommend checking out Enterprise Library 1.0 from Microsoft. Just search for &quot;Enterprise Library&quot; in MSDN, you'll find the download link.
<br>
<br>
It contains a Data Acccess Application Block, which is DB independent. And I think it contains a class named &quot;CommandWrapper&quot; for creating DB independent SP structure.<br>
<br>
Regards,<br>
Mert Sakarya<br>
<a href="mailto:mertsakarya@hotmail.com">mertsakarya@hotmail.com</a></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/74779-Creating-DB-independant-DAL/bef04de6c2b545b4845a9dea012245ab#bef04de6c2b545b4845a9dea012245ab</link>
		<pubDate>Sun, 12 Jun 2005 10:11:47 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/74779-Creating-DB-independant-DAL/bef04de6c2b545b4845a9dea012245ab#bef04de6c2b545b4845a9dea012245ab</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>10</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The name of SOAP</title>
		<description><![CDATA[<p>Isn't it time to call SOAP, OAP?</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/44326-The-name-of-SOAP/44326#44326</link>
		<pubDate>Fri, 04 Mar 2005 15:27:12 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/44326-The-name-of-SOAP/44326#44326</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>4</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - Career of a developer - How?</title>
		<description><![CDATA[<p>I am wondering, how should a software developer's career be.<br>
<br>
I have been developing software for more than fifteen years. I am working as a software architect&nbsp;and managing a team of twelve wonderful developers.
<br>
<br>
In all my training and professional life, I encouraged myself to solve problems, design and write code (to be an engineer). I always thought myself as a developer. I worked as a single developer, team member, architect and project manager. I had to choose between
 hardware and software, Systems engineer and software engineer, Microsoft and&nbsp;Unix,&nbsp;Application development and System&nbsp;Development, Web development and Windows development in time. Than specialized in selected area with keeping up with what's going on in other
 technologies.<br>
<br>
My skills are on software engineering (Microsoft and web development)&nbsp;and I am good at it. But... Managing people, dealing with daily business problems and networking between departments are not my area (I want to put my headphones on and code for days without
 interruption). Now I am pushed to be&nbsp;a manager in my career. But manager's responsibilities and skills are different than engineers.
<br>
<br>
Can an engineer be a good manager? As a manager I won't be using my main skills, I have to learn a different/new skill-set. Have I wasted my time all these years?<br>
<br>
So, I am wondering, how should a software engineer set his/her career.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/37068-Career-of-a-developer-How/37068#37068</link>
		<pubDate>Fri, 28 Jan 2005 21:57:43 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/37068-Career-of-a-developer-How/37068#37068</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>6</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - Wich Tool are you using for reading RSS Feeds?</title>
		<description><![CDATA[<p>dRSSReader<a href="http://sourceforge.net/projects/drssreader"><br>
<br>
http://sourceforge.net/projects/drssreader</a><br>
<br>
Supports RSS, RDF, ATOM and OPML<br>
Availability to Archive your own feed items and categorization.<br>
<br>
<br>
Hey, I wrote it!!!<br>
<br>
Regards,<br>
Mert Sakarya</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/29985-Wich-Tool-are-you-using-for-reading-RSS-Feeds/136ca3ce9b8e4fa896729dea0136752d#136ca3ce9b8e4fa896729dea0136752d</link>
		<pubDate>Fri, 03 Dec 2004 15:54:01 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/29985-Wich-Tool-are-you-using-for-reading-RSS-Feeds/136ca3ce9b8e4fa896729dea0136752d#136ca3ce9b8e4fa896729dea0136752d</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>30</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Just downloaded the Sharp Reader, it is extremely cool...</title>
		<description><![CDATA[<p>RSS is an XML file. It has few simple rules/tags.<br>
There are couple of versions of it. The latest version and the most used one is 2.0. You should also check ATOM which will replace RSS in the future.<br>
<br>
I've&nbsp;also written an RSS aggregator called &quot;dRSSReader&quot; which can be downloaded at
<br>
<a href="http://sourceforge.net/projects/drssreader">http://sourceforge.net/projects/drssreader</a><br>
which has Delphi 7 source.<br>
<br>
You can also find RSSBandit at<br>
<a href="http://sourceforge.net/projects/rssbandit/">http://sourceforge.net/projects/rssbandit/</a><br>
with C# code.<br>
<br>
To use RSS within HTML I also use a javascript class.<br>
All you need is to call &quot;loadRSS&quot; function with the RSS URL. I do recommend to download URL within the same domain. Otherwise IE will popup a security window.<br>
<br>
Regards<br>
Mert<br>
The code is below... <br>
<br>
//RSS Parser, Version 1.0<br>
function loadRSS(URL) {<br>
&nbsp;var xml = new ActiveXObject('MSXML2.DOMDocument.4.0');<br>
&nbsp;xml.async = false;<br>
&nbsp;xml.load(URL);<br>
&nbsp;return new RSS(xml);<br>
}</p>
<p><br>
function rss_GetNodeVal(node, XPath) {<br>
&nbsp;if(node==null) return &quot;&quot;;<br>
&nbsp;var n = node.selectSingleNode(XPath);<br>
&nbsp;return (n==null) ? &quot;&quot; : n.text;<br>
}</p>
<p>function rss_GetNodeValwBaseName(node, baseName, XPath) {<br>
&nbsp;if(node==null) return &quot;&quot;;<br>
&nbsp;var n = node.childNodes;<br>
&nbsp;for(var i = 0; i &lt; n.length; i&#43;&#43;)<br>
&nbsp;&nbsp;if(n[i].nodeName==baseName&#43;&quot;:&quot;&#43;XPath)<br>
&nbsp;&nbsp;&nbsp;return n[i].text;&nbsp;<br>
&nbsp;return &quot;&quot;;<br>
}</p>
<p>function rss_GetAsDate(str) {<br>
&nbsp;if(str != &quot;&quot;) try {<br>
&nbsp;&nbsp;return (new Date(str))<br>
&nbsp;} catch (e) {<br>
&nbsp;&nbsp;return new Date(0,0,0,0,0,0);<br>
&nbsp;} else <br>
&nbsp;&nbsp;return new Date(0,0,0,0,0,0);<br>
}</p>
<p>function rss_GetAsW3CDTFDate(str) {<br>
&nbsp;//ISO 8601 - <a href="http://www.w3.org/TR/NOTE-datetime">http://www.w3.org/TR/NOTE-datetime</a><br>
&nbsp;// YYYY-MM-DDThh:mm:ss.s&#43;02:00<br>
&nbsp;if(str.length &gt; 3) try {<br>
&nbsp;&nbsp;var year, month=1, day=1, hour=0, minute=0, sec=0, tzSign=&quot;&quot;, delta=0, tzSign=0, tzHour = 0, tzMinute = 0;<br>
&nbsp;&nbsp;year = parseInt(str.substr(0,4)); <br>
&nbsp;&nbsp;month = (parseInt(str.substr(5,2))-1); if(isNaN(month)) month = 0;<br>
&nbsp;&nbsp;day = str.substr(8,2);if(day.substr(0,1)==&quot;0&quot;) day = day.substr(1,1); day = parseInt(day);<br>
&nbsp;&nbsp;if(isNaN(day)) day = 1;<br>
&nbsp;&nbsp;var timePointer = str.indexOf(&quot;T&quot;);<br>
&nbsp;&nbsp;if(timePointer &gt;= 0) {<br>
&nbsp;&nbsp;&nbsp;hour = parseInt(str.substr(timePointer&#43;1,2)); if(isNaN(hour)) hour = 0;<br>
&nbsp;&nbsp;&nbsp;minute = parseInt(str.substr(timePointer&#43;4,2)); if(isNaN(minute)) minute = 0;<br>
&nbsp;&nbsp;&nbsp;sec = parseInt(str.substr(timePointer&#43;7,2)); if(isNaN(sec)) sec = 0;<br>
&nbsp;&nbsp;} <br>
&nbsp;&nbsp;if(str.length &gt; 6) {<br>
&nbsp;&nbsp;&nbsp;var i;<br>
&nbsp;&nbsp;&nbsp;zSign = str.charAt(str.length-6);<br>
&nbsp;&nbsp;&nbsp;if((zSign==&quot;&#43;&quot;||zSign==&quot;-&quot;) &amp;&amp; timePointer &gt;= 0) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;tzHour = parseInt(str.substr(str.length-5,2));<br>
&nbsp;&nbsp;&nbsp;&nbsp;tzMinute = parseInt(str.substr(str.length-2));<br>
&nbsp;&nbsp;&nbsp;&nbsp;if(isNaN(tzHour)) tzHour = 0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;if(isNaN(tzMinute)) tzMinute = 0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tzMinute &#43;= (tzHour * 60);<br>
&nbsp;&nbsp;&nbsp;&nbsp;delta = ((zSign==&quot;-&quot;) ? -1 : 1) * tzMinute * 60000;<br>
&nbsp;&nbsp;&nbsp;&nbsp;return new Date((Date.UTC(year, month, day, hour, minute, sec)) &#43; delta);<br>
&nbsp;&nbsp;&nbsp;} //else if(str.charAt(str.length-1)==&quot;Z&quot;)<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;return new Date(year, month, day, hour, minute, sec);<br>
&nbsp;} catch (e) {<br>
&nbsp;&nbsp;return new Date(0,0,0,0,0,0);<br>
&nbsp;} else <br>
&nbsp;&nbsp;return new Date(0,0,0,0,0,0);<br>
}</p>
<p>function RSS(xmlNode) {<br>
&nbsp;this.XmlNode = xmlNode;<br>
&nbsp;this.Items = new Array();<br>
&nbsp;var verNode = xmlNode.documentElement.selectSingleNode(&quot;@version&quot;);<br>
&nbsp;var attr, i;<br>
&nbsp;this.ToHtml=rss_ChannelToHtml;<br>
&nbsp;this.DublinCore = this.Syndication = this.Content = this.RDF = this.wfw = this.slash = &quot;&quot;;<br>
&nbsp;for(i=0; i &lt; xmlNode.documentElement.attributes.length; i&#43;&#43;) {<br>
&nbsp;&nbsp;attr = xmlNode.documentElement.attributes[i];<br>
&nbsp;&nbsp;if(attr.prefix == &quot;xmlns&quot;) {<br>
&nbsp;&nbsp;&nbsp;switch(attr.value) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;case &quot;<a href="http://purl.org/dc/elements/1.1/">http://purl.org/dc/elements/1.1/</a>&quot;: this.DublinCore = attr.baseName; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;case &quot;<a href="http://purl.org/rss/1.0/modules/syndication/">http://purl.org/rss/1.0/modules/syndication/</a>&quot;: this.Syndication = attr.baseName; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;case &quot;<a href="http://purl.org/rss/1.0/modules/content/">http://purl.org/rss/1.0/modules/content/</a>&quot;: this.Content = attr.baseName; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;case &quot;<a href="http://www.w3.org/1999/02/22-rdf-syntax-ns">http://www.w3.org/1999/02/22-rdf-syntax-ns</a>#&quot;: this.RDF = attr.baseName; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;case &quot;<a href="http://wellformedweb.org/CommentAPI/">http://wellformedweb.org/CommentAPI/</a>&quot;: this.wfw = attr.baseName; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;case &quot;<a href="http://purl.org/rss/1.0/modules/slash/">http://purl.org/rss/1.0/modules/slash/</a>&quot;: this.slash = attr.baseName; break;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;} <br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;}<br>
&nbsp;this.Version = (xmlNode.documentElement.baseName==&quot;RDF&quot;) ?&nbsp; &quot;1.0&quot; :&nbsp; ((verNode==null)?&quot;0.9&quot;:verNode.text.substr(0,3));<br>
&nbsp;var tmpNode = this.XmlNode.documentElement.childNodes[0];<br>
&nbsp;this.Link = rss_GetNodeVal(tmpNode, &quot;link&quot;);<br>
&nbsp;this.Title = rss_GetNodeVal(tmpNode, &quot;title&quot;);<br>
&nbsp;this.Description = rss_GetNodeVal(tmpNode, &quot;description&quot;);<br>
&nbsp;this.Language = rss_GetNodeVal(tmpNode, &quot;language&quot;);<br>
&nbsp;this.Copyright = rss_GetNodeVal(tmpNode, &quot;copyright&quot;);<br>
&nbsp;this.ManagingEditor = rss_GetNodeVal(tmpNode, &quot;managingEditor&quot;);<br>
&nbsp;this.WebMaster = rss_GetNodeVal(tmpNode, &quot;webMaster&quot;);<br>
&nbsp;this.PubDate = rss_GetAsDate(rss_GetNodeVal(tmpNode, &quot;pubDate&quot;));<br>
&nbsp;this.ModifiedDate = rss_GetAsDate((rss_GetNodeVal(tmpNode, &quot;lastBuildDate&quot;)));<br>
&nbsp;this.Category = rss_GetNodeVal(tmpNode, &quot;category&quot;);<br>
&nbsp;this.Category_Domain = rss_GetNodeVal(tmpNode, &quot;<a href="mailto:category/@domain">category/@domain</a>&quot;);<br>
&nbsp;this.Generator = rss_GetNodeVal(tmpNode, &quot;generator&quot;);<br>
&nbsp;this.Docs = rss_GetNodeVal(tmpNode, &quot;docs&quot;);<br>
&nbsp;this.Cloud = new RSSCloud(tmpNode.selectSingleNode(&quot;cloud&quot;));<br>
&nbsp;this.Ttl = rss_GetNodeVal(tmpNode, &quot;ttl&quot;);<br>
&nbsp;this.Image = new RSSImage(tmpNode.selectSingleNode(&quot;image&quot;));<br>
&nbsp;this.Rating = rss_GetNodeVal(tmpNode, &quot;rating&quot;);<br>
&nbsp;this.TextInput = new RSSTextInput(tmpNode.selectSingleNode(&quot;textInput&quot;));<br>
&nbsp;this.SkipHours = rss_GetNodeVal(tmpNode, &quot;skipHours&quot;);<br>
&nbsp;this.SkipDays = rss_GetNodeVal(tmpNode, &quot;skipDays&quot;);<br>
&nbsp;if(this.DublinCore!=&quot;&quot;) {<br>
&nbsp;&nbsp;if(this.Language == &quot;&quot;) this.Language = rss_GetNodeValwBaseName(tmpNode, this.DublinCore, &quot;language&quot;);<br>
&nbsp;&nbsp;this.Creator = rss_GetNodeValwBaseName(tmpNode, this.DublinCore, &quot;creator&quot;);<br>
&nbsp;&nbsp;this.Rights = rss_GetNodeValwBaseName(tmpNode, this.DublinCore, &quot;rights&quot;);<br>
&nbsp;} else {<br>
&nbsp;&nbsp;this.Creator = this.Rights = &quot;&quot;;<br>
&nbsp;}<br>
&nbsp;var nodes = tmpNode.selectNodes(&quot;item&quot;), node;<br>
&nbsp;for(var i = 0; i &lt; nodes.length; i &#43;&#43;) {<br>
&nbsp;&nbsp;node = nodes[i];<br>
&nbsp;&nbsp;this.Items.push(new RSSItem(node, this));<br>
&nbsp;}<br>
&nbsp;return this;<br>
}</p>
<p>function RSSItem(xmlNode, owner) {<br>
&nbsp;this.XmlNode = xmlNode;<br>
&nbsp;this.Owner = owner;<br>
&nbsp;this.GetComments = rss_GetComments;<br>
&nbsp;this.ToString = rss_ItemToString;<br>
&nbsp;this.ToHtml = rss_ItemToHtml;</p>
<p>&nbsp;this.Title = rss_GetNodeVal(xmlNode, &quot;title&quot;);<br>
&nbsp;this.Link = rss_GetNodeVal(xmlNode, &quot;link&quot;);<br>
&nbsp;this.Description = rss_GetNodeVal(xmlNode, &quot;description&quot;);<br>
&nbsp;<br>
&nbsp;this.Enclosure = new RSSEnclosure(xmlNode.selectSingleNode(&quot;enclosure&quot;));<br>
&nbsp;this.Image = new RSSImage(xmlNode.selectSingleNode(&quot;image&quot;));<br>
&nbsp;this.Cloud = new RSSCloud(xmlNode.selectSingleNode(&quot;cloud&quot;));<br>
&nbsp;this.TextInput = new RSSTextInput(xmlNode.selectSingleNode(&quot;textInput&quot;));<br>
&nbsp;<br>
&nbsp;this.Body = rss_GetNodeVal(xmlNode, &quot;body&quot;)<br>
&nbsp;this.Author = rss_GetNodeVal(xmlNode, &quot;author&quot;);<br>
&nbsp;this.Category = rss_GetNodeVal(xmlNode, &quot;category&quot;);<br>
&nbsp;this.Category_Domain = rss_GetNodeVal(xmlNode, &quot;<a href="mailto:category/@domain">category/@domain</a>&quot;);<br>
&nbsp;this.Comments = rss_GetNodeVal(xmlNode, &quot;comments&quot;);<br>
&nbsp;this.Guid = rss_GetNodeVal(xmlNode, &quot;guid&quot;);<br>
&nbsp;this.Guid_IsPermaLink = ( rss_GetNodeVal(xmlNode, &quot;<a href="mailto:guid/@isPermaLink">guid/@isPermaLink</a>&quot;) != &quot;false&quot;);<br>
&nbsp;this.PubDate = rss_GetAsDate(rss_GetNodeVal(xmlNode, &quot;pubDate&quot;));<br>
&nbsp;this.Source = rss_GetNodeVal(xmlNode, &quot;source&quot;);<br>
&nbsp;this.Source_Url = rss_GetNodeVal(xmlNode, &quot;<a href="mailto:source/@url">source/@url</a>&quot;);<br>
&nbsp;if(this.DublinCore!=&quot;&quot;) {<br>
&nbsp;&nbsp;//<a href="http://dublincore.org/documents/dcmi-terms/">http&#58;&#47;&#47;dublincore.org&#47;documents&#47;dcmi-terms&#47;</a><br>
&nbsp;&nbsp;if(this.Author==&quot;&quot;) this.Author= rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;creator&quot;);<br>
&nbsp;&nbsp;this.Date = rss_GetAsW3CDTFDate(rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;date&quot;));<br>
&nbsp;&nbsp;this.Subject = rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;subject&quot;);<br>
&nbsp;&nbsp;this.Publisher = rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;publisher&quot;);<br>
&nbsp;&nbsp;this.Rights = rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;rights&quot;);<br>
&nbsp;&nbsp;this.Created = rss_GetAsW3CDTFDate(rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;created&quot;));<br>
&nbsp;&nbsp;this.Valid = rss_GetAsW3CDTFDate(rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;valid&quot;));<br>
&nbsp;&nbsp;this.Available = rss_GetAsW3CDTFDate(rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;available&quot;));<br>
&nbsp;&nbsp;this.Issued = rss_GetAsW3CDTFDate(rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;issued&quot;));<br>
&nbsp;&nbsp;this.Modified = rss_GetAsW3CDTFDate(rss_GetNodeValwBaseName(xmlNode, owner.DublinCore, &quot;modified&quot;));<br>
&nbsp;} else {<br>
&nbsp;&nbsp;this.Author = this.Subject = this.Publisher = this.Rights = &quot;&quot;;<br>
&nbsp;&nbsp;this.Date = this.Created = this.Valid = this.Available = this.Issued = this.Modified = new Date(0,0,0,0,0,0);<br>
&nbsp;}<br>
&nbsp;if(this.wfw!=&quot;&quot;) {<br>
&nbsp;&nbsp;this.CommentAPI = rss_GetNodeValwBaseName(xmlNode, owner.wfw, &quot;comment&quot;);<br>
&nbsp;&nbsp;this.CommentRSS = rss_GetNodeValwBaseName(xmlNode, owner.wfw, &quot;commentRss&quot;);<br>
&nbsp;} else {<br>
&nbsp;&nbsp;this.CommentAPI = this.CommentRSS = &quot;&quot;;<br>
&nbsp;}<br>
&nbsp;if(this.slash!=&quot;&quot;) {<br>
&nbsp;&nbsp;this.CommentCount = parseInt(rss_GetNodeValwBaseName(xmlNode, owner.slash, &quot;comments&quot;));<br>
&nbsp;&nbsp;if(isNaN(this.CommentCount)) this.CommentCount = 0;<br>
&nbsp;} else {<br>
&nbsp;&nbsp;this.CommentCount = 0;<br>
&nbsp;}<br>
&nbsp;if(this.Body==&quot;&quot; &amp;&amp; this.Description != &quot;&quot;)<br>
&nbsp;&nbsp;this.Body = this.Description;<br>
&nbsp;return this;<br>
}</p>
<p>function RSSCloud(xmlNode) {<br>
&nbsp;this.XmlNode = xmlNode;<br>
&nbsp;this.Domain = rss_GetNodeVal(xmlNode, &quot;@domain&quot;);<br>
&nbsp;this.Port = rss_GetNodeVal(xmlNode, &quot;@port&quot;);<br>
&nbsp;this.Path = rss_GetNodeVal(xmlNode, &quot;@path&quot;);<br>
&nbsp;this.RegisterProcedure = rss_GetNodeVal(xmlNode, &quot;@registerProcedure&quot;);<br>
&nbsp;this.Protocol = rss_GetNodeVal(xmlNode, &quot;@protocol&quot;);<br>
&nbsp;return this;<br>
}</p>
<p>function RSSTextInput(xmlNode) {<br>
&nbsp;this.XmlNode = xmlNode;<br>
&nbsp;this.Title = rss_GetNodeVal(xmlNode, &quot;title&quot;);<br>
&nbsp;this.Description = rss_GetNodeVal(xmlNode, &quot;description&quot;);<br>
&nbsp;this.Name = rss_GetNodeVal(xmlNode, &quot;name&quot;);<br>
&nbsp;this.Link = rss_GetNodeVal(xmlNode, &quot;link&quot;);<br>
&nbsp;return this;<br>
}</p>
<p>function RSSImage(xmlNode) {<br>
&nbsp;this.XmlNode = xmlNode;<br>
&nbsp;this.Title = rss_GetNodeVal(xmlNode, &quot;title&quot;);<br>
&nbsp;this.Description = rss_GetNodeVal(xmlNode, &quot;description&quot;);<br>
&nbsp;this.Name = rss_GetNodeVal(xmlNode, &quot;name&quot;);<br>
&nbsp;this.Link = rss_GetNodeVal(xmlNode, &quot;link&quot;);<br>
&nbsp;this.Url= rss_GetNodeVal(xmlNode, &quot;url&quot;);<br>
&nbsp;this.Width = rss_GetNodeVal(xmlNode, &quot;width&quot;);<br>
&nbsp;this.Height= rss_GetNodeVal(xmlNode, &quot;height&quot;);<br>
&nbsp;this.Width = (this.Width==&quot;&quot;)?88:parseInt(this.Width);<br>
&nbsp;if(this.Width&gt;144) this.Width = 144;<br>
&nbsp;this.Height = (this.Height==&quot;&quot;)?31:parseInt(this.Height);<br>
&nbsp;if(this.Height&gt;400) this.Height = 400;<br>
&nbsp;return this;<br>
}</p>
<p>function RSSEnclosure(xmlNode) {<br>
&nbsp;this.XmlNode = xmlNode;<br>
&nbsp;this.Url = rss_GetNodeVal(xmlNode, &quot;url&quot;);<br>
&nbsp;this.Length = rss_GetNodeVal(xmlNode, &quot;length&quot;);<br>
&nbsp;this.Type = rss_GetNodeVal(xmlNode, &quot;type&quot;);<br>
&nbsp;return this;<br>
}</p>
<p><br>
function rss_GetComments() {<br>
&nbsp;if(this.CommentRSS != '')<br>
&nbsp;&nbsp;return loadRSS(this.CommentRSS);<br>
}</p>
<p>function rss_ItemToString() {<br>
var txt =&nbsp;'Channel Link = {Channel_Link}&quot;\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Channel Title = {Channel_Title}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Channel Image Title = {Channel_Img_Title}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Channel Image Url = {Channel_Img_Url}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Channel Image Link = {Channel_Img_Link}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Channel Image Width = {Channel_Img_Width}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Channel Image Height = {Channel_Img_Height}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Item_Link = {Item_Link}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Item_Title = {Item_Title}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Item_Author = {Item_Author}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Item_Comments = {Item_Comments}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Item_CommentCount = {Item_CommentCount}\n\r'&#43;<br>
&nbsp;&nbsp;&nbsp;'Item_Body = {Item_Body}\n\r';<br>
&nbsp;return _rss_Item_replace(txt, this);<br>
}</p>
<p>function rss_ItemToHtml() {<br>
&nbsp;var html =&nbsp;'&lt;table width=&quot;100%&quot; bgcolor=&quot;#cccccc&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;tr&gt;&lt;td&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((this.Owner.Image.Url=='')?'':'&lt;a href=&quot;{Channel_Img_Link}&quot;&gt;&lt;img align=&quot;left&quot; border=&quot;0&quot; src=&quot;{Channel_Img_Url}&quot; alt=&quot;{Channel_Img_Title}&quot; width=&quot;{Channel_Img_Width}&quot; height=&quot;{Channel_Img_Height}&quot;&gt;&lt;/a&gt;')&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&amp;nbsp;&lt;a href=&quot;{Channel_Link}&quot; class=&quot;black&quot;&gt;&lt;b&gt;Feed: &lt;/b&gt;{Channel_Title}&lt;/a&gt;&lt;br/&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&amp;nbsp;&lt;a href=&quot;{Item_Link}&quot; class=&quot;black&quot;&gt;&lt;b&gt;Title: &lt;/b&gt;{Item_Title}&lt;/a&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((this.Author=='')?'':'&lt;b&gt;Author: &lt;/b&gt;{Item_Author}&lt;br/&gt;')&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((this.Comments=='')?'':'&lt;a href=&quot;{Item_Comments}&quot; class=&quot;black&quot;&gt;{Item_CommentCount} Comments&lt;/a&gt;')&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/td&gt;&lt;/tr&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;tr bgcolor=&quot;#666666&quot; height=&quot;1&quot;&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/table&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'&lt;table width=&quot;100%&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot; border=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'{Item_Body}'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/td&gt;&lt;/tr&gt;'&#43;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'&lt;/table&gt;';<br>
&nbsp;return _rss_Item_replace(html, this);<br>
}</p>
<p>function _rss_Item_replace(data, item) {<br>
&nbsp;return data.replace(/{Channel_Link}/gi, item.Owner.Link<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Channel_Title}/gi, item.Owner.Title<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Channel_Img_Link}/gi, item.Owner.Image.Link<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Channel_Img_Url}/gi, item.Owner.Image.Url<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Channel_Img_Title}/gi, item.Owner.Image.Title<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Channel_Img_Width}/gi, item.Owner.Image.Width<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Channel_Img_Height}/gi, item.Owner.Image.Height<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Item_Link}/gi, item.Link<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Item_Title}/gi, item.Title<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Item_Author}/gi, item.Author<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Item_Comments}/gi, item.Comments<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Item_CommentCount}/gi, item.CommentCount<br>
&nbsp;&nbsp;&nbsp;).replace(&nbsp;/{Item_Body}/gi, item.Body<br>
&nbsp;&nbsp;&nbsp;); <br>
}</p>
<p>function rss_ChannelToHtml() {<br>
&nbsp;var aHtml = new Array();<br>
&nbsp;aHtml.push('&lt;table width=&quot;100%&quot; class=&quot;d&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;');<br>
&nbsp;aHtml.push('&lt;tr&gt;&lt;th&gt;Title&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;th&gt;Author&lt;/th&gt;&lt;th&gt;Subject&lt;/th&gt;&lt;th&gt;Category&lt;/th&gt;&lt;/tr&gt;');<br>
&nbsp;for(var i = 0; i &lt; this.Items.length; i&#43;&#43;)<br>
&nbsp;&nbsp;aHtml.push(rss_DrawChannelItemAsHtml(this.Items[i],i));<br>
&nbsp;aHtml.push('&lt;/table&gt;');<br>
&nbsp;return aHtml.join('');<br>
}</p>
<p>function rss_DrawChannelItemAsHtml(item, line) {<br>
&nbsp;var arHtml = new Array();<br>
&nbsp;arHtml.push(&quot;&lt;tr&gt;&quot;);&nbsp;<br>
&nbsp;arHtml.push('&lt;td&gt;&lt;a href=&quot;#&quot; onClick=&quot;drawLine('&#43;line&#43;')&quot; class=&quot;black&quot;&gt;'&#43;item.Title&#43;'&lt;/a&gt;&lt;/td&gt;');<br>
&nbsp;arHtml.push('&lt;td&gt;'&#43;item.Date.toLocaleString()&#43;'&lt;/td&gt;');<br>
&nbsp;arHtml.push('&lt;td&gt;'&#43;item.Author&#43;'&lt;/td&gt;');<br>
&nbsp;arHtml.push('&lt;td&gt;'&#43;item.Subject&#43;'&lt;/td&gt;');<br>
&nbsp;arHtml.push('&lt;td&gt;'&#43;item.Category&#43;'&lt;/td&gt;');<br>
&nbsp;arHtml.push(&quot;&lt;/tr&gt;&quot;);&nbsp;<br>
&nbsp;return arHtml.join('');<br>
}</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/15359-Just-downloaded-the-Sharp-Reader-it-is-extremely-cool/9c17736867594018b3a89dea0112dc7d#9c17736867594018b3a89dea0112dc7d</link>
		<pubDate>Tue, 03 Aug 2004 11:41:02 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/15359-Just-downloaded-the-Sharp-Reader-it-is-extremely-cool/9c17736867594018b3a89dea0112dc7d#9c17736867594018b3a89dea0112dc7d</guid>
		<dc:creator>mertsakarya</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/mertsakarya/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>