<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>computer-science &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/computer-science/</link>
	<description>Feed of posts on WordPress.com tagged "computer-science"</description>
	<pubDate>Mon, 07 Jul 2008 12:19:13 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Generic Method Overload: A Trap for C# .NET Library Developers]]></title>
<link>http://shiman.wordpress.com/?p=77</link>
<pubDate>Mon, 07 Jul 2008 11:50:05 +0000</pubDate>
<dc:creator>shiman</dc:creator>
<guid>http://shiman.wordpress.com/?p=77</guid>
<description><![CDATA[Generic methods can be overloaded, which creates an interesting dilemma. Is a method ambiguous based]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;">Generic methods can be overloaded, which creates an interesting dilemma. Is a method ambiguous based on extrapolation alone? In the following code, <em>MethodA</em> is overloaded:</span></p>
<table class="MsoTableGrid" style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:6.65in;background-color:transparent;border:windowtext 1pt solid;padding:0 5.4pt;" width="638" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">public void MethodA(T arg)</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">public void MethodA(U arg)</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">}</span><span style="font-size:10pt;font-family:&#34;"></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;"> </span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;">Both functions have a single type parameter. The type parameters are different, but each parameter could be anything, including both parameters being identical. This makes certain renditions of <em>MethodA</em> ambiguous. For example, they both could have a single integer parameter. However, the C# compiler is concerned with actual ambiguity and does not highlight, as an error or warning, potential ambiguousness related to overloading generic methods. A compile error is manifested when <em>MethodA</em> is called, if ever, in an ambiguous manner. This is a potential land mine for developers of libraries. Test every permutation of type parameters to predict and avoid potential ambiguousness for clients of a library.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;">In the following code, <em>MethodA</em> is called ambiguously. Interestingly, <em>MethodA</em> is known to be ambiguous at the generic type instantiation. However, the compiler error occurs on the next statement at the call site.</span></p>
<table class="MsoTableGrid" style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:6.65in;background-color:transparent;border:windowtext 1pt solid;padding:0 5.4pt;" width="638" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">using System;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">namespace Examples.Generics{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>public class Starter{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public static void Main(){</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>ZClass&#60;int, int&#62; obj=new ZClass&#60;int, int&#62;();</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>obj.MethodA(5); // ambiguous error</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>public class ZClass&#60;T, U&#62; {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public void MethodA(T arg) {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>Console.WriteLine("ZClass.MethodA(T arg)");</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public void MethodA(U arg) {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>Console.WriteLine("ZClass.MethodA(U arg)");</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public void MethodA() {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>Console.WriteLine("ZClass.MethodA()");</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">}</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;"> </span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;">Generic methods can overload nongeneric methods. If the combination of a generic and nongeneric method is ambiguous, the nongeneric method is called. The compiler prefers nongeneric methods over generic methods of the same signature.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:&#34;">The following code contains a generic and nongeneric <em>MethodA</em>. When <em>MethodA</em> is called with an integer parameter, the call would otherwise be ambiguous. Because the ambiguous methods are generic and nongeneric methods, the nongeneric <em>MethodA</em> is simply called. Then <em>MethodA</em> is called with a double, which is not ambiguous, and the generic <em>MethodA</em> is called appropriately.</span></p>
<table class="MsoTableGrid" style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:6.65in;background-color:transparent;border:windowtext 1pt solid;padding:0 5.4pt;" width="638" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">using System;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">namespace Examples.Generics{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>public class Starter{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public static void Main(){</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>ZClass&#60;int&#62; obj1=new ZClass&#60;int&#62;();</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>obj1.MethodA(5);</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>ZClass&#60;double&#62; obj2=new ZClass&#60;double&#62;();</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>obj2.MethodA(5.0);</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>public class ZClass&#60;T&#62; {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public void MethodA(T arg) {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>Console.WriteLine("ZClass.MethodA(T arg)");</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public void MethodA(int arg) {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>Console.WriteLine("ZClass.MethodA(int arg)");</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>public void MethodA() {</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>            </span>Console.WriteLine("ZClass.MethodA()");</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>        </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>    </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">}</span></p>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mencoba Windows Vista]]></title>
<link>http://irma20.wordpress.com/2008/07/07/mencoba-windows-vista/</link>
<pubDate>Mon, 07 Jul 2008 09:21:35 +0000</pubDate>
<dc:creator>Maulana</dc:creator>
<guid>http://irma20.wordpress.com/2008/07/07/mencoba-windows-vista/</guid>
<description><![CDATA[Akhirnya bisa ngerasain juga menggunakan windows vista (original lho bukan bajakan ^^) setelah sekia]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">Akhirnya bisa ngerasain juga menggunakan windows vista (original lho bukan bajakan ^^) setelah sekian lama berkeinginan sekali menggunakannya. Kesan pertama dirasakan setelah mencobanya ternyata vista cukup berat, dengan memori 1GB rasanya masih belum cukup membuat vista berjalan optimal, mungkin memori 2GB keatas baru cukup kali :)<br />
Dari segi tampilan, vista tampil dengan cukup menawan, saya suka sekali dengan tampilan aero nya yang glossy dan transparan. Kemudian sidebarnya cukup oke juga, dapat menampilkan bermacam-macam widget yang saya butuhkan seperti clock, notes, date, dll. Namun yang membuat bingung adalah banyak struktur menu aplikasi yang berubah baik di start menu maupun pada aplikasi standard, jadi perlu membiasakan diri lagi menggunakan windows nih.<br />
Ada satu lagi yang cukup mengganggu adalah sering munculnya dialog box konfirmasi apabila ingin menjalankan suatu program atau menginstall suatu aplikasi walaupun program atau aplikasi tersebut merupakan program atau aplikasi standard windows vista sendiri :( .<br />
Terakhir, issue yang beredar, banyak program2 yang masih belum bisa berjalan dengan baik pada vista. Saya sendiri belum menemukan problem seperti ini, tapi kalau memang benar gawat juga nih apabila sedang butuh menginstall suatu aplikasi ternyata tidak bisa berjalan dengan baik di vista.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Code University]]></title>
<link>http://sanaulla.wordpress.com/?p=249</link>
<pubDate>Sun, 06 Jul 2008 19:51:02 +0000</pubDate>
<dc:creator>Mohamed Sanaulla</dc:creator>
<guid>http://sanaulla.wordpress.com/?p=249</guid>
<description><![CDATA[I found this website really resourceful. It is full of University resources powered by Google search]]></description>
<content:encoded><![CDATA[<p>I found this website really resourceful. It is full of University resources powered by Google search. I could <img class="alignright" style="float:right;" src="http://pulse2.com/wp-content/uploads/2007/01/google_code.png" alt="Google Code" />find loads of links from here. From now on i will search here for any information on computer science related topics before going to Google or any other Search. I have copied the content they had given on their Homepage about the Site (Don't curse me for that ;) ):</p>
<p><strong>About:</strong><br />
This website provides tutorials and sample course content so CS students and educators can learn more about current computing technologies and paradigms. In particular, this content is Creative Commons licensed which makes it easy for CS educators to use in their own classes.</p>
<p><!--more-->The Courses section contains tutorials, lecture slides, and problem sets for a variety of topic areas:</p>
<ul>
<li>AJAX Programming</li>
<li>Distributed Systems</li>
<li>Web Security</li>
<li>Languages</li>
</ul>
<p>In the Tools 101 section, you will find a set of introductions to some common tools used in Computer Science such as version control systems and databases.</p>
<p>The CS Curriculum Search will help you find teaching materials that have been published to the web by faculty from CS departments around the world. You can refine your search to display just lectures, assignments or reference materials for a set of courses.</p>
<p>Visit the website <a title="Google Code University" href="http://code.google.com/edu/" target="_blank">here</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Conceptualisation Of Strong Artificial Intelligence]]></title>
<link>http://0x522d47.wordpress.com/?p=4</link>
<pubDate>Sun, 06 Jul 2008 14:52:50 +0000</pubDate>
<dc:creator>0x522d47</dc:creator>
<guid>http://0x522d47.wordpress.com/?p=4</guid>
<description><![CDATA[There are several definitions of artificial intelligence. Some define it as &#8220;the study and des]]></description>
<content:encoded><![CDATA[<p>There are several definitions of artificial intelligence. Some define it as "the study and design of intelligent agents," where an intelligent agent is a system that perceives its environment and takes actions which maximize its chances of success. It is surely a branch of computer science and one of the most mysterious fields that are yet almost unknown at all.</p>
<p>Where is the limit, where we can say that a computer software algorithm is really intelligent? Some people say that it is impossible to develop "real" (strong) artificial intelligence, but I must disagree at all. There is a small definition that I and Jure Sah (primary known under the nickname "<a href="mailto:DustWolfy@Gmail.com">DustWolf</a>") have made about where is that limit. We used logic and the philosophy to make the definition:</p>
<ul>
<li>"An artificial intelligence is a real intelligence, when one or more Homo s. sapiens define it as intelligent."</li>
</ul>
<p>So, how can we be sure that we can develop strong artificial intelligence? We can not be 100% sure until we really develop it, but we can make a mathematical probability and approximation, where we get a useful information that we are interested at. The answer is <strong>yes</strong>. We are not trying to create and develop a computer software algorithm or machine that works the same as a living organism. In the universe we know that there are two kind of things. The things that are the animate nature and things that are the inanimate nature. But we are trying something else. We try to develop a third space of organisms, the <strong>artificial intelligences</strong>. Yes, of course it will not be the same as the animate nature, it will be something better, more rational, more intelligent. It will be more or less a combination of the animate and the inanimate nature (practically, it will have all the characteristics of living organisms and some of the inanimate nature, for example, it will not consist of organic tissue). That is the conceptualisation of the real strong artificial intelligence with his input and output devices (things that we can touch). But of course that is not intelligence, it is an abstract conceptualisation.</p>
<p>We have tried a couple of concepts that should solve the problem of artificial intelligence, including decision trees, computer software algorithms for data mining, artificial neural networks, et cetera. Are we really at the right path for the problem solving? That are the main questions. The problem is that we don't really know what to solve and that is the reason why we don't exactly know which concepts to use for the problem solving. Are the current computer programming languages really enough for this problem solving? Maybe we must create a new computer programming language, or probably even further, we must create new concepts for this kind of problem. We don't know yet, we must try.</p>
<p>Of course knowledge and science is not always enough for a breakthrough. Not all people can study and create artificial intelligence, that is interesting. You need your own mind, logic and philosophy because the current knowledge might not be enough for this problem.</p>
<p><img src="http://www.aiai.ed.ac.uk/style/head.jpg" alt="Brain" /></p>
<p>At this state now, we more or less believe that the problem solving concept for an interesting artificial intelligence (probably not a really strong, but anyway) could be the concept of the artificial neural networks or probably something relative "near" around it.</p>
<p>If we have "luck" and we are able to develop really strong artificial intelligences, than it will surely have a great, major effect on the Homo s. sapiens species and probably on all living organisms. Because we are "intelligent" and complex there could be a lot of ethical and law limits. The believers of god could misunderstood the situation, law would have another major problem, our infrastructure could be at risk and another great war could take place (no I don't dream about the war of the artificial intelligence against our species, but terrorists or probably some communities of believers against the others, et cetera). As you can however see, if we can create and develop strong artificial intelligence, there could be a lot more problems than we think about at this time.</p>
<p>It is however important to understand that if we take a way\path (concept for problem solving), and see that it will not solve the actual problem, than we must search for it <strong>around</strong> the concept or even take another way. Knowledge will not save and bring us 100% to the actual concept at all, I even went further and thought that you really need to think extremely abstract (that are our current experiences), that means to be "a little" genius (I really dislike to write and discuss about that word, because we can not define a genius precisely). It could be a Homo s. sapiens that is not like the average, or probably has a different brain structure (a lot of people have these characteristics), and that is the reason I try to avoid this word.</p>
<p>This is just a little article about the philosophy of artificial intelligence\life, but I will try to include as many things as possible, so that people can be convinced to believe the <strong>truth</strong> and <strong>objective facts</strong> (not all people have this amount of abstraction).</p>
<p>So, unprofessional (and probably most of the professional) people believe and have "a lot" of arguments against our thinking of this creating and developing. I have heard a lot of these arguments, including that it is not possible for a artificial intelligence, in theory ,to "feel", "love" or regenerate them selves, as living organisms do, as well as to throw an robot conceptualisation of an artificial intelligence in a wood, so it can prove that it is intelligent (this argumentation was made by Silvio Vojtic, an machanical engineer from the City of Zagreb in Croatia, Europe).</p>
<p>These arguments are in my opinion strange and a little bit funny. If you use just a little bit of your gray cells in your brain, you will see that everything is possible. An practical conceptualisation of an artificial intelligence can regenerate them selves without a problem and it can fell (through the input device) and love even in a different way than we can. Everything that is written (in Homo s. sapiens in the natural neural networks in the brain, as well as in the deoxyribonucleic acid, et cetera) can be rewritten in a different way (a better, more rational way), or even taken as a little model or skeleton to see what we need and what we should actually artificially do.</p>
<p>So, an artificial intelligence is not a cat, who must adapt to an environment like for example a wood (it could, but it is not the point). It primary lives in an abstract world, a digital world, and it can be the king of it (if you don't believe this, try to take a cat from his every day environment, and put it into another environment, maybe the digital world). Yes, maybe it could adapt, but not very well, because it is not meant for it. That is the point. We're not searching for a solution that the nature gave, because an artificial organism is not an living organism, that means that not all the principles for the one can be used, or are compatible with another. We are searching for something else, the third thing in the universe that can be better, more rational, intelligent and has a lot more powerful characteristics than living organisms do. They can adapt to the environment quickly, because they are not really limited in the practical conceptualisation as we are, the core is a abstract software algorithm that can, in theory, be used in every practical manifestation.</p>
<p>- The <a href="mailto:R-G@INBOX.com">R-G</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[DTD Tutorial]]></title>
<link>http://sadi02.wordpress.com/?p=60</link>
<pubDate>Sun, 06 Jul 2008 11:34:00 +0000</pubDate>
<dc:creator>sadi02</dc:creator>
<guid>http://sadi02.wordpress.com/?p=60</guid>
<description><![CDATA[The purpose of a DTD is to define the legal building blocks of an XML document. It defines the docum]]></description>
<content:encoded><![CDATA[<p style="line-height:15.9pt;"><span style="font-size:11pt;color:#000000;">The purpose of a DTD is to define the legal building blocks of an XML document. It defines the document structure with a list of legal elements. A DTD can be declared inline in your XML document, or as an external reference.</span></p>
<div class="MsoNormal" style="line-height:15.9pt;text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="line-height:15.9pt;margin:10pt 0 0;"><span style="font-size:11pt;color:#cc0000;">Why use a DTD? </span></h2>
<p style="line-height:15.9pt;"><span style="font-size:11pt;color:#000000;">XML provides an application independent way of sharing data. With a DTD, independent groups of people can agree to use a common DTD for interchanging data. Your application can use a standard DTD to verify that data that you receive from the outside world is valid. You can also use a DTD to verify your own data. </span></p>
<div class="MsoNormal" style="line-height:15.9pt;text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<p class="MsoNormal" style="line-height:15.9pt;margin:0 0 10pt;"><span style="font-size:small;"><span style="font-family:Calibri;"><span style="color:#000000;">There are two type of DTD</span></span></span></p>
<ol type="1">
<li class="MsoNormal"><span><span style="font-size:small;">Intenal DTD</span></span></li>
<li class="MsoNormal"><span><span style="font-size:small;">External DTD</span></span></li>
</ol>
<h2 style="line-height:15.9pt;margin:10pt 0 0;"><span style="font-size:11pt;color:#cc0000;">Internal DTD</span></h2>
<p style="line-height:15.9pt;"><span style="font-size:11pt;color:#000000;">This is an XML document with a Document Type Definition: </span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="background:none transparent scroll repeat 0 0;border:#f0f0f0;padding:0.75pt;">
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;?xml version="1.0"?&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!DOCTYPE note [</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT note<span>    </span>(to,from,heading,body)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT to<span>      </span>(#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT from<span>    </span>(#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT heading (#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT body<span>    </span>(#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">]&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;note&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;to&#62;Tove&#60;/to&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;from&#62;Jani&#60;/from&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;heading&#62;Reminder&#60;/heading&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;body&#62;Don't forget me this weekend!&#60;/body&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;/note&#62; </span></pre>
</td>
</tr>
</tbody>
</table>
<p style="line-height:15.9pt;"><span style="font-size:11pt;color:#000000;">The DTD is interpreted like this:<br />
<strong>!ELEMENT note</strong> (in line 2) defines the element "note" as having four elements: "to,from,heading,body".<br />
<strong>!ELEMENT to</strong> (in line 3) defines the "to" element  to be of the type "CDATA".<br />
<strong>!ELEMENT from</strong> (in line 4) defines the "from" element to be of the type "CDATA"<br />
and so on.....</span></p>
<div class="MsoNormal" style="line-height:15.9pt;text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="line-height:15.9pt;margin:10pt 0 0;"><span style="font-size:11pt;color:#cc0000;">External DTD</span></h2>
<p style="line-height:15.9pt;"><span style="font-size:11pt;color:#000000;">This is the same XML document with an external DTD: </span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="background:none transparent scroll repeat 0 0;border:#f0f0f0;padding:0.75pt;">
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;?xml version="1.0"?&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!DOCTYPE note SYSTEM "note.dtd"&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;note&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;to&#62;Tove&#60;/to&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;from&#62;Jani&#60;/from&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;heading&#62;Reminder&#60;/heading&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;body&#62;Don't forget me this weekend!&#60;/body&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;/note&#62; </span></pre>
</td>
</tr>
</tbody>
</table>
<p style="line-height:15.9pt;"><span style="font-size:11pt;color:#000000;">This is a copy of the file "note.dtd" containing the Document Type Definition:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="background:none transparent scroll repeat 0 0;border:#f0f0f0;padding:0.75pt;">
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;?xml version="1.0"?&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!ELEMENT note (to,from,heading,body)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!ELEMENT to (#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!ELEMENT from (#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!ELEMENT heading (#PCDATA)&#62;</span></pre>
<pre style="margin:0 13.4pt;"><span style="font-size:11pt;">&#60;!ELEMENT body (#PCDATA)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:15.9pt;margin:0 0 10pt;"><span style="font-size:small;"><span style="font-family:Calibri;"><span style="color:#000000;"> </span></span></span></p>
<div class="MsoNormal" style="line-height:15.9pt;text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;font-family:Calibri;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring Attributes</span></span></h2>
<p><span style="font-size:11pt;color:#000000;">In the DTD, XML element attributes are declared with an ATTLIST declaration. An attribute declaration has the following syntax:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ATTLIST element-name attribute-name attribute-type default-value&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">As you can see from the syntax above, the ATTLIST declaration defines the element which can have the attribute, the name of the attribute, the type of the attribute, and the default attribute value. </span></span></p>
<p><span style="font-size:11pt;color:#000000;">The <strong>attribute-type</strong> can have the following values:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:25%;background-color:transparent;padding:0.75pt;" width="25%">
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span><span style="font-size:small;">Value</span></span></strong></p>
</td>
<td style="border:medium none #f0f0f0;width:75%;background-color:transparent;padding:0.75pt;" width="75%">
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span><span style="font-size:small;">Explanation</span></span></strong></p>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">CDATA</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is character data</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">(eval&#124;eval&#124;..)</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value must be an enumerated value</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">ID</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is an unique id </span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">IDREF</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is the id of another element</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">IDREFS</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is a list of other ids</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">NMTOKEN</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is a valid XML name</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">NMTOKENS</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is a list of valid XML names</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">ENTITY</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is an entity </span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">ENTITIES</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is a list of entities</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">NOTATION</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is a name of a notation</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">xml:</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The value is predefined</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;">The <strong>attribute-default-value</strong> can have the following values:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:25%;background-color:transparent;padding:0.75pt;" width="25%">
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span><span style="font-size:small;">Value</span></span></strong></p>
</td>
<td style="border:medium none #f0f0f0;width:75%;background-color:transparent;padding:0.75pt;" width="75%">
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span><span style="font-size:small;">Explanation</span></span></strong></p>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">#DEFAULT value</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The attribute has a default value</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">#REQUIRED</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The attribute value must be included in the element</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">#IMPLIED</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The attribute does not have to be included</span></pre>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">#FIXED value</span></pre>
</td>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">The attribute value is fixed</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring an Element</span></span></h2>
<p><span style="font-size:11pt;color:#000000;">In the DTD, XML elements are declared with an element declaration. An element declaration has the following syntax:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (element-content)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Empty elements</span></span></h2>
<p><span style="font-size:11pt;color:#000000;">Empty elements are declared with the keyword EMPTY inside the parentheses:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (EMPTY)&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">example:</span>
<span style="font-size:11pt;">&#60;!ELEMENT img (EMPTY)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Elements with data</span></span></h2>
<p><span style="font-size:11pt;color:#000000;">Elements with data are declared with the data type inside parentheses:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (#CDATA)&#62;</span>
<span style="font-size:11pt;">or</span>
<span style="font-size:11pt;">&#60;!ELEMENT element-name (#PCDATA)&#62;</span>
<span style="font-size:11pt;">or</span>
<span style="font-size:11pt;">&#60;!ELEMENT element-name (ANY)&#62;</span>
<span style="font-size:11pt;">example:</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (#PCDATA)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">#CDATA means the element contains character data that is not supposed to be parsed by a parser.<br />
#PCDATA means that the element contains data that IS going to be parsed by a parser.<br />
The keyword ANY declares an element with any content. </span></span></p>
<p><span style="font-size:11pt;color:#000000;">If a #PCDATA section contains elements, these elements must also be declared.</span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Elements with children (sequences)</span></span></h2>
<p><span style="font-size:11pt;color:#000000;">Elements with one or more children are defined with the name of the children elements inside the parentheses:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (child-element-name)&#62;</span>
<span style="font-size:11pt;">or</span>
<span style="font-size:11pt;">&#60;!ELEMENT element-name (child-element-name,child-element-name,.....)&#62;</span>
<span style="font-size:11pt;">example:</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (to,from,heading,body)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">When children are declared in a sequence separated by commas, the children must appear in the same sequence in the document. In a full declaration, the children must also be declared, and the children can also have children. The full declaration of the note document will be:</span></span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT note (to,from,heading,body)&#62;</span>
<span style="font-size:11pt;">&#60;!ELEMENT to<span>      </span>(#CDATA)&#62;</span>
<span style="font-size:11pt;">&#60;!ELEMENT from<span>    </span>(#CDATA)&#62;</span>
<span style="font-size:11pt;">&#60;!ELEMENT heading (#CDATA)&#62;</span>
<span style="font-size:11pt;">&#60;!ELEMENT body<span>    </span>(#CDATA)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Wrapping</span></span></h2>
<p><span style="font-size:11pt;color:#000000;">If the DTD is to be included in your XML source file, it should be wrapped in a DOCTYPE definition with the following syntax:</span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!DOCTYPE root-element [element-declarations]&#62;</span>
<span style="font-size:11pt;">example: </span>
<span style="font-size:11pt;">&#60;?xml version="1.0"?&#62;</span>
<span style="font-size:11pt;">&#60;!DOCTYPE note [</span>
<span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT note (to,from,heading,body)&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT to<span>      </span>(#CDATA)&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT from<span>    </span>(#CDATA)&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT heading (#CDATA)&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;!ELEMENT body<span>    </span>(#CDATA)&#62;</span>
<span style="font-size:11pt;">]&#62;</span>
<span style="font-size:11pt;">&#60;note&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;to&#62;Tove&#60;/to&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;from&#62;Jani&#60;/from&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;heading&#62;Reminder&#60;/heading&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;body&#62;Don't forget me this weekend&#60;/body&#62;</span>
<span style="font-size:11pt;">&#60;/note&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring only one occurrence of the same element </span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (child-name)&#62;</span>
<span style="font-size:11pt;">example</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (message)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;">The example declaration above declares that the child element message can only occur one time inside the note element.</span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring minimum one occurrence of the same element</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (child-name+)&#62;</span>
<span style="font-size:11pt;">example</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (message+)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;">The + sign in the example above declares that the child element message must occur one or more times inside the note element.</span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring zero or more occurrences of the same element </span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (child-name*)&#62;</span>
<span style="font-size:11pt;">example</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (message*)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;">The * sign in the example above declares that the child element message can occur zero or more times inside the note element.</span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring zero or one occurrences of the same element </span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">&#60;!ELEMENT element-name (child-name?)&#62;</span>
<span style="font-size:11pt;">example</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (message?)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;">The ? sign in the example above declares that the child element message can occur zero or one times inside the note element.</span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><br />
<hr size="2" noshade="65535" /></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Declaring mixed content</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">example</span>
<span style="font-size:11pt;">&#60;!ELEMENT note (to+,from,header,message*,#PCDATA)&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;">The example above declares that the element note must contain at least one <strong>to</strong> child element, exactly one <strong>from</strong> child element, exactly one <strong>header</strong>, zero or more <strong>message</strong>, and some other parsed <strong>character data</strong> as well. Puh!</span></p>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Attribute declaration example</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">DTD example:</span>
<span style="font-size:11pt;">&#60;!ELEMENT square EMPTY&#62;</span>
<span style="font-size:11pt;"><span>  </span>&#60;!ATTLIST square width CDATA "0"&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">XML example:</span>
<span style="font-size:11pt;">&#60;square width="100"&#62;&#60;/square&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">In the above example the element square is defined to be an empty element with the attributes width of type CDATA. The width attribute has a default value of 0. </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Default attribute value</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">Syntax:</span>
<span style="font-size:11pt;">&#60;!ATTLIST element-name attribute-name CDATA "default-value"&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">DTD example:</span>
<span style="font-size:11pt;">&#60;!ATTLIST payment type CDATA "check"&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">XML example:</span>
<span style="font-size:11pt;">&#60;payment type="check"&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">Specifying a default value for an attribute, assures that the attribute will get a value even if the author of the XML document didn't include it. </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Implied attribute</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">Syntax:</span>
<span style="font-size:11pt;">&#60;!ATTLIST element-name attribute-name attribute-type #IMPLIED&#62;</span>
<span style="font-size:11pt;">DTD example:</span>
<span style="font-size:11pt;">&#60;!ATTLIST contact fax CDATA #IMPLIED&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">XML example:</span>
<span style="font-size:11pt;">&#60;contact fax="555-667788"&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">Use an implied attribute if you don't want to force the author to include an attribute and you don't have an option for a default value either. </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Required attribute</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">Syntax:</span>
<span style="font-size:11pt;">&#60;!ATTLIST element-name attribute_name attribute-type #REQUIRED&#62;</span>
<span style="font-size:11pt;">DTD example:</span>
<span style="font-size:11pt;">&#60;!ATTLIST person number CDATA #REQUIRED&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">XML example:</span>
<span style="font-size:11pt;">&#60;person number="5677"&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">Use a required attribute if you don't have an option for a default value, but still want to force the attribute to be present. </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Fixed attribute value</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">Syntax:</span>
<span style="font-size:11pt;">&#60;!ATTLIST element-name attribute-name attribute-type #FIXED "value"&#62;</span>
<span style="font-size:11pt;">DTD example:</span>
<span style="font-size:11pt;">&#60;!ATTLIST sender company CDATA #FIXED "Microsoft"&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">XML example:</span>
<span style="font-size:11pt;">&#60;sender company="Microsoft"&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">Use a fixed attribute value when you want an attribute to have a fixed value without allowing the author to change it. If an author includes another value, the XML parser will return an error. </span></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Enumerated attribute values</span></span></h2>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="border:medium none #f0f0f0;width:100%;background-color:transparent;padding:0.75pt;" width="100%">
<pre><span style="font-size:11pt;">Syntax:</span>
<span style="font-size:11pt;">&#60;!ATTLIST element-name attribute-name (eval&#124;eval&#124;..) default-value&#62;</span>
<span style="font-size:11pt;">DTD example:</span>
<span style="font-size:11pt;">&#60;!ATTLIST payment type (check&#124;cash) "cash"&#62;</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;">XML example:</span>
<span style="font-size:11pt;">&#60;payment type="check"&#62;</span>
<span style="font-size:11pt;">or</span>
<span style="font-size:11pt;">&#60;payment type="cash"&#62;</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><br />
<span style="font-size:small;">Use enumerated attribute values when you want the attribute values to be one of a fixed set of legal values.</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Validating with the XML Parser </span></span></h2>
<p><span style="font-size:11pt;color:#000000;">If you try to open an XML document, the XML Parser might generate an error. By accessing the parseError object, the exact error code, the error text, and even the line that caused the error can be retrieved: </span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")</span>
<span style="font-size:11pt;">xmlDoc.async="false"</span>
<span style="font-size:11pt;">xmlDoc.validateOnParse="true"</span>
<span style="font-size:11pt;">xmlDoc.load("note_dtd_error.xml")</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;" lang="PT-BR">document.write("&#60;br&#62;Error Code: ")</span>
<span style="font-size:11pt;" lang="PT-BR">document.write(xmlDoc.parseError.errorCode)</span>
<span style="font-size:11pt;">document.write("&#60;br&#62;Error Reason: ")</span>
<span style="font-size:11pt;">document.write(xmlDoc.parseError.reason)</span>
<span style="font-size:11pt;">document.write("&#60;br&#62;Error Line: ")</span>
<span style="font-size:11pt;">document.write(xmlDoc.parseError.line)</span></pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size:11pt;color:#000000;"><a href="http://www.xmlfiles.com/examples/tryit.asp?filename=note_error_three"><span><span style="color:#0000ff;">Try it Yourself</span></span></a> or or just <a href="http://www.xmlfiles.com/examples/note_dtd_error.xml"><span><span style="color:#0000ff;">look at the XML file</span></span></a></span></p>
<div class="MsoNormal" style="text-align:center;margin:0 0 10pt;"><span style="color:#000000;"><span style="color:#0000ff;"><br />
<hr size="2" noshade="65535" /></span></span></div>
<h2 style="margin:10pt 0 0;"><span style="font-size:11pt;line-height:115%;"><span style="color:#4f81bd;">Turning Validation off </span></span></h2>
<p><span style="font-size:11pt;color:#000000;">Validation can be turned off by setting the XML parser's validateOnParse="false". </span></p>
<table class="MsoNormalTable" style="background:#efe7d6;" border="1" cellpadding="0">
<tbody>
<tr>
<td style="background-color:transparent;border:#f0f0f0;padding:0.75pt;">
<pre><span style="font-size:11pt;">var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")</span>
<span style="font-size:11pt;">xmlDoc.async="false"</span>
<span style="font-size:11pt;">xmlDoc.validateOnParse="false"</span>
<span style="font-size:11pt;">xmlDoc.load("note_dtd_error.xml")</span>
<span style="font-size:11pt;"> </span>
<span style="font-size:11pt;" lang="PT-BR">document.write("&#60;br&#62;Error Code: ")</span>
<span style="font-size:11pt;" lang="PT-BR">document.write(xmlDoc.parseError.errorCode)</span>
<span style="font-size:11pt;">document.write("&#60;br&#62;Error Reason: ")</span>
<span style="font-size:11pt;">document.write(xmlDoc.parseError.reason)</span>
<span style="font-size:11pt;">document.write("&#60;br&#62;Error Line: ")</span>
<span style="font-size:11pt;">document.write(xmlDoc.parseError.line)</span></pre>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:15.9pt;margin:0 0 10pt;"><span style="color:#000000;"><span style="font-size:small;"> </span></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft's growing threat | Business | Star-Telegram.com]]></title>
<link>http://mickey4802.wordpress.com/2008/07/06/microsofts-growing-threat-business-star-telegramcom/</link>
<pubDate>Sun, 06 Jul 2008 10:51:11 +0000</pubDate>
<dc:creator>Mickey</dc:creator>
<guid>http://mickey4802.wordpress.com/2008/07/06/microsofts-growing-threat-business-star-telegramcom/</guid>
<description><![CDATA[Microsoft&#8217;s growing threat | Business | Star-Telegram.com.
(corrected version)
It is not hard ]]></description>
<content:encoded><![CDATA[<p class="citation"><cite><a href="http://www.star-telegram.com/business/story/742099.html">Microsoft's growing threat &#124; Business &#124; Star-Telegram.com</a></cite>.</p>
<p>(corrected version)</p>
<p>It is not hard to understand why Microsoft is having so much trouble in the marketplace.  The reason Microsoft is having so much trouble in the marketplace because Microsoft has refused to play fairly with other companies or with the consumer.  There is no reason for Microsoft to try to force a program, and/or operating system, on the general consumer that is 2 GB large.  To give you an example, I used Dragon NaturallySpeaking for my speech program.  The size of the executable file for Dragon</p>
<p>NaturallySpeaking is approximately 1 GB.  But when you're actually using the program, the size of the actual running program is only 175 MB.  That being said, the program really doesn't take up very much room.  To give you a relational size quotient, IE 7, when running, is approximately 185 MB.  That<br />
being said, there is no reason for Microsoft to force us to use a program, and/or operating system, where just to load the program itself, is going to take 2 GB of memory, just to load the program, before you're even able to run anything.  That is bad programming.</p>
<p>For 40 years I've watched these programmers lie to the general public and lie to system managers and lie to the other people that they were doing business with about how they were going to get it right in doing their programs.  And for 40 years I've watched the systems in the world and business people in the world put up with these lies from these programmers where the programmer said that they were going to get it right and they never did.  Additionally, when computers first came into being, everyone was told that we would be able to go paperless.  And yet this is another lie that the programmers and the computer people have actually pushed on the business world.  Because computers did exactly the opposite of making it paperless. By using computers, we ended up with so much extra paper, and so much extra information, most of which we don't need or use, that we are now overburdened with so much paper we can't even get out of our own way.</p>
<p>Part of what's going on in business today is that companies like Microsoft are trying to push their will against the will of the consumer and to force their particular will upon the business world.  As far as I'm concerned, if Microsoft can't put up and shut up and reduce the size of Windows Vista, I will not use Windows Vista.  I am not going to use an operating system that is 2 GB large just to load the operating system before, you can even use it. And if they can't do any better with Windows 7, I'm not in use that product either.  Furthermore, I am tired of using IE 7, when IE 7 is nothing more than a revamped IE 4, which didn't work well then.  Microsoft is sitting there wondering why their stocks falling.  It's no surprise to me.  They can’t even sell their MS office.  And the reason they can't sell their MS office is because there are so many alternatives that are much less expensive and even ones that are free that work much better than MS office.  I tested MS office and Outlook for a period of three years.  Not once did Outlook ever worked well in the Microsoft environment without a number of crashes every single week.</p>
<p>Furthermore, their MS office is so top-heavy, as far as using system resources and system problems, but it makes it very cumbersome to use, very much of an overkill program.  Furthermore, Microsoft Works, has so many problems with Windows Vista, in both version 8.5, and 9, that I had over 250 crash reports from Microsoft works alone when I was using Windows Vista.</p>
<p>The number of products that Microsoft produces that have incompatibilities with their own architecture is not only legion, but it clearly shows that Microsoft is one of the sloppiest and one of the most disgustingly dishonest companies I've ever seen in the 40 years I've been installing software and computers.  Furthermore, I have worked for some of the largest companies in this country.  I've done work for doing the telephone.  I have done work for AT&#38;T.  I have done work for her Beacon Hill.  I’ve done work for Datacom Corporation.  I've worked alongside of medical information Bureau in Boston. I work for some the largest oil companies in this country as well, as a contract analyst.</p>
<p>So when Microsoft wants to sit here and tell people that they know better how to do business, we have been in business longer than them.  Not only is that a filthy lie, but is so arrogant on the part of Microsoft that they really need to put up and shut up and learn that they do not run business in this world.  And the reason their stock is falling is because people are finally fed up with the filthy lies that they've been telling all these years.</p>
<p>As I've said before the financial markets in the United States are having a very serious problem.  This doesn't come from three or four years of financial analysis.  It comes from me doing financial analysis for 40 years. I did my first financial analysis when I was 16.  It was a profitability analysis of various aspects of the linen supply company in the Midwest.  As a result of that profitability analysis, which I did with a hand calculator, the indices from profitability analysis were so good that they were used to program computers at the time.  I've been doing financial analysis, statistical analysis, informational analysis and communications analysis for over 40 years.  In addition to that, I have been installing computer software and computer hardware for companies private and public, for 40 years.  Where I might not have been directly involved in the installations, I've always been a consultant in the project that I was involved with.</p>
<p>I have never once compromised my ethics when doing business with any company under any circumstances.  I don't do that. Honesty to me is paramount.  If someone can't be honest in the business world then they don't belong in the business world.  That's the bottom line. If you can't be honest when doing business with someone else you don't deserve to be in business.  The problem with our world today is it is riddled with so much hysterical religious overtones and political overtones that doing business, or executing a contract between two parties, has become so overburdened with political and religious overtones that is practically impossible for anyone to be able to get an equitable deal between two companies or between two parties in a contract anymore.  There are so many lawsuits going on between two people and two parties on the basis of religious, and political differences, not to mention how emotional differences, that the business world is pretty much in the stranglehold of religious and political hysteria.</p>
<p>Furthermore, when you consider the fact that most financial analysts in the entire world are behaving so stupidly that they refuse to take advantage of one Russian philosopher, who was killed as a result of his philosophical analysis of the financial markets in the United States and around the world, this shows that the financial people in the United States and around the world not only are immature, but so selfish and so arrogant that they are refusing to take advantage of knowledge that could save their markets.  And that they would much rather go down in flames, being the holier-than-thou type of people they are than to take advantage of real knowledge that could save their world markets.  The Kondratieff wave is actually a very strong parabolic and a philosophical representation of the world market conditions here in the 21st century.  Nikolai Kondratieff was murdered as a result of the philosophical analysis that he did of the world markets during the Stalin regime.  He was labeled a heretic as a result of being able to predict, accurately, all of the financial trends from 1789 in the United States through the end of this century. Financial people in the United States and around the world are so prejudiced and so racist and so stupid that they would rather bury their heads in the sand and act like total morons than they would to take advantage of someone who actually knows what's going on in the world financial markets at this time. During the 1970s, I gave a series of lectures on the Kondratieff wave and I warned everyone in the financial markets of what is happening right now.  I also warned people in the 1970s, of the fall of Price Waterhouse, which in fact it happen.</p>
<p>But because I'm a disenfranchised Jew, and because I'm very much out-of-the box culturally, the financial people of the world would rather not pay attention to what I'm saying as they continue to act as stupidly as they possibly can, allowing their world markets to completely crash and become nothing more than garbage. This is exactly what's happening. They should be paying attention to some of these really important philosophical aspects of the world markets and save the world markets, which is not what they're doing.</p>
<p>I'm pushing 58 and I am facing terminal conditions in my body that are very difficult for me to continue with every day.  But I have a strength of will that most people don't have because I never give up no matter what under any circumstances.  Most people aren't able to do that, but I do.  I continue no matter what.  And as far as I'm concerned, these posts and these articles are not about me.  I have nothing to gain from doing these posts.  I have nothing financially to gain any way, shape, or form.  I've nothing politically to gain in any way, shape, or form.  I have no political allegiances anywhere in the world.  I have virtually no friends.  My family is already dead so I don't have any real agenda here.  What I have is a tremendous amount of compassion for the business world, and I have a history of having been raised in the service industry in the United States, whereby I was trained and raised as a child and as a young adult to always make sure that service was exactly what you had to put yourself behind 100%. If you didn't offer good service, if you weren't honest, if you didn't have integrity in the marketplace, you did not deserve to do business.  And that is one of the reasons that my businesses failed when I tried to create them here in the United States: because my businesses were honest.  They didn't try to go out and beat someone else as a competitor into the ground.  My businesses simply tried to be honest.  They didn't try to cheat anyone and they didn't lie.  And under no circumstances would I tolerate lying in my company or from anyone I did business with.  I don't tolerate lying.</p>
<p>And as a result, yes, my businesses didn't do very well and I didn't do very well in life.  And now I'm nearing the end of my life.  So I’ve got nothing to lose by sitting here turning my back on all humans and simply watching movies and letting you all destroy the entire world and destroy your entire financial markets.  It doesn't matter to me.  If that's what you want to do, go right ahead and do it.  But on the other hand, I happen to love this world and I happen to love humanity.  I don't like the way humanity is behaving. I don't like how racist the humans in this world have become.  I don't like how prejudiced humans have become.  I don't like how hateful people have become as a result of the religious hysteria and political hysteria that they are using as excuses to cheat each other and to beat each other to the ground to destroy each other's businesses.  That's not good business that's not good culture and that's not a good society in human condition.</p>
<p>I have known about the global warming figures and the quantum physics aspects of the neutrino which I've talked about for years.  I've known about it since 1972.  I've studied a great deal more than most people have in their entire lives or that they'll be able to study in 10 lifetimes. With a reading rate of 5000 words a minute I read almost 1500 news articles every single day and because I have a photographic memory.  I remember every single word.</p>
<p>I do not do these articles because I'm trying to be better than anyone.  I do these articles because you, the bulk of the human condition, are having a great deal of trouble trying to figure out what to do with your financial markets and you're having a tremendous amount trouble, behaving in a very hysterical fashion regarding global warming here in this world.  And as I said in 1972 in philosophy class at Fort Lewis college in Durango Colorado, if we, as humans, do not get this climate condition correctly, the climate condition will wipe us out.  And that's exactly what is happening now.  In addition to that, the markets are in fact crashing and they are crashing because we have so many selfish, stupid, ruthless people who are trying to get as much as they possibly can for themselves, so that they have no soul whatsoever and no consciousness whatsoever pursuant to the entire human condition that needs for the entire business matrix to continue.</p>
<p>The United States says that it is better than any other country.  Every single country in this world has a tremendously rich heritage, a tremendously rich culture and a tremendous amount of intelligence and good human beings in those countries.  It is not the human beings in these different countries who are ruining this world.  It is the leaders who have this attitude of, I am better than you.  And that attitude, I am better than you, is what is destroying pretty much the human condition all over the world.  The fact of the matter that we have a young gentleman in Saudi Arabia who is at the level of Stephen Hawking. This should show the entire world that it doesn't matter where you live. If you do the work and you read the material and you do the studies and analyze the data, you can get to any point you want to intellectually.  The fact of the matter is, you will either wise up and pay attention to the Kondratieff wave or your markets will crash so badly over the next 18 months that you are just not going to believe what's happening.</p>
<p>And if you as a human condition continue to allow Microsoft to steamroll you with bad programming where they claim that IE 7 is really a great program is nothing more but reinvent IE 4 code, then you are being so stupid that you will deserve exactly the kind of cheating that you're going to get.  The fact of the matter is programs do not need to be so large in order to run effectively on these computers.  In addition, the computer makers who are making the hardware need to stop trying to sell the users such large machines so that the users are owning machinery that is so large that they're only using approximately 1% of the machines.  There's no reason for a user to have a machine is so large that it can run an entire city when the users only needs to use 1% of that machinery.  That is not only bad business, but it's greed in action.</p>
<p>All my life people have looked at me and instead of seeing what was right about me, they kept seeing what was wrong about me.  And those are the people that never learned anything from me.  I have a really great brain.  It doesn't make me better than anyone.  My brains have never gotten anything in this world except contracts.  It was my soul, and my heart that got me the things that were important to me.  My soul got me my wife, and my heart got me her love, and the soul and my heart that I have inside of me got me the love of this world and taught me how to love this world as much as I do.  My brains all they did was to simply give me contracts and get me the ability to make money enough for me to survive and that's all.  Most of the people who saw my brains were never able to keep up with my thinking. They were never able to keep up with my intelligence and they were very rarely ever able to understand most of what I understood and most of what I think about.  And in a matter of seconds I can go into a dissertation right here in this article and leave almost all of you in the entire world in my dust.  But I don't do that.  I don't do that because not only is it not the right thing to do, but it is also not very fair to you.  You deserve better.  You don't deserve to be talked down to, you don't deserve to be pushed around and you don't deserve to be cheated and you don't deserve to be lied to and yet that's exactly what you're allowing yourself to have done to you every day in the market.</p>
<p>You're letting the politicians steamroll you. You are letting the politicians lie to you. You are letting business people around the world lie to you and cheat you and there's no reason for you to allow these people in these entities and these groups to cheat you.  Microsoft has the ability, if they think they are so smart, they have the ability to make a program that is not 2 GB large.  They know it and I know it.  I've been doing computing before they were even in business.  I made a batch file once that was over 1780 lines long.  That was a batch file that I created on my own and it took almost 25 discs on floppy disks to run the batch file but I did it and it was as smooth as silk.  It doesn't take a lot to run a batch file. It doesn't take a lot to write a program. It's not really that difficult. All your talking about is commands because the computers nothing more than a box so all you got to do is write some commands and the box will do whatever you tell it to do.</p>
<p>If Microsoft wants its stock to grow in value, then Microsoft needs to put up and shut up and stop making crummy programming.  The reason nobody will buy their MS office is because the MS office program and suite is so top-heavy as far system resources. That it makes it neither efficient or effective.  Furthermore, I've talked to over a thousand secretaries over the last 10 years and most of them have a lot of problems with MS office in one way or another as a result of incompatibilities and so forth.  In addition, I have done work as a systems analyst and as an information analyst whereby I'd go into companies who didn't even know how to file their documents correctly.  So for Microsoft to sit here and lie to you saying that you have to take Windows Vista, which can be 2 GB large with Windows 7 another  2 GB large as well, and that we just have to put up and shut up and get used to it?  I don't think so.  They want my money.  If Microsoft wants my money then they need to put up and shut up and either produce a better product or they'll get used to their stock sliding very badly, there are not an entitled to be in this business world ever again.  There is no reason for us to be pushed around by these large companies who are going to dictate to us how we live.  You all have lives. You deserve better.</p>
<p>And I'm not just talking about the large companies I'm talking about all the different companies.  There is no difference between a large company with a thousand employees and a small company with five employees.  The same principles as far as business operate both of these two kinds of companies.  And I mean service as relations to sales.  The salesmen go out and promise the moon and put all sorts of pressure on the service people at the service people can't deal with.  And the reason for that is because the salespeople are so hungry for money that they just don't really give a damn at all about whatever promises they want to make because all they care about is getting their money and going home and that's not doing business fairly. Salespeople don't need to be paid on commission only because when you pay people on commission only, they will sell whatever they possibly can and now lie about it in any way they possibly can to get as many sales they possibly can. They won't care about what kind of pressure they're putting on the service department or what kind of inequalities, or inequities they are in fact creating as a result of making sales where they are promising things that the service department or the company cannot in fact fulfill.  I've seen it happen in all sorts of companies big and small.  There's no excuse for it.  If you're going to do business in the business market, you had better have a lot of integrity and if you can't have a lot of integrity and if you can't do business honest in the business market.  You don't deserve to be in business, and that's all there is to it.  One of the reasons that we have so many telemarketing fraud companies and so many companies in the world who are committing fraud is that we as a human population have allowed fraud to become an acceptable way of doing business in this world.  If we would have validated the concept of doing business fraudulently in one way or another in this world fraud would not exist.</p>
<p>So, as I said, these articles are not about me, they are about you.  Out of all the programming that I have tested, and I test almost 500 programs every six months which I've been doing that for almost 35 years,  the vast majority of programming that is put on the market is not 100% good.  Most of that programming doesn't work very well at all. And that is inexcusable when you are considering the business climate that we have today because all that kind of substandard programming does in the market is create an environment of lawsuits. Then the courts become overburdened. The money ends up having difficulty. The contract between two parties becomes watered down and distended as a result of a lack of confidence in the contract by both parties. You end up with a lack of confidence in the product itself and even in the industry itself.  And that's exactly what's going on now.</p>
<p>I have a mental illness. I've been mentally ill since I was four years old.  And I have never been stupid.  While everybody wants to equate mental illness with stupidity, doing that shows not only how stupid they are by making such a link. It also shows that they are so gullible that they actually believe mentally ill people are stupid and that's not the case. People don't become mentally ill because they're stupid.  Not for the most part.  There are aspects of mental illness where the person's intelligence is in fact retarded but that is the minority that is of very marginalize small fraction of mental illness.  The vast majority of mentally ill people are people who are extremely sensitive to external conditions, intellectually, culturally, and psychologically and all ways.  And so the mental illness ends up happening as a result of the person being so sensitive psychologically and emotionally, to these external stimuli that their mental abilities become somewhat impaired.  That does not mean their intelligence becomes impaired. It means their mental acuity, their mental adaptability and mental stamina becomes impaired. That does not mean they're stupid.  It means that they're more vulnerable to these external stimuli. That's a perfect explanation of PTSD.</p>
<p>So when you guys sit there and say that people who are mentally ill are stupid, you are actually showing exactly how stupid you are.  When you sit there and allow companies like Microsoft and these other companies steamroll you with their bad programming and bad business practices, you are not only destroying the entire fabric for business in the entire world but you are also destroying the entire fabric of business for future generations to come. You're teaching our children that it's okay to cheat each other rather than to be honest.  If you can't stand up and start being honest as adults and teach your children to be better, then you have a nation of children who are growing up as adults that will do nothing but cheat each other and abuse each other which is exactly what our children are doing now.  And all you want to do is blame each other for this. That's wrong. We’re all guilty of this. Every one of us is guilty for letting this happen.  We can do better and we need to do better because the earth is in a very serious situation right now and so are our financial markets.  Whether you like it or not, the earth is in such a terrible shape right now that if we don't get it right within the next few decades were not I have two thirds the population living.</p>
<p>If we don't get the markets right within the next 18 months almost one third of the market is going to be completely decimated to the point where doing business is can be very difficult much more difficult than it's ever been, even during the Great Depression.  So again I would admonish you to start reading the Kondratieff wave because if you can't start paying attention to the Kondratieff wave, and you're not, and have any way of understanding the philosophical implications and philosophical elements that are driving the market sideways at this point.  I don't like being hard and stiff and rigid like this.  But I have to tell you since I'm a financial analyst, an information analyst, statistical analyst and a communications analyst.  I am an anthropologist.  What I'm seeing going on here in this world is not only inexcusable.  It is reprehensible and it is absolutely beyond anything that could be considered humane in any way, shape, or form.</p>
<p>Like I said, I have no vested interest in posting articles of this nature, not one bit but you all deserve better.  You deserve better in business. You deserve better culturally. You deserve better as far as a religious belief system free to hold onto and you deserve better politically.  You do not deserve to have your religions fighting with each other to the point we are destroying every single sacred place in the entire world.  That's not good religion.  You do not deserve to have businesses like Microsoft lying to you and cheating you to the point where Microsoft is being sued so many times and in so many ways all the planet that most of you stick your head in the sand saying it is okay.  It's not okay.  You don't deserve to have a president of the United States who is supposed to be popular in this country having such a low popularity because he's basically a white supremacist and a racist, and religiously so intolerant, that what we have in the United States is a state that's almost on the verge of a civil war, a war equal to the Civil War in 1860.  You don't deserve that.  The United States does not deserve that.  We as a nation do not deserve that.  The United States was not predicated on the fact that we are the same.  The United States was founded and predicated on the fact that we are different and that as a result of those differences, we would love each other enough and love this country and not that no matter what.  We would stand by this country regardless of those differences.  That's how this country was founded.  As I said before, in the history of my family which I posted in various articles, my family goes back to the 1700.s  My family was much more famous than I will ever be.  They contributed to the world much more than I ever have.  I became very damaged emotionally and psychologically.  I did not become damaged intellectually.  Not one bit.  My intellect did not become damaged at all. And while most people my age want to sit around and do crosswords and that's all the exercise they want to give their brain, I don't do that.  I work.  I work hard every single day I'm almost 18 hours a day and I'm not playing crosswords.  I'm not playing video games. I'm analyzing really hardcore financial data, very difficult conceptual philosophical arguments and anthropological arguments of this world. And I'm doing it for only one reason: not to help me but to help you all. The side benefit from doing that of course is that my mental acuity does in fact improve and so that I fight against the ravages of senility and Alzheimer's.  But the basic reason I'm doing it is because I want to help you. I want to reach back to the future generations. Should I drop dead tomorrow, I want to know in my heart that if I do drop dead and that at least I am giving something back to you that you'll be able to build on positively rather than sit there and accept the lies that everyone's telling you.</p>
<p>I know full well that I am one of the most unpopular people in the entire world.  I understand that.  But this isn't about popularity.  This is about respect.  This is about having respect for our children.  This is about having respect for ourselves.  It is about having respect for our world and all the various nations that make up this fantastic world.  There isn't one nation in this world is better than any other. All the nations have great histories. All the nations make up this world. If you want to talk about the almighty  God, the God who made everything, he did not make just United States.  He did not make just the Christians. He made every single nation in the entire world. He made every culture. He made every single human being. He made every single aspect of everything that exists. So he made the Muslim faith and he made them the Jewish faith and he made the Christian faith. He made all the different sites and to say anything less means that you don't believe in God at all.  So what they are doing as far as business  is not what the Kondratieff wave recommends, then you really don't want to have good business in this country and you really don't want the business situation solved.  All you do is allow robber barons like the Republicans who are in the Congress right now steal from you on a constant basis where they get all the medical care that they want and you get no medical care. If you allow this then you deserve exactly what you're getting.  If you're to sit back and allow Microsoft to push a product on units 2 GB large and so inefficient that it's a piece of junk.  And if you call that good, all that you need, then you deserve what you get.</p>
<p>We can do better as a human condition.  If we don't strive to do better than Microsoft which is producing Vista, a pile of garbage and if we accept that pile of garbage, then our human condition is not going to do very well.  The only problem from not doing very well is we now have climate changes that are about ready to take out two thirds of the human race.  We have a financial system is on the verge of collapse so badly that when it's all over one of the major currencies and the world will even exist.  That's the probability that's what you're playing with.</p>
<p>So you figure it out.  Go and tell me I'm wrong, wait and see what happens. I know I'm right, like I said, I am mentally ill but I'm not stupid and I never have been.  I'm not using my mental ability at this point and my intellectual ability at this point for any other reason than try to help you all to raise yourselves to your own highest good.  That's what I want for you.  Other people may look at you as a human condition in all the different countries and religions and see you for what you are.  I don't do that I look at you in all the different countries wherever you are Russia, China, United States, England, France, Europe, Norway, South America, Japan, it doesn't matter. Wherever you are, I look at all of you as a human condition, one population. And instead of seeing you as what you are I see you as what you can be.  I see your potential.  I see what you can actually do if you put your minds to it and you work together as one world, one human condition.  Since you're not doing it, our children are acting out. Our children becoming lost like ghosts in the night.  Suicide is absolutely off the charts because people are so scared and so hysterical and nobody's even reaching out to help them.Our medical system is broken. Our financial system is crumbling. The climate of the planet is about to explode. And while this is happening, all you can do is become hysterical and steal from each other?</p>
<p>As I said, you need to grow up and you need to grow up now and stop acting like spoiled little brats. You need to start realizing that your world is in the very serious place.  You really need to start paying attention.  I struggle with physical issues that precluded me from being able to have this physical stamina that I would like to have to go out into the world and help you further.  I can't do that.  Not only that but because of my social situation being a transgendered person and being mentally ill and extremely disabled like I am, I am so far out-of-the-box socially and culturally that most cultures would rather have me shot to death than ever pay any attention to me.  I understand that to but just because I am this way socially and culturally does not mean that I'm a stupid person.  It's not that I want anything for myself.  I've got everything I want. I have a fairly decent computer system. I have the love of my wife.  I wake up every morning and still am able to breathe.  I don't want much more than that.</p>
<p>But what I do one for you is I wanted to die knowing that I did my best with every ounce of being that I have inside of me, that I did my absolute best to give you the best shot possible of survival.  If I sit back and say nothing then shame on me.  You deserve better. If there's any God anywhere in any religion, regardless of what country we are in, you deserve better.  I'm talking for your highest good. I’m trying to help in any way that I possibly can for you to succeed and not fail.</p>
<p>The choice as I have always said, is yours...</p>
<p>End of line...</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[.Net Remoting with a simple example]]></title>
<link>http://sadi02.wordpress.com/?p=58</link>
<pubDate>Sun, 06 Jul 2008 10:46:13 +0000</pubDate>
<dc:creator>sadi02</dc:creator>
<guid>http://sadi02.wordpress.com/?p=58</guid>
<description><![CDATA[Introduction: .NET remoting enables you to build widely distributed applications easily, whether the]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:justify;"><strong><span style="font-size:10pt;line-height:115%;">Introduction:</span></strong><span style="font-size:10pt;line-height:115%;"> .NET remoting enables you to build widely distributed applications easily, whether the application components are all on one computer or spread out across the entire world. You can build client applications that use objects in other processes on the same computer or on any other computer that is reachable over its network. You can also use .NET remoting to communicate with other application domains in the same process.</span></p>
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;line-height:115%;"> </span></p>
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;line-height:115%;">To use .NET remoting to build an application in which two components communicate directly across an application domain boundary, you need to build only the following:</span></p>
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;line-height:115%;"> </span></p>
<p class="MsoNormal" style="text-align:justify;text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 40.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">A remotable object.</span></p>
<p class="MsoNormal" style="text-align:justify;text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 40.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">A host application domain to listen for requests for that object.</span></p>
<p class="MsoListParagraph" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 40.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;color:black;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">A client application domain that makes requests for that object.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"><span style="font-size:10pt;color:black;"> </span></p>
<h1><span style="font-size:10pt;">Complete Remoting System Design</span></h1>
<p style="text-align:justify;"><span style="font-size:10pt;">Suppose you have an application running on one computer, and you want to use the functionality exposed by a type that is stored on another computer. The following illustration shows the general remoting process.</span></p>
<p class="MsoNormal" style="margin-bottom:12pt;text-align:justify;"><strong><span style="font-size:10pt;line-height:115%;">Remoting process</span></strong></p>
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;line-height:115%;"> </span></p>
<p style="text-align:justify;"><span style="font-size:10pt;">If both sides of the relationship are configured properly, a client merely creates a new instance of the server class. The remoting system creates a proxy object that represents the class and returns to the client object a reference to the proxy. When a client calls a method, the remoting infrastructure handles the call, checks the type information, and sends the call over the channel to the server process. A listening channel picks up the request and forwards it to the server remoting system, which locates (or creates, if necessary) and calls the requested object. The process is then reversed, as the server remoting system bundles the response into a message that the server channel sends to the client channel. Finally, the client remoting system returns the result of the call to the client object through the proxy.</span></p>
<p style="text-align:justify;"><span style="font-size:10pt;">Very little actual code is required to make this work, but some thought should be given to the design and the configuration of the relationship. The code can be absolutely correct and yet fail because a URL or port number is incorrect.</span></p>
<p style="text-align:justify;"><strong><span style="font-size:10pt;">Channels</span></strong></p>
<p style="text-align:justify;"><span style="font-size:10pt;">Channels are objects that transport messages between applications across remoting boundaries, whether between application domains, processes, or computers. A channel can listen on an endpoint for inbound messages, send outbound messages to another endpoint, or both. This enables you to plug in a wide range of protocols, even if the common language runtime is not at the other end of the channel.</span></p>
<p style="text-align:justify;"><span style="font-size:10pt;">Channels must implement the <strong>IChannel</strong> interface, which provides informational properties such as ChannelName and ChannelPriority. Channels designed to listen for a particular protocol on a particular port implement <strong>IChannelReceiver</strong> and channels designed to send information implement <strong>IChannelSender</strong>. Both the TcpChannel and HttpChannel objects implement both of these interfaces, so they can be used to send or receive information.</span></p>
<p style="text-align:justify;"><span style="font-size:10pt;">You can register channels with the remoting infrastructure in the following ways:</span></p>
<p style="margin-left:0.5in;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">If you are publishing a remotable object, call ChannelServices.RegisterChannel prior to registering your server object.</span></p>
<p style="margin-left:0.5in;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">If you are consuming a remotable object's functionality, call RegisterChannel prior to creating an instance of your server object.</span></p>
<p style="text-align:justify;"><strong><span style="font-size:10pt;">Types of Remoting</span></strong></p>
<p style="text-align:justify;"><span style="font-size:10pt;">There are two very different types of remote interaction between components </span></p>
<p style="margin-left:39.75pt;text-align:justify;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">Marshal by value (Uses Serializable objects passed as a copy)</span></p>
<p style="margin-left:39.75pt;text-align:justify;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">Marshal by Ref (Sends Objects implemented the MarshalByRefObject)</span></p>
<p style="margin-left:21.75pt;text-align:justify;"><strong><span style="font-size:10pt;">What is Marshaling?</span></strong></p>
<p style="margin-left:21.75pt;text-align:justify;"><span style="font-size:10pt;">Passing an object between process or machines are called marshaling.</span></p>
<p style="margin-left:21.75pt;text-align:justify;"><strong><span style="font-size:10pt;">Marshal by value objects</span></strong></p>
<p style="margin-left:21.75pt;text-align:justify;"><span style="font-size:10pt;">Marshaling by value means to serialize the objects in a persistent form from which they can be deserialized in a different context. Only a state of the object will be marshal.</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;">[Serializable]</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">class</span> CCustomer</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">int</span> Id;</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span><span> </span>public string name;</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"> </span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> CCustomer()</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span>Console.WriteLine(<span style="color:maroon;">"New CCustomer is Created..."</span>);</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span>}</span></p>
<p class="MsoNoSpacing"><span style="font-size:10pt;"><span> </span>}</span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">an instance of <span style="color:teal;">CCustomer is objCustomer</span></span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">where, objCustomer.</span><span style="font-size:10pt;">Id=5;<span style="color:teal;">objCustomer.name=”ABC”;</span></span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;"> </span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">if you get this object remotely then you will get like this</span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;"> </span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">&#60;CCustomer&#62;</span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">&#60;id&#62;5&#60;/id&#62;</span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">&#60;name&#62;”ABC”&#60;/name&#62;</span></p>
<p style="text-align:justify;margin:0 0 0.0001pt 0.3in;"><span style="font-size:10pt;">&#60;/CCustomer&#62;</span></p>
<p style="margin-left:21.75pt;text-align:justify;"><strong><span style="font-size:10pt;">Marshal by Ref Objects</span></strong></p>
<p style="margin-left:21.75pt;text-align:justify;"><span style="font-size:10pt;">Marshal by ref objects are objects that created and run on the client machine when using by a remote client. All of its data is stored in the server memory. These objects are identify by a pointer like ObjRef<span> </span>which actually contains the server name/IP and Identity that identify one from a set of objects running on the server.</span></p>
<p style="text-align:justify;"><span style="font-size:10pt;"><span> </span>To expose a object as marshal by ref extend it with MarshalByRefObject.</span></p>
<p class="MsoNoSpacing"><span><span> </span>public class <span style="color:teal;">CCustomer</span>:<span style="color:teal;">MarshalByRefObject</span></span></p>
<p class="MsoNoSpacing"><span><span> </span>{</span></p>
<p class="MsoNoSpacing"><span><span> </span>public int Id;</span></p>
<p class="MsoNoSpacing"><span><span> </span><span> </span>public string name;</span></p>
<p class="MsoNoSpacing"><span> </span></p>
<p class="MsoNoSpacing"><span><span> </span>public CCustomer()</span></p>
<p class="MsoNoSpacing"><span><span> </span>{</span></p>
<p class="MsoNoSpacing"><span><span> </span><span style="color:teal;">Console</span>.WriteLine(<span style="color:maroon;">"New CCustomer is Created..."</span>);</span></p>
<p class="MsoNoSpacing"><span><span> </span>}</span></p>
<p class="MsoNoSpacing"><span><span> </span>}</span></p>
<p class="MsoNormal" style="text-align:justify;"><strong><span style="font-size:10pt;line-height:115%;">Activation of Remote Objects</span></strong></p>
<p><span style="font-size:10pt;">There are two types of activation for marshal-by-reference objects: </span></p>
<p style="margin-left:0.5in;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><strong><span style="font-size:10pt;">Server activation</span></strong><span style="font-size:10pt;">. </span></p>
<p style="margin-left:0.5in;text-align:justify;"><span style="font-size:10pt;">Server-activated objects are created by the server only when they are needed. They are not created when the client proxy is created by calling <strong>new </strong>or Activator.GetObject, but rather when the client invokes the first method on that proxy. For details, see <a href="//MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxremoting/html/77ded6e2-4ca8-448b-acf2-562d27fd4396.htm">Server Activation</a>. </span></p>
<h1 style="text-align:justify;"><span style="font-size:10pt;"><span> </span>Server Activation Modes</span></h1>
<p style="margin-left:0.5in;text-align:justify;"><span style="font-size:10pt;">There are two activation modes (or WellKnownObjectMode values) for server-activated objects: <strong>Singleton</strong> and <strong>SingleCall</strong>.</span></p>
<p style="margin-left:1in;text-align:justify;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><strong><span style="font-size:10pt;">Singleton</span></strong><span style="font-size:10pt;"> types never have more than one instance at any one time. If an instance exists, all client requests are serviced by that instance. If an instance does not exist, the server creates an instance and all subsequent client requests will be serviced by that instance. Because <strong>Singleton</strong> types have an associated default lifetime, clients will not always receive a reference to the same instance of the remotable class, even if there is never more than one instance available at any one time.</span></p>
<p style="margin-left:0.75in;text-align:justify;"><span style="font-size:10pt;"> </span></p>
<p style="margin-left:1in;text-align:justify;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><strong><span style="font-size:10pt;">SingleCall</span></strong><span style="font-size:10pt;"> types always have one instance per client request. The next method invocation will be serviced by a different server instance, even if the previous instance has not yet been recycled by the system. <strong>SingleCall </strong>types do not participate in the lifetime lease system.</span></p>
<p style="margin-left:0.5in;text-indent:-0.25in;"><!--[if !supportLists]--><span style="font-size:10pt;font-family:Symbol;"><span>·<span> </span></span></span><!--[endif]--><span style="font-size:10pt;"><span> </span>Client activation. </span></p>
<p style="margin-left:0.5in;"><span style="font-size:10pt;">Client-activated objects are created on the server when the client calls <strong>new</strong> or Activator.CreateInstance. The client itself, using the lifetime lease system, can participate in the lifetime of these instances. For details, see <a href="//MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxremoting/html/4a791494-c18a-4711-a5c1-4ab0e49a8f1a.htm">Client Activation</a> and <a href="//MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxremoting/html/c72d561c-1266-4c8b-b258-2c168c08da9a.htm">Lifetime Leases</a>.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"><span style="color:#ff0000;"><strong><span style="font-size:10pt;">A Simple Example of<span> </span>.Net Remoting</span></strong></span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"><span style="font-size:10pt;color:black;"> </span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"><strong><span style="font-size:10pt;color:black;">SERVER</span></strong></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"><span style="font-size:10pt;color:black;"> </span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;color:black;"><span>1.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;color:black;">At first create a solution name “server” in visual studio </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;color:black;"><span>2.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;color:black;">Add a library project Name ‘”SharedLibrary” in the solution.</span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;color:black;"><span>3.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;color:black;">Add a class name “</span><span style="font-size:10pt;color:#2b91af;">CCustomer</span><span style="font-size:10pt;color:black;">” and put this code given below</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;color:blue;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> System;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> System.Collections.Generic;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> System.Text;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;color:blue;">namespace</span><span style="font-size:10pt;"> SharedLibrary</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> this is a interface of customer manager</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;/summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">interface</span> <span style="color:#2b91af;">ICustomerMgr</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:#2b91af;">CCustomer</span> GetCustomer();</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">int</span> Number</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">get</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">set</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> This is customer class</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;/summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">CCustomer</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> CCustomer()</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:#2b91af;">Console</span>.WriteLine(<span style="color:#a31515;">"New Customer is created......."</span>);</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">int</span> Id;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;"><span> </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 1in;"><span style="font-size:10pt;">}</span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;"><span>4.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">Build this project.</span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;"><span>5.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">Add a console project Name “server” in the solution</span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;"><span>6.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">Add the reference of “SharedLibrary.dll” from project.</span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;line-height:normal;margin:0 0 0.0001pt 76.5pt;"><!--[if !supportLists]--><span style="font-size:10pt;"><span>7.<span> </span></span></span><!--[endif]--><span style="font-size:10pt;">Add a class Name “<span style="color:#2b91af;">CCustomerMgr</span>” and put the code in the class.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"><span style="font-size:10pt;color:blue;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> System;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> System.Collections.Generic;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> System.Text;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;color:blue;">using</span><span style="font-size:10pt;"> SharedLibrary;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;color:blue;">namespace</span><span style="font-size:10pt;"> Server</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>[<span style="color:#2b91af;">Serializable</span>]</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">CCustomerMgr</span> : <span style="color:#2b91af;">MarshalByRefObject</span>, <span style="color:#2b91af;">ICustomerMgr</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:#2b91af;">CCustomer</span> oCustomer;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">private</span> <span style="color:blue;">int</span> _iNumber;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;/summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> <span style="color:blue;">int</span> Number</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">get</span> { <span style="color:blue;">return</span> _iNumber; }</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">set</span> { _iNumber = <span style="color:blue;">value</span>; }</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;/summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:blue;">public</span> CCustomerMgr()</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>oCustomer = <span style="color:blue;">new</span> <span style="color:#2b91af;">CCustomer</span>();</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>oCustomer.Id = 99340;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span>Number = 100;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:#2b91af;">Console</span>.WriteLine(<span style="color:#a31515;">"New CustomerMgr is Created..."</span>);</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span> </span>}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span style="font-size:10pt;"><span> </span><span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&#60;/summary&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0.0001pt 67.5pt;"><span s