<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>C#/.NET Development</title>
        <link>http://geekswithblogs.net/dmillard/category/489.aspx</link>
        <description>C#/.NET Development</description>
        <language>en-GB</language>
        <copyright>Duncan Millard</copyright>
        <managingEditor>duncan.millard@Microsoft.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Handy XPath Expression Testbed</title>
            <link>http://geekswithblogs.net/dmillard/archive/2005/01/05/19221.aspx</link>
            <description>&lt;P&gt;Ever wanted to quickly and easily try out different XPath expressions on your documents?&lt;/P&gt;
&lt;P&gt;Just &lt;A href="http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm"&gt;click this link!&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=19221"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=19221" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/19221.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2005/01/05/19221.aspx</guid>
            <pubDate>Wed, 05 Jan 2005 14:17:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/19221.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2005/01/05/19221.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/19221.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/19221.aspx</trackback:ping>
        </item>
        <item>
            <title>Some Overdue Plugging</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/12/13/17416.aspx</link>
            <description>&lt;P&gt;A couple of blog entries that I wanted to highlight, but I've been a bit late blogging on (blame short-sharp-"just do this project before Christmas would you?" type work).&lt;/P&gt;
&lt;P&gt;First, I'm sure you've all seen it by now, but Scott Colestock is continuing his barnstorming work on BizTalk deployment with NAnt. &lt;A href="http://www.traceofthought.net/PermaLink,guid,b9c45d34-85c8-449f-b1a6-deafc2d89084.aspx"&gt;Check it out&lt;/A&gt;. BAT files are &lt;EM&gt;so&lt;/EM&gt; 1980's ;-)&amp;nbsp;If you're not doing something similar in your deployments (either through your own work, or using Scott's) then you are really&amp;nbsp;missing a trick.&lt;/P&gt;
&lt;P&gt;Also,&amp;nbsp;a big plug must go to &lt;A href="http://weblogs.asp.net/cweyer/archive/2004/12/06/275993.aspx"&gt;Thinktecture's new release of WSCF (WsContractFirst).&lt;/A&gt;&amp;nbsp;As soon as I get two minutes to breathe (i.e. after Xmas),&amp;nbsp;I'll&amp;nbsp;take a proper look at this, but for now it looks pretty good.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=17416"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=17416" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/17416.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/12/13/17416.aspx</guid>
            <pubDate>Mon, 13 Dec 2004 14:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/17416.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/12/13/17416.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/17416.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/17416.aspx</trackback:ping>
        </item>
        <item>
            <title>WSDL First and BizTalk</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/11/09/14651.aspx</link>
            <description>&lt;P&gt;I've held off posting on the WSDL-first approach so far because I've been waiting for the tools to arrive to make my gripes go away. Well, I'm still waiting... and waiting...&lt;/P&gt;
&lt;P&gt;In the BizTalk world, we already have a Service Oriented mindset. We&amp;nbsp;communicate in terms of schema-defined documents; we offer up services not APIs. We want to be interoperable with as many people as possible. I don't care whether you're using Java, .NET or ARM assembler - if you can send me a soap message, I'll talk to you. The trouble is that the .NET world approaches web services from a very object-y view point. Just pop a [WebMethod] in your asmx page and let ASP.NET create you some WSDL describing your objects. Easy, right, for people who want to knock up a quick web service in code?&lt;/P&gt;
&lt;P&gt;The trouble is this promotes a very code-first approach. This really sucks from a BizTalk developer's point of view. I already have my schemas. I know the shape of the messages I want to receive. Where's the support for the Schema- and WSDL-first approach? The "publish orchestration" wizard seems ropey - a colleague today ended up with unusable WSDL just because he'd used an xs:import in his schema.&amp;nbsp;Besides, I don't want a "publish orchestration" wizard, I want a WSDL designer with "create BizTalk orchestration template"&amp;nbsp;and "import BizTalk definitions" options.&lt;/P&gt;
&lt;P&gt;How about BizTalk's support for consuming web services? If I add a reference to a Web Service, I want the types defined in that WSDL added as first-class&amp;nbsp;schemas in my BizTalk solution, not hidden under MyWebReference\Reference1.xsd. I want support for promoting properties out of the web reference - just&amp;nbsp;remembering them if I refresh the web reference would be nice.&amp;nbsp;Even worse, if I already have those schemas included in my solution please don't create a duplicate&amp;nbsp;copy of the schema - share the reference (.NET 2.0 has an enhancement to WSDL.exe that may support this,&amp;nbsp;I believe).&lt;/P&gt;
&lt;P&gt;For the record, I am very much in favour of WSDL first. I just think there's an awful lot of pain to get it working in anything but the most simple cases. Let's hope Microsoft's new Domain Specific Languages designers lead to some WSDL designers pronto. XML Spy looks nice, but it's damned expensive!&lt;/P&gt;
&lt;P&gt;This hasn't been a very structured post, for which I apologise, but I'd love to hear from anyone else who has found any silver bullets for BizTalk and WSDL-first...&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=14651"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=14651" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/14651.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/11/09/14651.aspx</guid>
            <pubDate>Tue, 09 Nov 2004 17:38:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/14651.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/11/09/14651.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/14651.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/14651.aspx</trackback:ping>
        </item>
        <item>
            <title>XML Namespaces, Prefixes, and elementFormDefault</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/10/20/12935.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: The GeeksWithBlogs editor seems to keep really messing with the formatting / XML of this post. If you spot any errors, please hit the Contact Me link above and I'll try to wrestle it into submission again :-)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This entry may be useful to people confused by BizTalk's inclination to "ns0" at the drop of a hat :-)&lt;/p&gt;
