<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Don Smith : XML</title><link>http://blogs.msdn.com/donsmith/archive/tags/XML/default.aspx</link><description>Tags: XML</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Handcrafting WCF-friendly WSDLs</title><link>http://blogs.msdn.com/donsmith/archive/2006/10/06/Handcrafting-WCF_2D00_friendly-WSDLs.aspx</link><pubDate>Fri, 06 Oct 2006 10:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:795666</guid><dc:creator>donsmith</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/795666.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=795666</wfw:commentRss><description>&lt;P&gt;It's 10:15 pm and I'm still in the office, but I really think I should get this entry posted before I head home - or it won't ever get posted. I was supposed to be working on my demo for my Service Factory session at the &lt;A href="http://www.impactevents.com/biztalkconference/" mce_href="http://www.impactevents.com/biztalkconference/"&gt;SOA Conference&lt;/A&gt; tomorrow, but I got side-tracked early in the day when I started playing with a new feature of Service Factory (that I'm going to demo). This new recipe (hereforth referred to as "&lt;EM&gt;the new recipe&lt;/EM&gt;") allows you to create the service interface, data contracts, and a stub of the service implementation from an existing WSDL document. Yeah, pretty cool, huh? Of course you can do the same thing in svcutil &lt;EM&gt;if &lt;/EM&gt;you have the .NET 3.0 SDK installed, but you have to leave Visual Studio and head off to the command prompt - and it won't separate the parts into multiple files and place them in the appropriate projects. &lt;/P&gt;
&lt;P&gt;As I'm sure you've already realized, we've added this feature for the masses who have adopted a contract-first approach to building services. Unfortunately for these masses, the object model you have to code against after you've generated code from your existing WSDLs (using either svcutil or &lt;EM&gt;the new recipe&lt;/EM&gt;) is not as enjoyable as what you get with the code-first approach WCF and its DataContract offer. I'm hoping this entry will add some clarity for those of you who wish to have the best of both worlds: Contract-First and DataContracts. First, let's talk about the DataContract.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The DataContract&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Rather than start from ground zero with DataContract basics and the DataContractSerializer, I'm going to recommend you go read &lt;A href="http://www.pluralsight.com/blogs/aaron/default.aspx" mce_href="http://www.pluralsight.com/blogs/aaron/default.aspx"&gt;Aaron Skonnard's&lt;/A&gt; excellent Service Station article on &lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/08/ServiceStation/default.aspx" mce_href="http://msdn.microsoft.com/msdnmag/issues/06/08/ServiceStation/default.aspx"&gt;Serialization in WCF&lt;/A&gt; before continuing. Okay, now that you know DataContract only supports a subset of &lt;A href="http://www.w3.org/TR/xmlschema-0/" mce_href="http://www.w3.org/TR/xmlschema-0/"&gt;XML Schema&lt;/A&gt;, let's get more specific about this "subset". I am in no way stating that this is a complete list, but these are the things I've personally been able to verify. If you use any of the following constructs, svcutil and &lt;EM&gt;the new recipe&lt;/EM&gt; will fall back to creating XML serializable types (like the ones in ASMX) instead of DataContracts.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;xs:element ref= ... 
&lt;LI&gt;&amp;lt;xs:anyAttribute ... 
&lt;LI&gt;&amp;lt;xs:group ref= ... 
&lt;LI&gt;&amp;lt;xs:attribute ... 
&lt;LI&gt;&amp;lt;xs:choice ... 
&lt;LI&gt;&amp;lt;xs:any ... 
&lt;LI&gt;&amp;lt;xs:all ...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Of course this pretty much means to be safe, you need to stick with a &amp;lt;xs:sequence&amp;gt; of &amp;lt;xs:elements&amp;gt;. However, I was a little surprised to see that a &amp;lt;xs:simpleType&amp;gt; &amp;lt;xs:restriction&amp;gt; on a xs:string generated a very nice enum. Oh, News Flash! &lt;A href="http://pluralsight.com/blogs/kirillg/default.aspx" mce_href="http://pluralsight.com/blogs/kirillg/default.aspx"&gt;Kirill&lt;/A&gt; just responded to my email (hey, what's he doing&amp;nbsp;on email&amp;nbsp;this late?) and pointed me to some [internal] beta documentation that &lt;STRONG&gt;very&lt;/STRONG&gt; clearly defines how all XSD constructs map to DataContracts. The doc looks awesome -&amp;nbsp;I'll be sure to update this entry once it is live on the Web (if I don't, remind me). Okay, but you're not in the clear yet. You see, now we have to navigate the message wrapping issue.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The MessageContract&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Because the DataContract is all about simplifying interop and the object model (OM), it hides wrapping element from the code, but (obviously) not from the WSDL. So, if you're going to import your handcrafted WSDLs, you need to know how to represent the wrapper&amp;nbsp;"message" in WSDL in such a way that you don't have to deal with them in your OM. I think the easiest way to explain this part would be to start with a fragment of a WSDL and show what must change to get the right stuff in code. Consider this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;xmlns:wsdl&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://schemas.xmlsoap.org/wsdl/&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; 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;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;xmlns:xs&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2001/XMLSchema&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; 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; xmlns:srvc&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; 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; xmlns:data&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; 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; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;qualified&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; 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; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; 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; xmlns:tns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&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: maroon; FONT-FAMILY: consolas"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;tns:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&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: maroon; FONT-FAMILY: consolas"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; 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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; 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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;ID&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;xs:int&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; 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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;Name&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;xs:string&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; 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;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&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: maroon; FONT-FAMILY: consolas"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;request&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;response&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;IEmployeeManager&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&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: maroon; FONT-FAMILY: consolas"&gt;wsdl:input&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&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: maroon; FONT-FAMILY: consolas"&gt;wsdl:output&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;YouGetTheIdea&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Yes, I know I'm sending and receiving the same type. I'm trying to balance between brevity and reality (cut me some slack). Hopefully at this point I have some contract-first readers nodding their head thinking, "Ok, I'll buy that - seems reasonable enough." Now let's look at how we would have to write this to get the nice dev experience with WCF ('cause this won't create it).&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xmlns:wsdl&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://schemas.xmlsoap.org/wsdl/&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xmlns:xs&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2001/XMLSchema&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:srvc&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:data&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;qualified&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:tns&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;tns:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; 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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;xs:element&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;ID&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;xs:int&lt;/SPAN&gt;&lt;/SPAN&gt;" &lt;SPAN style="BACKGROUND: #ffff99; COLOR: red"&gt;nillable&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99"&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&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&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;xs:element&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas"&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Name&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;xs:string&lt;/SPAN&gt;&lt;/SPAN&gt;" &lt;SPAN style="BACKGROUND: #ffff99; COLOR: red"&gt;nillable&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99"&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&lt;SPAN style="BACKGROUND: #ffff99"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;qualified&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;BR&gt;&lt;SPAN style="COLOR: red"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:data&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:tns&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;xs:import&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="http://MyOrg.HrSrvc.DataContracts/2006/10"/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&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="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;request&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&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="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeResponse&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&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="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeResult&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&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="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;parameters&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;srvc:AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;parameters&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;srvc:AddEmployeeResponse&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;IEmployeeManager&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:input&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:output&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:binding&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;YouGetTheIdea&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;?xml namespace="" ns="urn:schemas-microsoft-com:office:office"
                                                    prefix="o" ?&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The highlighted areas are the parts I added/changed from the first snippet. It’s after midnight now. I’ve learned the beta of Windows Live Writer I &lt;I style="mso-bidi-font-style: normal"&gt;was&lt;/I&gt; using has a length limitation and doesn’t color XML snippets (yes, I did this manually for your reading pleasure). So rather than continue to wow you with my use of compelling prose, I’ll just bulletize (see?) the significant parts:&lt;?xml
                namespace="" ns="urn:schemas-microsoft-com:office:office" prefix="o" ?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;What’s up with the nillable=”true” on the data types?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; That actually turns out to be pretty critical. I haven’t really thought to much about why yet, but without this construct, it complicates the OM bigtime.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;What about that new schema … doesn’t that complicate the OM?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Surprisingly not! It won’t even show up in the generated code. Notice how it imports the existing schema to reference the existing types, which do show up in the code. If you don’t explicitly create this wrapper, it will think the first element it finds (Employee otherwise) is the wrapper … yuck. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Can the wrapper elements (AddEmployee &amp;amp; AddEmployeeResponse) be in the same namespace as the data type (Employee)?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Well, that depends. They can if that namespace just happens to be the same as the service. In other words, the wrapper schema has to share the same namespace as the service. It doesn’t matter if the data types are in the same namespace or not.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Don, is the fact you named the wrapper elements “AddEmployee” and “AddEmployeeResponse” important?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Yes. If you don’t follow this convention, you’ll see these as types in the code … yuck!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Let me guess, it’s also important that I name the data:Employee elements “request” and “AddEmployeeResult” respectively?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Well, not really so much. If you name them something else, like “RequestMessage” and “ResponseMessage,” the System.ServiceModel.MessageParameterAttribute will step in to make sure the response message is correct on the wire, but it won’t affect the OM so much. It will look like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;[System.CodeDom.Compiler.GeneratedCodeAttribute(&lt;SPAN style="COLOR: maroon"&gt;"System.ServiceModel"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;"3.0.0.0"&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;[ServiceContract(Namespace=&lt;SPAN style="COLOR: maroon"&gt;"http://MyOrg.HrSrvc.SrvcContracts/2006/10"&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;interface&lt;/SPAN&gt; IEmployeeManager&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;[OperationContract(Action=&lt;SPAN style="COLOR: maroon"&gt;"..."&lt;/SPAN&gt;, ReplyAction=&lt;SPAN style="COLOR: maroon"&gt;"*"&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;[return: MessageParameter(Name="ResponseMessage")]&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;Employee AddEmployee(Employee &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;RequestMessage&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;}&lt;BR&gt;&lt;BR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;EM&gt;Alright, what’s up with the “parameter” message part names?&lt;/EM&gt; Yeah, that’s important too. That basically says this contract is wrapped and not bare.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;I think that’s about it. I’ll update this entry if I think (or learn) of anything else, but I’m going home now. Hope you find this helpful. BTW, I was listening to the &lt;A href="http://www.emusic.com/artist/10556/10556388.html"&gt;Lemonheads&lt;/A&gt; the entire time I was putting this together … pretty cool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=795666" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>WSDL.EXE problem with BEA WSDL</title><link>http://blogs.msdn.com/donsmith/archive/2005/01/06/347497.aspx</link><pubDate>Thu, 06 Jan 2005 10:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:347497</guid><dc:creator>donsmith</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/347497.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=347497</wfw:commentRss><description>
&lt;p&gt;As it turns out, using the 1.x builds of the .NET Framework, wsdl.exe (and 
VS.NET) are sometimes unable to process perfectly good WSDL documents generated 
from the latest versions of BEA WebLogic Workshop. If the WSDL&amp;nbsp;contains 
multiple schemas,&amp;nbsp;and any have&amp;nbsp;the same targetNamespace as another, 
you'll get something like, "a schema with the namespace 'urn:foo-bar" has 
already been added."&lt;/p&gt;
&lt;p&gt;There are not currently plans to fix this behavior&amp;nbsp;in the 1.x versions 
of the framework.&amp;nbsp;The product&amp;nbsp;group&amp;nbsp;is, however, planning to fix 
it in 2.0 (although it's not yet in&amp;nbsp;beta 1 yet). Since I know at least 2 
large Microsoft customers have hit this problem, I thought&amp;nbsp;someone else 
might find&amp;nbsp;this XSLT&amp;nbsp;transform beneficial. &lt;/p&gt;&lt;pre&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:stylesheet&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; version&lt;span style="COLOR: #0000ff"&gt;="1.0"&lt;/span&gt; 
  xmlns:xs&lt;span style="COLOR: #0000ff"&gt;="http://www.w3.org/2001/XMLSchema"&lt;/span&gt;
  xmlns:xsl&lt;span style="COLOR: #0000ff"&gt;="http://www.w3.org/1999/XSL/Transform"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:output&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; method&lt;span style="COLOR: #0000ff"&gt;="xml"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:key&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; name&lt;span style="COLOR: #0000ff"&gt;="matching-schemas"&lt;/span&gt; 
    match&lt;span style="COLOR: #0000ff"&gt;="xs:schema"&lt;/span&gt; use&lt;span style="COLOR: #0000ff"&gt;="@targetNamespace"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:template&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; match&lt;span style="COLOR: #0000ff"&gt;="/|@*|node()"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:copy&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:apply-templates&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; select&lt;span style="COLOR: #0000ff"&gt;="@*|node()"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:copy&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:template&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:template&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; match&lt;span style="COLOR: #0000ff"&gt;="xs:schema"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:variable&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; name&lt;span style="COLOR: #0000ff"&gt;="matches"&lt;/span&gt; 
      select&lt;span style="COLOR: #0000ff"&gt;="key('matching-schemas', @targetNamespace)"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:if&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; test&lt;span style="COLOR: #0000ff"&gt;="count( . | $matches[1]) = 1"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:apply-templates&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; select&lt;span style="COLOR: #0000ff"&gt;="$matches[1]"&lt;/span&gt; mode&lt;span style="COLOR: #0000ff"&gt;="consolidate"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:with-param&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; name&lt;span style="COLOR: #0000ff"&gt;="matches"&lt;/span&gt; select&lt;span style="COLOR: #0000ff"&gt;="$matches"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:apply-templates&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:if&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:template&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:template&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; match&lt;span style="COLOR: #0000ff"&gt;="xs:schema"&lt;/span&gt; mode&lt;span style="COLOR: #0000ff"&gt;="consolidate"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:param&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; name&lt;span style="COLOR: #0000ff"&gt;="matches"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xs:schema&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:apply-templates&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; select&lt;span style="COLOR: #0000ff"&gt;="@*|node()"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:for-each&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; select&lt;span style="COLOR: #0000ff"&gt;="$matches[position() != 1]"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:apply-templates&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; select&lt;span style="COLOR: #0000ff"&gt;="@*|node()"&lt;/span&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:for-each&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xs:schema&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:template&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xsl:stylesheet&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;I just threw it together and I've only&amp;nbsp;tested it on a&amp;nbsp;couple of 
WSDLs ...&amp;nbsp;so you might want to verify the results with yours, but I think 
it's pretty solid.&lt;/p&gt;
&lt;p&gt;At a higher level, this issue is usually a result of 
developing&amp;nbsp;the&amp;nbsp;Web&amp;nbsp;service&amp;nbsp;using&amp;nbsp;a code-first approach 
in BEA WebLogic Workshop. As you will see is a common theme on this blog, I 
recommend developing Web services using a contract-first approach whenever 
possible, no matter what your platform.&lt;/p&gt;
&lt;p&gt;I hope someone finds the transform useful. If you have any improvements or 
comments about it, let's hear 'em.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=347497" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/XML/default.aspx">XML</category></item><item><title>Refactoring XSLT</title><link>http://blogs.msdn.com/donsmith/archive/2004/11/26/270844.aspx</link><pubDate>Sat, 27 Nov 2004 02:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:270844</guid><dc:creator>donsmith</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/270844.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=270844</wfw:commentRss><description>
&lt;p&gt;I guess a quick introduction wouldn't be completely out of order for a first 
post. My name is Don Smith and I've been a&amp;nbsp;Dev Consultant at 
Microsoft&amp;nbsp;in Charlotte, NC for just over 5 years now.&amp;nbsp;I spend most of 
my time helping our customers to be successful with Microsoft's&amp;nbsp;XML 
technologies (XSLT, XSD, etc.), Web Services, and distributed architectures. 
I've been blogging for several years, but I'm just now deciding to join the MSDN 
blog party. Would love to hear from you if you feel so moved. :-)&lt;/p&gt;
&lt;p&gt;Refactoring XSLT is a concept that originally dawned on me while delivering 
an XML development workshop earlier this year. Here's a touch of background. 
According to &lt;a href="http://www.martinfowler.com"&gt;Martin Fowler&lt;/a&gt;, &lt;strong&gt;&lt;a href="http://www.refactoring.com"&gt;Refactoring&lt;/a&gt;&lt;/strong&gt; is &lt;em&gt;improving the 
design of existing code&lt;/em&gt;. With that in mind, one of the most common uses of 
XSLT is to transform XML data into HTML. Many enterprise web sites are divided 
[roughly] into 3 sections: the header, the main content, and the footer. If 
you've even seen or developed an XSLT stylesheet that results in HTML and has a 
considerable amount of code in the header and footer sections (or perhaps a 
non-trivial navigation system) you know the spaggetti code (mixture of code and 
HTML)&amp;nbsp;required to get there is remnicient of Classic ASP. I'm not proposing 
there is a way to completely avoid the XSLT/HTML coupling, but this method 
can&amp;nbsp;trim up your XSLT code and apply some structure to your solution.&lt;/p&gt;
&lt;p&gt;The principles behind this approach are based on stylesheet extensibility 
(&amp;lt;xsl:include /&amp;gt;) and factoring out large parts of the HTML into their own 
files.&amp;nbsp;To illustrate this concept&amp;nbsp;I'll use the following files:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Data.xml - A list of our fund raising volunteers and the amount of money 
  they raised. 
  &lt;li&gt;Content.xslt - The main stylesheet. It includes Common.xslt, Header.xslt, 
  and Footer.xslt. 
  &lt;li&gt;Common.xslt - A stylesheet that contains a script and template callable 
  from other stylesheets. 
  &lt;li&gt;Header.xslt - The stylesheet responsible for outputting the header HTML. 
  &lt;li&gt;Footer.xslt - The stylesheet responsible for outputting the footer HTML. 
  &lt;li&gt;Header.txt - A text file containing the HTML for the header section. 
  &lt;li&gt;Footer.txt - A text file containing the HTML for the footer section. 
  &lt;li&gt;Config.xml - A file that contains the locations of the header and footer 
  files.&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Below are enough files to get the idea of how this approach 
works&amp;nbsp;...&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Data.xml&lt;/strong&gt;&lt;/font&gt; - nothing special here; just a 
simple XML document&lt;/p&gt;&lt;pre&gt;&lt;font color="#0000ff"&gt;&amp;lt;?&lt;/font&gt;&lt;font color="#800000"&gt;xml&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&lt;/font&gt; &lt;font color="#ff0000"&gt;encoding&lt;/font&gt;&lt;font color="#0000ff"&gt;="utf-8"&lt;/font&gt; &lt;font color="#0000ff"&gt;?&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;
&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;contributors&lt;/font&gt; &lt;font color="#ff0000"&gt;xmlns&lt;/font&gt;&lt;font color="#0000ff"&gt;="urn:fund-raiser"&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;Joe Blow&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;58.25&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;John Doe&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;81.50&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;Jane Blow&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;89.75&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;Julie Doe&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;96.00&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;amount&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;volunteer&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;
&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;contributors&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Content.xslt&lt;/strong&gt;&lt;/font&gt;&lt;font size="3"&gt; - as you can 
see, this file's sole function is to produce the main conent for the page (the 
table). Its call to the Header template will resolve to the Header.xslt include 
and likewise for the footer. The Common.xslt isn't used by anything in this 
file. Rather, it will be used by the header and footer (or any other child) 
stylesheets.&lt;/font&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;?&lt;font color="#800000"&gt;xml&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&lt;/font&gt; &lt;font color="#ff0000"&gt;encoding&lt;/font&gt;&lt;font color="#0000ff"&gt;="UTF-8"&lt;/font&gt; &lt;font color="#0000ff"&gt;?&amp;gt;
&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:stylesheet&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&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;v&lt;/font&gt;&lt;font color="#0000ff"&gt;="urn:fund-raiser"&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;xsl&lt;/font&gt;&lt;font color="#0000ff"&gt;="http://www.w3.org/1999/XSL/Transform"&amp;gt;&lt;/font&gt;&lt;font size="+0"&gt;
  
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:include&lt;/font&gt; &lt;font color="#ff0000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="Common.xslt"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:include&lt;/font&gt; &lt;font color="#ff0000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="Header.xslt"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:include&lt;/font&gt; &lt;font color="#ff0000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="Footer.xslt"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;

  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt; &lt;font color="#ff0000"&gt;match&lt;/font&gt;&lt;font color="#0000ff"&gt;="/"&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:call-template&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="Header"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;table&lt;/font&gt; &lt;font color="#ff0000"&gt;width&lt;/font&gt;&lt;font color="#0000ff"&gt;="250"&amp;gt;&lt;/font&gt;
      &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:apply-templates&lt;/font&gt; &lt;font color="#ff0000"&gt;select&lt;/font&gt;&lt;font color="#0000ff"&gt;="v:contributors/v:volunteer"&lt;/font&gt;&lt;font color="#ff00ff"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;table&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:call-template&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="Footer"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;

  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt; &lt;font color="#ff0000"&gt;match&lt;/font&gt;&lt;font color="#0000ff"&gt;="v:volunteer"&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;tr&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
      &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;td&lt;/font&gt; &lt;font color="#ff0000"&gt;width&lt;/font&gt;&lt;font color="#0000ff"&gt;="50%"&amp;gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:value-of&lt;/font&gt; &lt;font color="#ff0000"&gt;select&lt;/font&gt;&lt;font color="#0000ff"&gt;="v:name"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;td&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
      &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;td&lt;/font&gt; &lt;font color="#ff0000"&gt;width&lt;/font&gt;&lt;font color="#0000ff"&gt;="50%"&amp;gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:value-of&lt;/font&gt; &lt;font color="#ff0000"&gt;select&lt;/font&gt;&lt;font color="#0000ff"&gt;="v:amount"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;td&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;tr&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;
  
&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:stylesheet&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Header.xslt&lt;/strong&gt;&lt;/font&gt;&lt;font size="3"&gt; - all of the 
header HTML data is in an external file defined in Config.xml. The path is 
retrieved and passed into the FileContents template as a parameter. The 
FileContents template will resolve to Common.xslt.&lt;/font&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;?&lt;font color="#800000"&gt;xml&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&lt;/font&gt; &lt;font color="#ff0000"&gt;encoding&lt;/font&gt;&lt;font color="#0000ff"&gt;="UTF-8"&lt;/font&gt; &lt;font color="#0000ff"&gt;?&amp;gt;
&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:stylesheet&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&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;xsl&lt;/font&gt;&lt;font color="#0000ff"&gt;="http://www.w3.org/1999/XSL/Transform"&amp;gt;&lt;/font&gt;

&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="Header"&amp;gt;&lt;/font&gt;

  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:variable&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="headerfile"&lt;/font&gt; 
    &lt;font color="#ff0000"&gt;select&lt;/font&gt;&lt;font color="#0000ff"&gt;="document('Config.xml')/configuration/header"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;

  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:call-template&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="FileContents"&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:with-param&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="filepath"&lt;/font&gt; &lt;font color="#ff0000"&gt;select&lt;/font&gt;&lt;font color="#0000ff"&gt;="$headerfile"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
  &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:call-template&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;

&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;

&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:stylesheet&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Common.xslt&lt;/strong&gt;&lt;/font&gt;&lt;font size="3"&gt; - this is the 
only part of the solution I'm not crazy about: the script. Granted, even if 
you're not using .NET, most&amp;nbsp;popular XSLT implementations have similar 
extension facilities. As you can see below, the FileContents template calls the 
GetContents function to retrieve the contents of the header. The XPath 
document() function can't be used here because the header and footer&amp;nbsp;files 
don't contain well-formed markup.&lt;/font&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;?&lt;font color="#800000"&gt;xml&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&lt;/font&gt; &lt;font color="#ff0000"&gt;encoding&lt;/font&gt;&lt;font color="#0000ff"&gt;="UTF-8"&lt;/font&gt; &lt;font color="#0000ff"&gt;?&amp;gt;
&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:stylesheet&lt;/font&gt; &lt;font color="#ff0000"&gt;version&lt;/font&gt;&lt;font color="#0000ff"&gt;="1.0"&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;fac&lt;/font&gt;&lt;font color="#0000ff"&gt;="urn:factoring-xslt"&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;msx&lt;/font&gt;&lt;font color="#0000ff"&gt;="urn:schemas-microsoft-com:xslt"&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;xsl&lt;/font&gt;&lt;font color="#0000ff"&gt;="http://www.w3.org/1999/XSL/Transform"&amp;gt;&lt;/font&gt;
  
  &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;msx:script&lt;/font&gt; &lt;font color="#ff0000"&gt;language&lt;/font&gt;&lt;font color="#0000ff"&gt;="c#"&lt;/font&gt; &lt;font color="#ff0000"&gt;implements-prefix&lt;/font&gt;&lt;font color="#0000ff"&gt;="fac"&amp;gt;&lt;/font&gt;

    &lt;font color="#0000ff"&gt;public&lt;/font&gt; &lt;font color="#0000ff"&gt;string&lt;/font&gt; GetContents( &lt;font color="#0000ff"&gt;string&lt;/font&gt; filepath )
    {
      &lt;font color="#0000ff"&gt;try&lt;/font&gt;
      {
        &lt;font color="#0000ff"&gt;using&lt;/font&gt;( System.IO.TextReader reader = 
        System.IO.File.OpenText( filepath ) )
        {
          &lt;font color="#0000ff"&gt;return&lt;/font&gt; reader.ReadToEnd();
        }
      }
      &lt;font color="#0000ff"&gt;catch&lt;/font&gt;( System.Exception ex )
      {
        &lt;font color="#0000ff"&gt;return&lt;/font&gt; ex.Message;
      }
    }

&lt;font color="#0000ff"&gt;  &amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;msx:script&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;

&lt;font color="#0000ff"&gt;  &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="FileContents"&amp;gt;&lt;/font&gt;

    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:param&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="filepath"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;
    &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;xsl:value-of&lt;/font&gt; &lt;font color="#ff0000"&gt;select&lt;/font&gt;&lt;font color="#0000ff"&gt;="fac:GetContents( $filepath )"&lt;/font&gt; 
      &lt;font color="#ff0000"&gt;disable-output-escaping&lt;/font&gt;&lt;font color="#0000ff"&gt;="yes"&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;

&lt;font color="#0000ff"&gt;  &amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:template&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;

&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;xsl:stylesheet&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;If you want to play around with these files, feel free to &lt;a href="http://dev4net.com/coding/RefactoringXslt/RefactoringXslt.zip"&gt;download&amp;nbsp;my 
sample solution&amp;nbsp;here&lt;/a&gt;. I've never seen this approach used anywhere and 
I've never seen anyone else mention it. I thought a purely original post would 
be a good start on MSDN. So, if you decide to implement any of these ideas, 
&lt;strong&gt;please test thoroughly&lt;/strong&gt;. I can't stress that enough. Here are 
some other resources you might find useful: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q316775&amp;amp;"&gt;PRB: 
  Cannot unload assemblies that you create and load by using script in XSLT&lt;/a&gt; 
  &lt;li&gt;&lt;a onmousedown="return clk(this,'res',3)" href="http://support.microsoft.com/default.aspx?scid=kb;en-us;325689"&gt;&lt;font color="#551a8b"&gt;INFO: Performance of &lt;b&gt;XSLT&lt;/b&gt; Transformations in the .NET 
  Framework&lt;/font&gt;&lt;/a&gt; 
  &lt;li&gt;&lt;a onmousedown="return clk(this,'res',4)" href="http://support.microsoft.com/default.aspx?scid=kb;en-us;815124"&gt;&lt;font color="#551a8b"&gt;INFO: Techniques to Improve Performance of XSL 
  Transformations&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;If you have any thoughts about this stuff, I'd love to hear 'em. Happy 
coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=270844" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/XML/default.aspx">XML</category></item></channel></rss>