<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>@ Head : LINQ</title><link>http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx</link><description>Tags: LINQ</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>PDC 2010 Sessions</title><link>http://msmvps.com/blogs/bill/archive/2010/11/03/pdc-2010-sessions.aspx</link><pubDate>Wed, 03 Nov 2010 00:49:59 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1781443</guid><dc:creator>bill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1781443</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2010/11/03/pdc-2010-sessions.aspx#comments</comments><description>&lt;p&gt;You can view PDC 2010 sessions online at &lt;a href="http://microsoftpdc.com" target="_blank"&gt;microsoftpdc.com&lt;/a&gt; , but you can also download sessions to view later or copy over to your windows 7 phone &lt;img style="border-bottom-style:none;border-right-style:none;border-top-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bill.metablogapi/3678.wlEmoticon_2D00_smile_5F00_6C6C7C92.png" /&gt;&lt;/p&gt;  &lt;p&gt;The sessions info is all online in one nice big XML file :    &lt;br /&gt;&lt;a title="http://videoak.microsoftpdc.com/pdc_schedule/Schedule.xml" href="http://videoak.microsoftpdc.com/pdc_schedule/Schedule.xml"&gt;http://videoak.microsoftpdc.com/pdc_schedule/Schedule.xml&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just scroll down or search for &amp;lt;DownloadableContent&amp;gt;&lt;/p&gt;  &lt;p&gt;Or if you want you can run some XLinq on it to make it into a nice html doc. Here’s my quick and dirty attempt:    &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;pre style="line-height:normal;"&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;Dim&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; doc = &lt;/font&gt;&lt;span&gt;&lt;font color="#000088"&gt;XDocument&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.Load(&lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fefff0;" color="#a31515"&gt;&amp;quot;http://videoak.microsoftpdc.com/pdc_schedule/Schedule.xml&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;)&lt;br /&gt; &lt;br /&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;Dim&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sessions = doc&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;...&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;Session&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; &lt;br /&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;Dim&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; output = &lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;html&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#555555"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;"&gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;From&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sess &lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;In&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sessions &lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;Select&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;div&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;strong&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sess&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;.@&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;Code &lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;%&amp;gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fefff0;" color="#a31515"&gt;&amp;quot; &amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;%&amp;gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sess&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;.&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;ShortTitle&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.Value &lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;strong&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;font color="#555555"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;blockquote&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#555555"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;"&gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt; sess&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;.&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;FullDescription&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.Value &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#555555"&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;ul&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#555555"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;"&gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;From&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; content &lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;In&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sess&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;...&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;Content&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#3092b1"&gt;Select&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;a&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span&gt;&lt;font color="#b96464"&gt;href&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; content&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;.@&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;Url &lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;li&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;&amp;lt;%=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; content&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;.@&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;Title &lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;" color="#555555"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;li&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;a&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#555555"&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;ul&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;font color="#555555"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;blockquote&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;font color="#555555"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;div&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#555555"&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fffebf;"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#844646"&gt;html&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#6464b9"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; &lt;br /&gt;IO.&lt;/font&gt;&lt;span&gt;&lt;font color="#000088"&gt;File&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.WriteAllText(&lt;/font&gt;&lt;span&gt;&lt;font color="#000088"&gt;Environment&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.GetFolderPath(&lt;/font&gt;&lt;span&gt;&lt;font color="#000088"&gt;Environment&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;span&gt;&lt;font color="#000088"&gt;SpecialFolder&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;.Desktop) &amp;amp; &lt;br /&gt;                           &lt;/font&gt;&lt;span style="background-image:none;background-attachment:scroll;background-repeat:repeat;background-position:0% 0%;"&gt;&lt;font style="background-color:#fefff0;" color="#a31515"&gt;&amp;quot;\session.html&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;, output.ToString)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1781443" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Design/default.aspx">Design</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS+10/default.aspx">VS 10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item><item><title>ElementAtOrDefault</title><link>http://msmvps.com/blogs/bill/archive/2009/12/15/elementatordefault.aspx</link><pubDate>Tue, 15 Dec 2009 01:40:17 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1745625</guid><dc:creator>bill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1745625</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2009/12/15/elementatordefault.aspx#comments</comments><description>&lt;p&gt;VB 9 or later has a particular &lt;em&gt;feature&lt;/em&gt; that can make life easier in some circumstances: the compiler allows you to access indexed items on non indexed enumerables.&amp;#160;&amp;#160; Let’s say you have code such as:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Dim items as IEnumerable(Of String)     &lt;br /&gt;. . . .      &lt;br /&gt;For i = 0 to items.Count - 1      &lt;br /&gt;&amp;#160;&amp;#160; Debug.Print items(i)      &lt;br /&gt;Next&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;VB will compile that for you. The Count is an extension method that loops through the list to determine the count; luckily VB calls that only once. The real killer though is&lt;strong&gt; items(i)&lt;/strong&gt; is actually compiled as &lt;strong&gt;items.ElementAtOrDefault(i). &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;ElementAtOrDefault&lt;/strong&gt; extension tries to cast the IEnumerable(Of T) to an IList(Of T); if the IEnumerable isn’t actually an IList, it loops through the collection, returning at the given index. As you can imagine this would get extremely slow for large lists especially inside a loop.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Good:&lt;/strong&gt;    &lt;br /&gt;&amp;#160;&amp;#160; If your IEnumerable is in fact an IList, such as a List(Of T), then the compiler magically adding this extension call makes life a little easier as you don’t have to cast to IList yourself.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The BAD:     &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160; You have to be really careful when doing any code maintenance, especially if you change an IEnumerable source to a different collection base that doesn’t implement IList(Of T). You can end up writing really bad, slow code really easily.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;I got bitten by the bad, but I caught it immediately as I was curious about the collection base I was using.&amp;#160; In my particular case I had swapped an List(Of T) out with a ConcurrentBag(Of T). ConcurrentBag(Of T) basically uses linked lists where each item is stored as a node. Each node has a previous and next node; the list has a head and a tail. I thought it strange that ConcurrentBag would have an indexer given that would force walking through the nodes. I went to change the items(i) to items.Item(i) and BINGO it wouldn’t compile.&lt;/p&gt;  &lt;p&gt;Possible best practices to avoid being bitten by this:&lt;/p&gt;  &lt;p&gt;(1) Use For Each loops, not indexers. Your code will be far more flexible/manageable&lt;/p&gt;  &lt;p&gt;(2) If you only want the first item, make it explicit by using First or FirstOrDefault extensions.&lt;/p&gt;  &lt;p&gt;(3) Try to do the explicit cast to IList(Of T) yourself and work with an IList(Of T) instead of an IEnumerable(Of T)&lt;/p&gt;  &lt;p&gt;(4) Consider explicitly using the Item property , eg: items.Item(0) instead of items(0)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I’m not really comfortable with having to use the Item property: hopefully practices 1 to 3 will alleviate the need for practice 4.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1745625" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Iterators: a flag for simplification ?</title><link>http://msmvps.com/blogs/bill/archive/2009/04/21/iterators-a-flag-for-simplification.aspx</link><pubDate>Tue, 21 Apr 2009 02:02:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1689277</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1689277</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2009/04/21/iterators-a-flag-for-simplification.aspx#comments</comments><description>&lt;p&gt;A couple of months ago &lt;a href="http://msmvps.com/blogs/bill/archive/2009/02/02/iterators-in-vb-10.aspx" target="_blank"&gt;I blogged about iterators in VB&lt;/a&gt; (or the lack there-of), and pointed folks to &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2972" target="_blank"&gt;an article I wrote for Visual Studio magazine that provides snippets and templates to help with iterators in VB&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;One of the things I talk about in that article is often the use of iterators in C# code that I have seen is superfulous, especially given the LINQ libraries.&amp;#160; Yesterday I read &lt;a href="http://weblogs.asp.net/davidmccollough/archive/2009/04/19/covariant-generic-list.aspx" target="_blank"&gt;another example of this where the developer(s) had written a custom iterator instead of using a LINQ query&lt;/a&gt;. Their code required the defining of a generic class:     &lt;br /&gt;&lt;/p&gt;    &lt;blockquote&gt;     &lt;pre&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; EnumerableGeneric&amp;lt;TClass, TInterface&amp;gt; 
              : IEnumerable&amp;lt;TInterface&amp;gt; where TClass : TInterface
{
   &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; IList&amp;lt;TClass&amp;gt; list;

   &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; EnumerableGeneric(IList&amp;lt;TClass&amp;gt; list)
   {
      &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.list = list;
   }

   &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; IEnumerator&amp;lt;TInterface&amp;gt; GetEnumerator()
   {
      &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (TClass item &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; list)
      {
         yield &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; item;
      }
   }

   IEnumerator IEnumerable.GetEnumerator()
   {
      &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.GetEnumerator();
   }
}&lt;/pre&gt;
  &lt;/blockquote&gt;