&lt;p&gt;Someone asked me today why their XML document wasn't validating. They thought that it was because the schema was expecting messages with a default namespace of "uri:my-namespace" but the document they were validating instead defined all the nodes using a prefix of "ns0", with ns0 mapping to uri:my-namespace. &lt;/p&gt;
&lt;p&gt;One of the biggest misunderstandings in XML is namespaces. There's absolutely no difference to an xml parser or to the interpretation of a document whether you use a prefix on every node, or a default namespace. Prefixes are only a syntactic abbreviation. In other words:&lt;/p&gt;
&lt;p dir="ltr"&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;mydoc&lt;/font&gt; &lt;font color="#ff0000"&gt;xmlns&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff"&gt;    &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;subnode&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;/&amp;gt;&lt;br /&gt;
&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;m&lt;/font&gt;ydoc&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;(Default namespace flows into the child - there is no prefix, so it uses the default namespace)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;is identical to: &lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns0&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
    &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns0:subnode&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns1&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;br /&gt;
&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;br /&gt;
&lt;/font&gt;&lt;font color="#000000"&gt;&lt;strong&gt;(The prefix ns0 maps to uri:my-namespace, and both nodes are marked with ns0)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;and to:&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font color="#0000ff"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns0&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
    &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns1:subnode&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns1&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;br /&gt;
&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;br /&gt;
&lt;strong&gt;&lt;font color="#000000"&gt;(No default namespace, but ns0 and ns1 both map to uri:my-namespace and hence have identical meaning)&lt;/font&gt;&lt;/strong&gt;
&lt;div&gt;&lt;/div&gt;
 
&lt;div&gt;&lt;/div&gt;
and
&lt;div&gt;&lt;/div&gt;
&lt;font color="#0000ff"&gt;&lt;/font&gt; 
&lt;div&gt;&lt;/div&gt;
&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns0&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff"&gt;   &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;subnode&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;xmlns&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p&gt;&lt;font color="#000000"&gt;&lt;strong&gt;(ns0 is defined on the parent, but we then set a default namespace for this node - and any children, if it had any)&lt;/strong&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000000"&gt;In all of the cases above, the namespace of subNode is uri:my-namespace.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000000"&gt;It turned out in the end that the problem was that the schema defined the namespace as "uri:my-namespace" but the result document was coming back with a namespace of "uri:my-namespace/" - the trailing slash being all important. Remember folks, namespaces are just strings - a trailing slash may not make a difference to most Internet browsers, but they do in XML Schema. &lt;/font&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;strong&gt;ElementFormDefault&lt;/strong&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font color="#000000"&gt;As a bonus, a little note on elementFormDefault. &lt;/font&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font color="#000000"&gt;  &lt;/font&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;font color="#000000"&gt;If in your schema you use &lt;strong&gt;elementFormDefault="qualified"&lt;/strong&gt; then you can validate all of the documents above with a schema similar to (pseudo-code):&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;font color="#800000"&gt;xs:schema&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;targetNamespace&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;elementFormDefault&lt;/font&gt;&lt;font color="#0000ff"&gt;="qualified"&amp;gt;&lt;br /&gt;
&lt;/font&gt;   &amp;lt;&lt;font color="#800000"&gt;xs:element&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="myDoc"&amp;gt;&lt;br /&gt;
      &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xs:complexType&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
         &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xs:sequence&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xs:element&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="subnode"&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;maxOccurs&lt;/font&gt;&lt;font color="#0000ff"&gt;="1"&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;br /&gt;
         &amp;lt;/&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#800000"&gt;xs:sequence&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
      &amp;lt;/&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#800000"&gt;xs:complexType&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
   &amp;lt;/&lt;font color="#800000"&gt;xs:element&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;font color="#800000"&gt;xs:schema&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000000"&gt;If you changed the elementFormDefault to "unqualified" then instead it would only look for the root element to be in the namespace, and child elements would be unqualified (in the empty namespace):&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns0&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
  &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;subnode&lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt; &lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