&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;And the example of using this required the calling code to instantiate an instance of this class:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;MyMethod(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; EnumerableGeneric&amp;lt;ClassA, IClassInterface&amp;gt;(caInstance));&lt;/pre&gt;
  &lt;/blockquote&gt;


&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;A simpler alternative is to actually use LINQ, eg:&lt;/p&gt;

&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MyMethod(caInstance.Cast&amp;lt;IClassInterface&amp;gt;());&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;In VB talk I think it’s even more natural flowing: 
  &lt;br /&gt;

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; MyMethod(caInstance.Cast(Of IClassInterface))&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;It is in places like that I like the (Of T) syntax of VB a lot better, but some folks prefer a Cup&amp;lt;T&amp;gt; to a Cup(Of T)&amp;#160; .&amp;#160; The key point here is the use of “yield return” in C# is a good indicator that the code can often be replaced with far simpler LINQ constructs that reduce your LOC’s, and hence reduce your debugging and maintenance loads.&amp;#160; There will of course be times where there isn’t a simple LINQ replacement, but if you do ever come across custom iterators, do take pause to think about using LINQ.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1689277" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Xelement : more Value in that Value !!</title><link>http://msmvps.com/blogs/bill/archive/2009/01/05/xelement-more-value-in-that-value.aspx</link><pubDate>Mon, 05 Jan 2009 00:56:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1658488</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1658488</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2009/01/05/xelement-more-value-in-that-value.aspx#comments</comments><description>&lt;p&gt;XML is very flexible and somewhat permissive in what it allows. Consider this piece of XML:&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; el = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;item&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;&lt;strong&gt;some values&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;first&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;one&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;first&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;second&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;two&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;second&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;item&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The element named &lt;em&gt;&lt;strong&gt;item&lt;/strong&gt; &lt;/em&gt;can contain both child elements and a text value.&amp;#160; Thankfully this kind of XML is rare: it poses a heap of whitespace formatting issues, and the value itself can reside in any combination of places between the elements, eg:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; el = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;item&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;&lt;strong&gt;some values&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;first&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;one&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;first&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;&lt;span style="color:#9175bf;"&gt;&lt;strong&gt;are&lt;/strong&gt; &lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;second&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;two&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;second&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;&lt;strong&gt;in here&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;item&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;How this is interpreted is questionable. You could argue that position needs to be preserved, in which case you’d work with the Nodes property, including both the nodes of type XElement and also XText. Each of the inline values, “some values”, “ are ” and “in here”&amp;#160; are actually XText nodes.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you’re just after the Text, you need to write a helper function.&amp;#160; If you try to use the Value property you get the Value of all nested nodes.&amp;#160; Calling el.Value with the last example will output:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;some valuesone are twoin here&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The extension I slapped together is :&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &amp;lt;Extension()&amp;gt; _&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; GetText(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; el &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; XElement) &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;String&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Not&lt;/span&gt; el.HasElements &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; el.Value&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; sb &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; StringBuilder&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;For&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Each&lt;/span&gt; nd &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; XNode &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; el.Nodes&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;TypeOf&lt;/span&gt; nd &lt;span style="color:#3092b1;"&gt;Is&lt;/span&gt; XText &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt; sb.Append(nd.ToString)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Next&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; sb.ToString&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;With this the output is :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;some values are in here&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Enjoy :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1658488" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/bill/archive/tags/XML/default.aspx">XML</category></item><item><title>What we have here is a failure to communicate</title><link>http://msmvps.com/blogs/bill/archive/2008/11/14/what-we-have-here-is-a-failure-to-communicate.aspx</link><pubDate>Fri, 14 Nov 2008 02:33:49 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1654086</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1654086</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/11/14/what-we-have-here-is-a-failure-to-communicate.aspx#comments</comments><description>&lt;p&gt;you can tell from the title there’s a Friday rant coming can’t you ?&amp;#160; Well yeh, sometimes what should be a simple task of writing code becomes painstakingly slow.&amp;#160; Take for example this one line of code:&lt;/p&gt;  &lt;div style="font-size:11pt;background:white;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; doc = XDocument.Load(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;abc.xml&amp;quot;&lt;/span&gt;)&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now if you like to write robust code, somewhere in your mind there should be that voice saying, “&lt;em&gt;ah but what if the file is not there or can’t be opened or isn’t valid xml&lt;/em&gt; “…etc, etc.&amp;#160; So the first thing you probably think of doing is look at what exceptions the method can throw,&amp;#160; or so you’d hope.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problem 1&lt;/strong&gt;. VB doesn’t display the exception information from any xml documentation.&amp;#160; Our first failure to communicate that then leads us on a great chase.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problem 2&lt;/strong&gt;. Who ever wrote the XDocument.Load method actually failed to provide the exception documentation. The Load method calls external methods such as XMLReader.Create and the exceptions from that are unchecked, allowed to bubble through. The documentation should indicate an include statement to say the XMLReader.Create exceptions bubble up.&amp;#160; The author(s) of XDocument.Load failed to communicate the exceptions that could be thrown.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problem 3.&lt;/strong&gt; If you like to keep current and have installed the SilverLight 2.0 SDK, F1 help will take you to a SilverLight topic even if you are writing a Console application.&amp;#160; That little voice in your head that first said “&lt;em&gt;what if&lt;/em&gt; …” is now screaming.&amp;#160; There’s a failure to communicate between Visual Studio and MSDN help.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problem 4.&lt;/strong&gt; Your only resolve is to do the lookup in msdn help yourself, only to find the documentation has no exception information because it relies on the xml documentation (see Problem 2).&amp;#160;&amp;#160; The failure to communicate cascades.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problem 5.&lt;/strong&gt; As a last ditch desperate measure you use Reflector and walk through the code. Thankfully in this case the code is reasonably simple. The problem now is how do you get that information back into your code, so as you handle the correct exceptions ? This isn’t Relector’s fault as such, as the same problem exists if you do find the exception information in Visual Studio’s object browser. This is a failure to interact, but it can result in you not handling exceptions or documenting which exceptions bubble up from your methods, causing your code to fail to communicate. (see Problem 2.)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If religious wars were still in fashion, we’d be saying “hey what about checked exceptions al la Java ?”.&amp;#160; The more I am frustrated at how hard it is to write &lt;strong&gt;robust&lt;/strong&gt; code because of these often cascading failures to communicate, the more I want to sign up with the holly sect for checked exceptions.&lt;/p&gt;  &lt;p&gt;An alternative is to provide rich tooling and analysis.&amp;#160; Some years ago, myself and Geoff Appleby with some help from Mark Miller wrote a plug-in for refactor that did a look up based on the code you selected. It would match the method calls with their xml documentation, refine and sort the list based on inheritance rules (most specific first), and let you choose which ones to add to your code.&amp;#160; It really was simple once you got the method info, which is where refactor (or more accurately DXCore) came in. Unfortunately we hosted that project on the now defunct GotDotNet site :(&lt;/p&gt;  &lt;p&gt;Such a tool helps break the cycle here, but such a tool also needs to be used by Microsoft (see Problem 2 above), and there needs to be analysis to ensure exceptions are either handled or the documentation says what exceptions can be thrown. Writing robust code needs to be easier: we cannot just ignore exceptions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1654086" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Rant/default.aspx">Rant</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>VS 2008 SP1 Now available to MSDN subscribers</title><link>http://msmvps.com/blogs/bill/archive/2008/08/12/vs-2008-sp1-now-available-to-msdn-subscribers.aspx</link><pubDate>Mon, 11 Aug 2008 15:10:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1644245</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1644245</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/08/12/vs-2008-sp1-now-available-to-msdn-subscribers.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/subscriptions/default.aspx" target="_blank"&gt;Check out the msdn subscriber homepage&lt;/a&gt;.&amp;#160; S&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;P1 for Visual Studio 2008 English is about 830 MB… downloading at present&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;:)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Then I can install SQL 2008 :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1644245" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Generic Variance Part1 : Do you really need it ?</title><link>http://msmvps.com/blogs/bill/archive/2008/08/11/generic-variance-part1-do-you-really-need-it.aspx</link><pubDate>Mon, 11 Aug 2008 03:21:25 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1644183</guid><dc:creator>bill</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1644183</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/08/11/generic-variance-part1-do-you-really-need-it.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/vbteam/archive/2008/08/07/co-and-contra-variance-lucian-wischik.aspx" target="_blank"&gt;Lucian has kicked off the conversation on generic variance in VB&lt;/a&gt; , so I thought I’d write a few posts outlining my perspectives on the subject… the first of which is this one, and what better place to start than to question whether or not it is really needed……&lt;/p&gt; &lt;p&gt;Generics came to .NET &lt;strong&gt;&lt;em&gt;after&lt;/em&gt;&lt;/strong&gt; the base framework and languages were implemented.&amp;nbsp; It was very much a bolt-on approach.&amp;nbsp; As such there was and still is an impedance mismatch between conventional concepts of polymorphism and generics. &lt;a href="http://msmvps.com/blogs/bill/archive/2007/11/05/oh-so-you-want-polymorphism.aspx" target="_blank"&gt;As I posted previously&lt;/a&gt;, I had raised this is issue with Anders and other language experts back at the 2003 PDC (at which time Anders suggested using a language other than VB or C# &amp;lt;g&amp;gt;). Fast forward to today, and this issue is now being looked at, but now I find myself questioning if it is really needed, or is the fault the mismatch of the original framework.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Let’s take Lucian’s example :&lt;/p&gt; &lt;p&gt;Dim args As New List(Of ConstantExpression)&lt;br /&gt;args.Add(Expression.Constant(2))&lt;br /&gt;args.Add(Expression.Constant(3))&lt;br /&gt;Dim y = Expression.Call(instance, method, &lt;u&gt;&lt;strong&gt;args&lt;/strong&gt;&lt;/u&gt;) &lt;p&gt;&amp;nbsp; &lt;p&gt;This code fails because the Call method is defined as : &lt;p&gt;&amp;nbsp; &lt;div style="font-size:11pt;background:white;color:black;font-family:consolas;"&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Shared&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; [Call](&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; instance &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Expression, _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; method &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; MethodInfo, _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; arguments &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; Expression)) _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; MethodCallExpression&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;But if it was defined as follows then the code would work:
&lt;p&gt;&amp;nbsp; &lt;div style="font-size:11pt;background:white;color:black;font-family:consolas;"&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Shared&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; [Call](&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Expression) _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; instance &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Expression, _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; method &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; MethodInfo, _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; arguments &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T)) _&lt;/pre&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; MethodCallExpression&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="font-size:11pt;background:white;color:black;font-family:consolas;"&gt;&lt;pre style="margin:0px;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So where exactly is the problem ?&amp;nbsp; The simple rule is if you want polymorphism (read as “generic variance”) in your code, then you need to expose the types as generic parameters not as concrete types.&lt;/p&gt;
&lt;p&gt;That is, the above is solved by better API design and some simple refactoring.&amp;nbsp; This in fact solves 90% or more of all the cases I have seen.&amp;nbsp; The one place where you can’t do this is when the type is late bound and defined only as Object (more on this in a future post no doubt ;))&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1644183" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Generic variance and List(Of T)</title><link>http://msmvps.com/blogs/bill/archive/2008/08/08/generic-variance-and-list-of-t.aspx</link><pubDate>Fri, 08 Aug 2008 04:55:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1643886</guid><dc:creator>bill</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1643886</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/08/08/generic-variance-and-list-of-t.aspx#comments</comments><description>&lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This post has been sitting in my drafts for a while, so I thought I should post it, mainly because I want to talk about this and generic variance and arrays in more detail in the days ahead.&amp;#160; The reason this post was put on hiatus was I was waiting for &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2679" target="_blank"&gt;my article on arrays to appear in Visual Studio Magazine&lt;/a&gt;, as that deals with many of the details as to why this works ;) &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Have you ever wanted to cast a List(Of Customer) to a List(Of BusinessBase), where Customer Inherits BusinessBase, only to find that you can&amp;#39;t... well you can ;)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This extension will return an IList of BusinessBase for an input of a List(Of Customer).&amp;#160; Be aware it is the underlying array, so you will need to get the actual count from the original input.&lt;/p&gt;  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &amp;lt;Runtime.CompilerServices.Extension()&amp;gt; _&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; ToIList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T, TBase)(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; list &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; List(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T)) &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; IList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; TBase)&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; fi = &lt;span style="color:#3092b1;"&gt;GetType&lt;/span&gt;(List(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T)).GetField(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;_items&amp;quot;&lt;/span&gt;, Reflection.BindingFlags.Instance &lt;span style="color:#3092b1;"&gt;Or&lt;/span&gt; _&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;                                                      Reflection.BindingFlags.GetField &lt;span style="color:#3092b1;"&gt;Or&lt;/span&gt; _&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;                                                      Reflection.BindingFlags.NonPublic)&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;CType&lt;/span&gt;(fi.GetValue(list), IList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; TBase))&lt;/pre&gt;

&lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;And a quick test:&lt;/p&gt;

&lt;div style="font-size:11pt;background:#eff0f1;color:black;font-family:consolas;"&gt;
  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Module&lt;/span&gt; Module1&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; Main()&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; myApples &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; List(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; Apple)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; myApples.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; Apple &lt;span style="color:#3092b1;"&gt;With&lt;/span&gt; {.Name = &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;Golden Delicious&amp;quot;&lt;/span&gt;})&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; myApples.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; Apple &lt;span style="color:#3092b1;"&gt;With&lt;/span&gt; {.Name = &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;Red Delicious&amp;quot;&lt;/span&gt;})&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; myApples.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; Apple &lt;span style="color:#3092b1;"&gt;With&lt;/span&gt; {.Name = &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;Granny Smith&amp;quot;&lt;/span&gt;})&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; fruits &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; IList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; Fruit) = myApples.ToIList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; Fruit)()&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#3092b1;"&gt;To&lt;/span&gt; myApples.Count - 1&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fruits(i).Name = &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;Fruit : &amp;quot;&lt;/span&gt; &amp;amp; fruits(i).Name&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Next&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;For&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Each&lt;/span&gt; a &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; myApples&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(a.Name)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Next&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;finished&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadLine()&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &amp;lt;Runtime.CompilerServices.Extension()&amp;gt; _&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; ToIList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T, TBase)(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; list &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; List(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T)) &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; IList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; TBase)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; fi = &lt;span style="color:#3092b1;"&gt;GetType&lt;/span&gt;(List(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; T)).GetField(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;_items&amp;quot;&lt;/span&gt;, _&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;                                         Reflection.BindingFlags.Instance &lt;span style="color:#3092b1;"&gt;Or&lt;/span&gt; _&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;                                         Reflection.BindingFlags.GetField &lt;span style="color:#3092b1;"&gt;Or&lt;/span&gt; _&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;                                         Reflection.BindingFlags.NonPublic)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;CType&lt;/span&gt;(fi.GetValue(list), IList(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; TBase))&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Module&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Class&lt;/span&gt; Fruit&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Private&lt;/span&gt; _Name &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;String&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Property&lt;/span&gt; Name() &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;String&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Get&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; _Name&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Get&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Set&lt;/span&gt;(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; value &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;String&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; _Name = value&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Set&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Property&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Class&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Class&lt;/span&gt; Apple : &lt;span style="color:#3092b1;"&gt;Inherits&lt;/span&gt; Fruit&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Class&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1643886" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VSM/default.aspx">VSM</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Are iterators fundamentally flawed ?</title><link>http://msmvps.com/blogs/bill/archive/2008/08/02/are-iterators-fundamentally-flawed.aspx</link><pubDate>Sat, 02 Aug 2008 02:14:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1643060</guid><dc:creator>bill</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1643060</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/08/02/are-iterators-fundamentally-flawed.aspx#comments</comments><description>&lt;p&gt;It seems apparent that with computers as we currently know them, processors are now set to scale out not up.. that is, clock speeds aren’t rapidly growing, and certainly not doubling every year or two, instead the number of processors on a chip is.&amp;#160; As a case in evidence, 2 or 3 years ago, my PC’s were all single CPU, then a bit over a year ago I bought my new desktop PC and it was a dual core.&amp;#160; And as of a few days ago I swapped that dual core out for a quad core.&amp;#160; For me, the number of cores/CPU’s is clearly doubling every year or two, but clock speed itself isn’t that much faster.&lt;/p&gt;  &lt;p&gt;So what that means for computing is the emphasis is on parallel or concurrent computing. As such, we need to look at the fundamentals and see if they are designed for the task.&amp;#160; Iterators don’t look like they are.&lt;/p&gt;  &lt;p&gt;If you consider an iterator primary task of getting the next element, then look at how it does it, you should observe a major design flaw… the operation is not atomic. An iterator’s implementation is IEnumerator or IEnumerator(Of T), and IEnumerator require you to first call MoveNext then read the Current property.&amp;#160; If you allow multiple threads to use the same IEnumerator, then you could get a call sequence such as MoveNext, MoveNext, Current, Current, which would skip one item and repeat the next one.&amp;#160; So IEnumerator is not well designed for threading.&amp;#160; This is a known design limitation, but rather than address that, languages like C# have implemented their iterators to be a different iterator per thread.&amp;#160; That is they not only recognise the limitation but they also enforce it.&lt;/p&gt;  &lt;p&gt;Going forward, perhaps we need a new IEnumerator class.&amp;#160; In the good bad old days that would be called IEnumerator2(Of T).&amp;#160; IEnumerator2 would make iterating a single method call that would return a Tuple(Of T, Boolean).&amp;#160; It could extend IEnumerator, but it would be difficult to enforce thread safety to the IEnumerator interface. The problem that language like C# would then face is do they risk breaking existing code by returning the same enumerator to different threads ?&amp;#160; Well no they would have to provide an IEnumerable2.GetEnumerator as well, so it would be possible to have the same class used for both single instance per thread and shared class across threads.&amp;#160; As such, then the code that calls the iteration, the For Each loop, would then have to indicate whether it wants to do so using parallel or single threaded.. this would probably surface in the languages such as the For Parallel instruction on a loop.&lt;/p&gt;  &lt;p&gt;So maybe iterators aren’t fundamentally flawed, they just currently have a lot of limitations which can and hopefully will be addressed&amp;#160; as we venture more into the world of multi core :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1643060" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>SQL Timestamps</title><link>http://msmvps.com/blogs/bill/archive/2008/04/08/sql-timestamps.aspx</link><pubDate>Tue, 08 Apr 2008 11:36:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1578150</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1578150</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/04/08/sql-timestamps.aspx#comments</comments><description>&lt;p&gt;I was just &lt;a href="http://geekswithblogs.net/AndrewSiemer/archive/2008/02/11/converting-a-system.data.linq.binary-or-timestamp-to-a-string-and-back.aspx"&gt;reading a work around&lt;/a&gt; for timestamps with LINQ or WCF, and I must be stupid, but I just don&amp;#39;t get it. In fact, ever since dotnet came out mapping timestamp to a byte array or SqlBinary, I never got why they did that.&amp;nbsp; Timestamp is 8 bytes, so why not just map it to Int64 or UInt64 and for nullable timestamp columns map it to Int64? or UInt64?&lt;/p&gt; &lt;p&gt;Is there some reason why .NET maps it to a SQLBinary type even though we know it&amp;#39;s a fixed size not a variable size ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1578150" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Rant/default.aspx">Rant</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Stovell's Silverlight SyncLinq</title><link>http://msmvps.com/blogs/bill/archive/2008/04/07/stovell-s-silverlight-synclinq.aspx</link><pubDate>Mon, 07 Apr 2008 02:24:56 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1575869</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1575869</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/04/07/stovell-s-silverlight-synclinq.aspx#comments</comments><description>&lt;p&gt;Obviously Paul thinks just because he used one of my photos and then said nice things about my photos, that I&amp;#39;ll probably link to &lt;a href="http://www.paulstovell.com/blog/synclinq-for-silverlight"&gt;his demo of synclinq in silverlight&lt;/a&gt;.&amp;nbsp; ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1575869" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Can't get no VB Action ?</title><link>http://msmvps.com/blogs/bill/archive/2008/03/27/can-t-get-no-vb-action.aspx</link><pubDate>Thu, 27 Mar 2008 05:30:01 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1556123</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1556123</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/03/27/can-t-get-no-vb-action.aspx#comments</comments><description>&lt;p&gt;Paul Stovell &lt;strong&gt;&lt;em&gt;finally&lt;/em&gt;&lt;/strong&gt; &lt;a href="http://www.paulstovell.net/blog/index.php/vbnet-wheres-actiont-support/"&gt;notices the lack of support for statement lambdas in VB9&lt;/a&gt;.&amp;nbsp; Unfortunately Vb9 only supports lambda expressions such as can be expressed in today&amp;#39;s expression trees.&amp;nbsp; .NET 4.0 will most probably include support for lambda statements, and hopefully at the same time VB10 will have support for them too.&lt;/p&gt; &lt;p&gt;When support for multi statement lambdas was dropped from VB, I complained bitterly.&amp;nbsp; It&amp;#39;s a real pain, especially if you want to just add something benign like logging into a lambda: in VB9 you can&amp;#39;t easily.&amp;nbsp; Yes there are &amp;quot;work arounds&amp;quot;, but if you need to capture surrounding variables, then it&amp;#39;s a huge pain as you need to manually write the captures (promotion of local variables into fields in another class).&lt;/p&gt; &lt;p&gt;Of course fixing this feature, is on my &lt;a href="http://msmvps.com/blogs/bill/search.aspx?q=%22VB+10+thoughts%22&amp;amp;o=Relevance"&gt;VB10 wish lists&lt;/a&gt;.&amp;nbsp; It&amp;#39;s &lt;a href="http://msmvps.com/blogs/bill/archive/2007/10/05/vb-10-thoughts.aspx"&gt;listed as item 6 in the first part&lt;/a&gt; of &lt;a href="http://msmvps.com/blogs/bill/search.aspx?q=%22VB+10+thoughts%22&amp;amp;o=Relevance"&gt;VB10 feature wishes&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The nice thing for VB in all of this though, is it will probably never have to separate what can and can&amp;#39;t be expressed as an expression tree.&amp;nbsp; C# has kind of made a mess around anonymous delegates and lambdas (I&amp;#39;ve even heard Anders admit to that !). ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1556123" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category></item><item><title>Increment operators ?</title><link>http://msmvps.com/blogs/bill/archive/2008/03/25/increment-operators.aspx</link><pubDate>Tue, 25 Mar 2008 07:00:24 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1552685</guid><dc:creator>bill</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1552685</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/03/25/increment-operators.aspx#comments</comments><description>&lt;p&gt;Does VB need prefix and postfix increment and decrement operators ?&amp;nbsp; Here&amp;#39;s an example I posted today for a question on adding an index with LINQ:&lt;br /&gt;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f3f5f4;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; Main()&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; values() &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;String&lt;/span&gt; = {&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;aaa&amp;quot;&lt;/span&gt;, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;bbb&amp;quot;&lt;/span&gt;, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;ccc&amp;quot;&lt;/span&gt;}&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; index &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Int32 = -1&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; view = &lt;span style="color:#3092b1;"&gt;From&lt;/span&gt; v &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; values _&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Let&lt;/span&gt; x = increment(index) _&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Select&lt;/span&gt; x, v&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;For&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Each&lt;/span&gt; item &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; view&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(item.x &amp;amp; &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot; : &amp;quot;&lt;/span&gt; &amp;amp; item.v)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Next&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine()&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; increment(&lt;span style="color:#3092b1;"&gt;ByRef&lt;/span&gt; value &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Int32) &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Int32&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value += 1&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; value&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And this is the same code in C#:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f3f5f4;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;static&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;void&lt;/span&gt; Main(&lt;span style="color:#3092b1;"&gt;string&lt;/span&gt;[] args)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;string&lt;/span&gt;[] values = { &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;aaa&amp;quot;&lt;/span&gt;, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;bbb&amp;quot;&lt;/span&gt;, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;ccc&amp;quot;&lt;/span&gt; };&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;int&lt;/span&gt; index = -1;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;var&lt;/span&gt; view = &lt;span style="color:#3092b1;"&gt;from&lt;/span&gt; v &lt;span style="color:#3092b1;"&gt;in&lt;/span&gt; values &lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;let&lt;/span&gt; x = ++index &lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;select&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;new&lt;/span&gt;{x, v};&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#3092b1;"&gt;var&lt;/span&gt; item &lt;span style="color:#3092b1;"&gt;in&lt;/span&gt; view)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(item.x + &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot; : &amp;quot;&lt;/span&gt; + item.v);&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.ReadLine();&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Note in C# I didn&amp;#39;t need to write the increment function.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1552685" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category></item><item><title>More on videos from Lang.NET symposium</title><link>http://msmvps.com/blogs/bill/archive/2008/02/23/more-on-videos-from-lang-net-symposium.aspx</link><pubDate>Sat, 23 Feb 2008 02:05:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1522094</guid><dc:creator>bill</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1522094</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/02/23/more-on-videos-from-lang-net-symposium.aspx#comments</comments><description>&lt;p&gt;If you want to download the videos to watch later, or to happily play them faster, skip ahead etc, then you can grab the .wmv files instead of having to watch them in a browser in silverlight.&amp;nbsp; I like to increase the play speed in parts and silverlight doesn&amp;#39;t allow that ;)&amp;nbsp; To get the .wmv&amp;#39;s, go to the &lt;a href="http://langnetsymposium.com/agenda.asp" target="_blank"&gt;Agenda page&lt;/a&gt; and right click on a shortcut to a video and select Copy Shortcut.&amp;nbsp; The shortcut will be to a html page. What you need to do is remove the .html and replace it with .wmv, and add the Videos subdirectory to the talks path, e.g:&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;a href="http://langnetsymposium.com/talks/1-01%20-%20CSharp3%20-%20Anders%20Hejlsberg.html"&gt;http://langnetsymposium.com/talks/1-01%20-%20CSharp3%20-%20Anders%20Hejlsberg.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;becomes&lt;/p&gt; &lt;p&gt;&lt;a href="http://langnetsymposium.com/talks/Videos/1-01%20-%20CSharp3%20-%20Anders%20Hejlsberg.wmv"&gt;http://langnetsymposium.com/talks/&lt;strong&gt;&lt;font color="#ff0000"&gt;Videos&lt;/font&gt;&lt;/strong&gt;/1-01%20-%20CSharp3%20-%20Anders%20Hejlsberg.&lt;font color="#ff0000"&gt;&lt;strong&gt;wmv&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And now onto reviews/thoughts:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;C# 3.0 by Anders Hejlsberg.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The first hour of this presentation is on c# 3.0 and how they got there.&amp;nbsp; If you don&amp;#39;t get LINQ or how all the language features in C# 3.0 revolve around that watch it, otherwise skip to just before the 1 hour mark where the talk starts to look forward.&lt;/p&gt; &lt;p&gt;Some things to note: Anders states emphatically that VB and C# &amp;quot;will stay roughly in sync&amp;quot; which is something they &amp;quot;are explicitly committing to&amp;quot; as they have both large users bases that have the same innate desire for the same feature set.&amp;nbsp; So hopefully that puts an end to the artificial segregation I hear people try to conjure up ;)&amp;nbsp; BTW: was that an Aussie asking that question (Wayne Kelly?) ??? Typical ;)&lt;/p&gt; &lt;p&gt;It was also good to hear they are still trying to figure out a good way of doing INumeric and still looking at making nullable types more intrinsic.&lt;/p&gt; &lt;p&gt;On Expressions trees it seems we will see some improvements going forward. Most notably, expression trees will allow annotations that should make the debugging better.&amp;nbsp; No-one asked about Edit and Continue with expression trees, which was a shame.&amp;nbsp; Closures do cause issues there, but apart from that I don&amp;#39;t see why we couldn&amp;#39;t have E&amp;amp;C, especially if the tree can be easily related back to the source via annotations :)&lt;/p&gt; &lt;p&gt;Expression trees are also likely to support &amp;quot;statements&amp;quot; in the future.&amp;nbsp; This adds even more pressure for VB to provide support for multi statement lambdas.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;On a side note, I raised an eyebrow when I heard Anders say &amp;quot;bloody&amp;quot; in his presentation. He did the same in the last video I watched of him.&amp;nbsp; Maybe it&amp;#39;s a cultural/upbringing thing, but there&amp;#39;s certainly nothing nice about bloody unless it is a steak.&amp;nbsp; If he wants to swear he should say fucking, as we all enjoy that ;)&amp;nbsp; Of course that wasn&amp;#39;t as bad as the unfortunate name one of the questioners had for their language &amp;lt;g&amp;gt;&lt;/p&gt; &lt;p&gt;One funny thing to note was Anders continually referred to namespace importing as &amp;quot;Importing&amp;quot;.&amp;nbsp; Yes that&amp;#39;s the Imports keyword in VB, whereas it&amp;#39;s the Using directive in C#. Just funny to note how we sometimes use terms from other programming languages, such as I generally use the term static instead of Shared.&amp;nbsp; Hopefully language designers consider the natural phrases. For example, going forward, is &amp;quot;Extends&amp;quot; really the right word for mix-ins given there&amp;#39;s already Extension methods and more significantly it is the general term we often use for inheritance, and as in the case in Java.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1522094" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Life/default.aspx">Life</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Rant/default.aspx">Rant</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Add As Link</title><link>http://msmvps.com/blogs/bill/archive/2008/01/17/add-as-link.aspx</link><pubDate>Wed, 16 Jan 2008 15:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1466070</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;in VB 2008 you get a great intellisense experience when working with XML axis properties if you add the schema(s) to your project.&amp;nbsp; You don&amp;#39;t need to add the actual schema, you can just add a link.&amp;nbsp;&amp;nbsp; From the Project menu select Add Existing Item, browse to the xsd file then do NOT click Add, instead click the drop down arrow next to Add and select Add As Link.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height="522" alt="addaslink" src="http://msmvps.com/blogs/bill/WindowsLiveWriter/AddAsLink_2620/addaslink_3.png" width="744" border="0" /&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;One thing to be aware of is the path is stored in your project file (.vbproj) as a relative path. This can be problematic when distributing projects and the file is outside of the project directories, but works well when the path is a shared folder in a multi project solution.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1466070" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>What's new in VB 2008</title><link>http://msmvps.com/blogs/bill/archive/2007/12/21/what-s-new-in-vb-2008.aspx</link><pubDate>Fri, 21 Dec 2007 03:23:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1408765</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1408765</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/12/21/what-s-new-in-vb-2008.aspx#comments</comments><description>&lt;p&gt;Visual Studio magazine&amp;#39;s January &lt;strong&gt;&lt;a href="http://visualstudiomagazine.com/columns/columnist.aspx?columnistsid=69" target="_blank"&gt;On VB&lt;/a&gt;&lt;/strong&gt; column, by your&amp;#39;s truly, has a &lt;a href="http://visualstudiomagazine.com/listings/list.aspx?id=252" target="_blank"&gt;quick reference guide to what&amp;#39;s new in VB 2008&lt;/a&gt;.&amp;nbsp; The &lt;a href="http://visualstudiomagazine.com/listings/list.aspx?id=252" target="_blank"&gt;guide&lt;/a&gt; includes links to earlier articles that provide more in depth information on specific features.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;Errata for my &lt;a href="http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2421" target="_blank"&gt;January column&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;The web site fails to display &lt;em&gt;&lt;strong&gt;&amp;amp;amp;&lt;/strong&gt;&lt;/em&gt; properly instead showing &lt;strong&gt;&amp;amp;&lt;/strong&gt;.&amp;nbsp; The relevant part of he article should read:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;XML literals are, as the name implies, the literal representation of the XML as it would appear in a file (or close to it). For example, if you wanted to name a book &amp;quot;War &amp;amp; Peace&amp;quot; instead of &amp;quot;War and Peace,&amp;quot; you&amp;#39;d need to encode the &amp;amp; to &amp;amp;amp; inside the XML literal: &lt;pre&gt;&amp;#39; won&amp;#39;t compile