and &lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
 
&lt;div&gt;&lt;/div&gt;
&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns0&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
   &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;ns1:subnode&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns1&lt;/font&gt;&lt;font color="#0000ff"&gt;=""/&amp;gt;&lt;br /&gt;
&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;strong&gt;(An explicitly empty prefixed namespace definition)&lt;/strong&gt; &lt;/font&gt;
&lt;div&gt;&lt;/div&gt;
 
&lt;div&gt;&lt;/div&gt;
and
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font color="#0000ff"&gt;
&lt;p&gt;&amp;lt;&lt;font color="#800000"&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#800000"&gt;xmlns&lt;/font&gt;&lt;font color="#ff00ff"&gt;:&lt;/font&gt;&lt;font color="#ff0000"&gt;ns0&lt;/font&gt;&lt;font color="#0000ff"&gt;="uri:my-namespace"&amp;gt;&lt;br /&gt;
   &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;subnode&lt;/font&gt;&lt;font color="#ff00ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;xmlns&lt;/font&gt;&lt;font color="#0000ff"&gt;=""/&amp;gt;&lt;br /&gt;
&lt;font color="#800000"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;ns0:mydoc&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&lt;br /&gt;
&lt;strong&gt;&lt;font color="#000000"&gt;(An explicitly empty default namespace definition for the sub node, and its child nodes if it had any)&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font color="#000000"&gt;I was lucky enough to learn about Namespaces on a &lt;/font&gt;&lt;a href="http://www.developmentor.com/"&gt;&lt;font color="#000000"&gt;Developmentor&lt;/font&gt;&lt;/a&gt;&lt;font color="#000000"&gt; training course run by &lt;/font&gt;&lt;a href="http://www.pluralsight.com/blogs/aaron/default.aspx"&gt;&lt;font color="#000000"&gt;Aaron Skonnard&lt;/font&gt;&lt;/a&gt;&lt;font color="#000000"&gt; ages ago so thanks to him for the foundations of this entry :-)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12935"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12935" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/12935.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/10/20/12935.aspx</guid>
            <pubDate>Wed, 20 Oct 2004 17:08:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/12935.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/10/20/12935.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/12935.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/12935.aspx</trackback:ping>
        </item>
        <item>
            <title>DateTime.Now and BizTalk</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/10/04/12117.aspx</link>
            <description>&lt;P&gt;My colleague &lt;A href="http://thearchhacker.blogspot.com/"&gt;The Arch Hacker&lt;/A&gt; (dude, lame online name ;-), reports a supposed problem with DateTime.Now behaviour under BizTalk in that it seems to ignore daylight saving time here in the UK.&lt;/P&gt;
&lt;P&gt;A little bit of lateral thinking and I've suggested that what it's probably doing is returning a timezone-free time. This is because BizTalk is running under a service account that does not have a user profile, hence&amp;nbsp;there is no timezone information available to .NET.&amp;nbsp;It is probably just using the BIOS time and treating it as universal time. In the UK, this just happens to be 1hr different to GMT,&amp;nbsp;which makes it look as if it's the daylight savings time that's broken. That's just a red herring - it's actually just applying no timezone information at all.&lt;/P&gt;
&lt;P&gt;I've not tested out this theory, but hopefully The Arch Hacker will do. .NET DateTime has a lot of hidden subtleties (mainly&amp;nbsp;because&amp;nbsp;&lt;STRONG&gt;it does not hold timezone information&lt;/STRONG&gt;)&amp;nbsp;and I strongly recommend every .NET programmer reads &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/datetimecode.asp"&gt;this MSDN article&lt;/A&gt;.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12117"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12117" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/12117.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/10/04/12117.aspx</guid>
            <pubDate>Mon, 04 Oct 2004 12:44:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/12117.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/10/04/12117.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/12117.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/12117.aspx</trackback:ping>
        </item>
        <item>
            <title>Visual Studio .NET XML Parser</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/05/19/5078.aspx</link>
            <description>&lt;P&gt;Today I spent some time experimenting with the xsi:type to allow subclassing in my XML Schemas, as described in &lt;A href="http://www.xml.com/pub/a/2002/07/03/schema_design.html"&gt;"W3C XML Schema Design Patterns: Dealing With Change"&lt;/A&gt; by &lt;A href="http://blogs.msdn.com/dareobasanjo/"&gt;Dare Obasanjo&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Many of the xsi:type examples on the web give the xsi namespace declaration as &lt;I&gt;xmlns:xsi=http://www.&lt;B&gt;w3c&lt;/B&gt;.org/2001/XMLSchema-instance.&lt;/I&gt; 