Dim el = _
   &amp;lt;book&amp;gt;War &amp;amp; Peace&amp;lt;/book&amp;gt;

&amp;#39; will compile
Dim el = _
   &amp;lt;book&amp;gt;War &amp;amp;amp; Peace&amp;lt;/book&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1408765" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VSM/default.aspx">VSM</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>More on XML Namespaces in VB....</title><link>http://msmvps.com/blogs/bill/archive/2007/12/09/more-on-xml-namespaces-in-vb.aspx</link><pubDate>Sun, 09 Dec 2007 13:20:24 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1388431</guid><dc:creator>bill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1388431</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/12/09/more-on-xml-namespaces-in-vb.aspx#comments</comments><description>&lt;p&gt;A couple of weeks ago I wrote about XML Namespace issues in VB: one in particular was to do with &lt;a href="http://msmvps.com/blogs/bill/archive/2007/11/24/cleaning-up-your-xml-literal-namespaces.aspx" target="_blank"&gt;namespace declarations being repeated in the output X&lt;/a&gt;ML.&amp;nbsp; In those cases we only looked at common namespaces for the entire document.&lt;/p&gt; &lt;p&gt;However &lt;a href="http://msmvps.com/blogs/bill/archive/2007/12/09/right-tool-for-the-job.aspx" target="_blank"&gt;the example of creating a word document I posted earlier today&lt;/a&gt; raises a similar issue, but this time it&amp;#39;s with namespaces that are used in child elements not in the root element.&amp;nbsp; Previously, one suggested workaround was to Import namespaces, and use expression placeholders, but as the word document shows, this does not produce what is often the desirable outcome.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The following simplified example demonstrates this:&lt;/p&gt; &lt;p&gt;- the goal of this exercise is to output the following XML:&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;The constraint is we want to create the x and y elements separately and insert them into the root element. .eg:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;..... &lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;&amp;nbsp;&amp;nbsp; Dim&lt;/span&gt; el1 = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; el2 = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; doc = &lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el1 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el2 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;However that doesn&amp;#39;t work. The output for that repeats the namespace of the b.&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt; &lt;strong&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt; &lt;strong&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;So I thought I would try declaring the b namespace in the root element:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; doc = &lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el1 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el2 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Now that works. That gives the correct output of :&lt;br /&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;But what is going on here you may ask ?&amp;nbsp; Why does this work ?&amp;nbsp; Well VB removes xmlns attributes from the added elements for any declarations that are used in the containing node. So the minimal fix to get my word document have the namespace declarations at the start requires the correct injection of namespaces to the parent they are added to.&amp;nbsp; For example :&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; thirdParagraph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#c2844b;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&lt;span style="color:#ca8a8a;"&gt;xmlns:dm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/main&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ca8a8a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:wp&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ca8a8a;"&gt;xmlns:dp&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/picture&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ca8a8a;"&gt;xmlns:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; drawing &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I also had to re-declare 2 xml namespaces in the drawing variables; for the document I had to add 5. And that is in just a simple example.&amp;nbsp; What&amp;#39;s really annoying is those namespaces were Imported at the module level in the first place. It would have been nice to write that XML literal using the imported namespaces, e.g:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; thirdParagraph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; dm &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; wp &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; dp &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; r &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; drawing &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Alas that doesn&amp;#39;t work.&amp;nbsp; Nor does and combination of GetXMLNamespace&amp;nbsp; that I could think of.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In the need I decided it was a lot easier to just add the namespaces once to the root document and remove all of them from added elements, using a modified extension method.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt; &amp;lt;Runtime.CompilerServices.Extension()&amp;gt; _&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; RemoveAllNS(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; el &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; XElement, &lt;span style="color:#3092b1;"&gt;Optional&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; includeChildNodes &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Boolean&lt;/span&gt; = &lt;span style="color:#3092b1;"&gt;False&lt;/span&gt;) &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; XElement&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; current = el.LastAttribute&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Do&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;While&lt;/span&gt; current &lt;span style="color:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; temp = current.PreviousAttribute&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; current.IsNamespaceDeclaration &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current.Remove()&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = temp&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Loop&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; includeChildNodes &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;For&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Each&lt;/span&gt; child &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; el.Descendants&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RemoveAllNS(child)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Next&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; el&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;It&amp;#39;s a shame this doesn&amp;#39;t work easier than this :(&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1388431" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>Right tool for the job ?</title><link>http://msmvps.com/blogs/bill/archive/2007/12/09/right-tool-for-the-job.aspx</link><pubDate>Sun, 09 Dec 2007 03:33:15 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1387768</guid><dc:creator>bill</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1387768</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/12/09/right-tool-for-the-job.aspx#comments</comments><description>&lt;p&gt;I was catching up on reading some msdn blogs and stumbled across an entry from Yves Dolce. &lt;a href="http://blogs.msdn.com/yvesdolc/archive/2007/12/07/system-xml-linq-and-office-open-xml.aspx" target="_blank"&gt;Yves was showing how to create a word document part including a graphic&lt;/a&gt;.&amp;nbsp; Thing was, he was using C#, not VB.&amp;nbsp; Here&amp;#39;s an example :&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font size="2"&gt;&lt;span style="font-size:8pt;color:blue;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;var&lt;/span&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; graphic = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;graphic&amp;quot;&lt;/span&gt;),&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;XNamespace&lt;/span&gt;.Xmlns + &lt;span style="color:#a31515;"&gt;&amp;quot;dm&amp;quot;&lt;/span&gt;, dm.NamespaceName),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;graphicData&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;uri&amp;quot;&lt;/span&gt;, dp.NamespaceName),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dp.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;pic&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;XNamespace&lt;/span&gt;.Xmlns + &lt;span style="color:#a31515;"&gt;&amp;quot;dp&amp;quot;&lt;/span&gt;, dp.NamespaceName),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dp.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;nvPicPr&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dp.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;cNvPr&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;, 0),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;openxmldeveloper.gif&amp;quot;&lt;/span&gt;)),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dp.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;cNvPicPr&amp;quot;&lt;/span&gt;))),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dp.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;blipFill&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;blip&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(r.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;embed&amp;quot;&lt;/span&gt;), &lt;span style="color:#a31515;"&gt;&amp;quot;rId1&amp;quot;&lt;/span&gt;)),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;stretch&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;fillRect&amp;quot;&lt;/span&gt;)))),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dp.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;spPr&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;xfrm&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;off&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;x&amp;quot;&lt;/span&gt;, 0),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;y&amp;quot;&lt;/span&gt;, 0)),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;ext&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;cx&amp;quot;&lt;/span&gt;, 4448175),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;cy&amp;quot;&lt;/span&gt;, 1181100))),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;prstGeom&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;prst&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;rect&amp;quot;&lt;/span&gt;),&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;(dm.GetName(&lt;span style="color:#a31515;"&gt;&amp;quot;avLst&amp;quot;&lt;/span&gt;)))))));&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Okay here&amp;#39;s the same bit in VB:&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; graphic = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphicData&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;uri&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/picture&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:pic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:nvPicPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:cNvPr&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;id&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;name&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;openxmldeveloper.gif&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:cNvPicPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:nvPicPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:blipFill&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:blip&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;r:embed&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;rId1&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:stretch&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:fillRect&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:stretch&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:blipFill&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:spPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:xfrm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:off&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:ext&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;cx&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;4448175&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;cy&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1181100&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:xfrm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:prstGeom&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;prst&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;rect&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:avLst&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:prstGeom&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:spPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:pic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphicData&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#d6788f;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#d6788f;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;h3&gt;&lt;font face="Trebuchet MS"&gt;And this is the complete example :&lt;/font&gt;&lt;/h3&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#d6788f;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#d6788f;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:wp&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:w&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/wordprocessingml/2006/main&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:dm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/main&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:dp&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/picture&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#3092b1;"&gt;Module&lt;/span&gt; Module1&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; AddToDocToPackage(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; package &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Package)&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; documentUri = &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; Uri(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;/word/document.xml&amp;quot;&lt;/span&gt;, UriKind.Relative)&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; documentPart = package.CreatePart(documentUri, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml&amp;quot;&lt;/span&gt;)&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; firstParagraph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:t&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;A paragraph&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:t&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; secondPararaph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:t&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xml:space&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;preserve&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;A&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:t&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:hyperlink&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;r:id&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;rId2&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:rPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:color&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;w:val&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0000FF&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;w:themeColor&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;hyperlink&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:u&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;w:val&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;single&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:rPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:t&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#9175bf;"&gt;hyperlink&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:t&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:hyperlink&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; graphic = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphicData&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;uri&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/picture&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:pic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:nvPicPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:cNvPr&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;id&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;name&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;openxmldeveloper.gif&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:cNvPicPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:nvPicPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:blipFill&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:blip&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;r:embed&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;rId1&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:stretch&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:fillRect&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:stretch&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:blipFill&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:spPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:xfrm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:off&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:ext&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;cx&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;4448175&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;cy&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1181100&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:xfrm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:prstGeom&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;prst&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;rect&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:avLst&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:prstGeom&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:spPr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dp:pic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphicData&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphic&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; drawing = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:drawing&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;wp:inline&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;wp:extent&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;cx&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;4448175&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;cy&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1181100&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;wp:docPr&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;id&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;name&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;Picture 0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;descr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;openxmldeveloper.gif&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;wp:cNvGraphicFramePr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;dm:graphicFrameLocks&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;noChangeAspect&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;wp:cNvGraphicFramePr&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; graphic &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;wp:inline&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:drawing&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; thirdParagraph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; drawing &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; doc = &lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;encoding&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;UTF-8&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;standalone&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;yes&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;w:document&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;body&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; firstParagraph &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; secondPararaph &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; thirdParagraph &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;body&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/w:document&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Using&lt;/span&gt; writer = Xml.XmlWriter.Create(documentPart.GetStream)&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.WriteTo(writer)&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Using&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Which is the right tool for the job ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1387768" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category></item><item><title>LINQ to XSD --&gt; VB can do better !</title><link>http://msmvps.com/blogs/bill/archive/2007/12/05/linq-to-xsd-gt-vb-can-do-better.aspx</link><pubDate>Wed, 05 Dec 2007 10:15:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1380144</guid><dc:creator>bill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1380144</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/12/05/linq-to-xsd-gt-vb-can-do-better.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;RJ posted an interesting entry about LINQ to XSD. The early LINQ to XSD bits that surfaced back in Orcas Beta 1 or thereabouts were basically an object layer of the underlying xml data.&amp;nbsp; It was better than *just* an object model in that much of the XElement capabilities remained, but it was still just an object wrapper.&amp;nbsp; I think VB can possibly do better ....&lt;/p&gt; &lt;p&gt;If you look at VB9 you&amp;#39;ll see there&amp;#39;s already basic intellisense support for schemas when working with XML axis properties. So the questions we should and could ask are can we make that better ?&amp;nbsp; For example, let&amp;#39;s say the compiler was to validate that. We could then enforce XSD constraints and give warnings or errors when they are broken.&lt;/p&gt; &lt;p&gt;One problem would be how would you specify what schema is being used. What if the XElement or XDocument has multiple schemas or you want to apply a different schema to a document ?&amp;nbsp; One solution might be to have Schemas as a form of Interface, or more to the point as a Dynamic Interface.&lt;/p&gt; &lt;p&gt;Now if the constrain is only via dynamic Interfaces, you get all the flexibility of XML elsewhere, but if you cast the element to that dynamic interface you are constrained to that schema.&amp;nbsp; &lt;/p&gt; &lt;p&gt;So if we had that, then why not let Dynamic Interfaces be schema fragments ?&amp;nbsp; Then you could strongly type an element as a branch of a schema.&lt;/p&gt; &lt;p&gt;I don&amp;#39;t think an object model is the best way of spanning that XML to general purpose programming divide. VB on the other hand has embraced XML and made the initial steps. Dynamic Interfaces seem like a logical extension to what VB9 already provides.&amp;nbsp; And, speaking of extensions, if the schema or schema fragments are dynamic interfaces, then you could also provide extension methods typed to the dynamic interface. &lt;/p&gt; &lt;p&gt;There&amp;#39;d still be bits that would be more difficult such as interception of value setting, and eventing.. perhaps that would be the perfect opportunity for mixins ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1380144" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Don't "p" on your XAttributes..</title><link>http://msmvps.com/blogs/bill/archive/2007/11/26/don-t-quot-p-quot-on-your-xattributes.aspx</link><pubDate>Mon, 26 Nov 2007 10:26:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1357605</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1357605</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/11/26/don-t-quot-p-quot-on-your-xattributes.aspx#comments</comments><description>&lt;p&gt;If you programmatically add attributes with namespaces to an XElement, when the XElement is written out it will give each attribute a namespace prefix and then define a xmlns for that prefix.&amp;nbsp; The way XElement does this is first it examines the namespaces already active and also those defined in the element for a match. If it doesn&amp;#39;t find a match, it then creates a new prefix based on the count of the current namespaces in scope, e.g p1, p2, p3,....pn.&lt;/p&gt; &lt;p&gt;Now sadly, although it did first scan for namespaces, it appears it doesn&amp;#39;t scan for prefixes in the current element *after* the current attribute. It does scan for previous declared prefixes, and will use one if the namespace matches. If the namespace doesn&amp;#39;t match but a prefix clashes with the proposed prefix, the prefix is added a 0, e.g p10, p20, ... pn0. If that one also clashes then the number will be increased e.g p11, p21, ... pn1. And so forth.&lt;/p&gt; &lt;p&gt;The problem is it doesn&amp;#39;t check for clashes inside the element it arbitrarily adds a namespace to. This code causes an exception due to the same attribute being named twice.&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp; &lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; books = &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; XElement(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;books&amp;quot;&lt;/span&gt;)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; books.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; XAttribute(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;{abc}attrib1&amp;quot;&lt;/span&gt;, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;one&amp;quot;&lt;/span&gt;))&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; books.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; XAttribute(XNamespace.Xmlns.GetName(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;p1&amp;quot;&lt;/span&gt;), &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;zzz&amp;quot;&lt;/span&gt;))&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The moral of the story is don&amp;#39;t use &amp;quot;pn&amp;quot; for your namespace prefixes. (where n is any integer). You end up potentially &amp;quot;p&amp;quot;ing on your code ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1357605" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item></channel></rss>