&lt;P&gt;.NET users look out! If you use this declaration in your XML instance document then it won't validate in VS.NET... you must reference w3.org, not w3c.org.&lt;/P&gt;
&lt;P&gt;The correct declaration for the .NET parser is &lt;I&gt;xmlns:xsi="http://www.&lt;B&gt;w3&lt;/B&gt;.org/2001/XMLSchema-instance"&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Now, to replace that pulled-out hair...&lt;/P&gt;&lt;/I&gt;&lt;/I&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=5078"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=5078" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/5078.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/05/19/5078.aspx</guid>
            <pubDate>Wed, 19 May 2004 11:55:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/5078.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/05/19/5078.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/5078.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/5078.aspx</trackback:ping>
        </item>
        <item>
            <title>UI Process Block: Let me help you</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/05/04/4599.aspx</link>
            <description>&lt;P&gt;I've noticed a number of referrals from Google from people looking for help with the UI Process block.&lt;/P&gt;
&lt;P&gt;Having spent some time with the UI Process Block I'd like to share my experiences, but to do that I would like to know what information people are after. Please leave me a comment below, or contact me directly using the "Contact" link above and I'll try to come up with some suitable articles.&lt;/P&gt;
&lt;P&gt;Finally the obligatory plug: If you are looking for help with UI Process Block implementation, especially on projects that also involve BizTalk, my employer (&lt;A href="http://www.solidsoft.com"&gt;www.solidsoft.com&lt;/A&gt;) specialises in BizTalk and .NET implementations so feel free to make an approach to learn more about us and (I hope) engage us commercially.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;IMPORTANT UPDATE: &lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;I haven't worked with the UI Process Block for almost a year, so it's increasingly hard to devote time to looking into these issues. Please feel free to continue using my comments section to ask questions - but it's unlikely that I'll be able to chip in with answers. Don't forget the &lt;A href="http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=0af2b0ef-b049-401a-a2f2-f55a070c1572"&gt;Got Dot Net workspace.&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;IMPORTANT UPDATE #2: &lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;I've now closed comments on this entry; please direct your questions to the official &lt;A href="http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=0af2b0ef-b049-401a-a2f2-f55a070c1572"&gt;Got Dot Net workspace.&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;IMPORTANT UPDATE #3 :): &lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;Closing comments meant they weren't displayed any more; that was unintentional and seems to be a limitation of the .Text blog engine. Comments are open again so that you can see the old content :).&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=4599"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=4599" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/4599.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/05/04/4599.aspx</guid>
            <pubDate>Tue, 04 May 2004 12:41:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/4599.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/05/04/4599.aspx#feedback</comments>
            <slash:comments>107</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/4599.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/4599.aspx</trackback:ping>
        </item>
        <item>
            <title>Managed calls to PInvoke</title>
            <link>http://geekswithblogs.net/dmillard/archive/2004/04/28/4460.aspx</link>
            <description>&lt;P&gt;&lt;a href="http://pinvoke.net"&gt;pinvoke.net&lt;/a&gt;  is "a repository where you can find, edit, and add PInvoke signatures" ready for use in .NET languages.&lt;/P&gt;
&lt;P&gt;Lovely! Thanks to &lt;a href="http://blogs.msdn.com/ericgu/archive/2004/04/21/117956.aspx"&gt;this post&lt;/a&gt; on &lt;a href="http://blogs.msdn.com/ericgu/"&gt;Eric Gunnerson's C# Compendium&lt;a&gt; for the link.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=4460"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=4460" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dmillard/aggbug/4460.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Duncan Millard</dc:creator>
            <guid>http://geekswithblogs.net/dmillard/archive/2004/04/28/4460.aspx</guid>
            <pubDate>Wed, 28 Apr 2004 10:16:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/dmillard/comments/4460.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/dmillard/archive/2004/04/28/4460.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/dmillard/comments/commentRss/4460.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/dmillard/services/trackbacks/4460.aspx</trackback:ping>
        </item>
    </channel>
</rss>