Click here to Skip to main content
15,891,409 members
Articles / Web Development / ASP.NET

Developing Next Generation Smart Clients using .NET 2.0 working with Existing .NET 1.1 SOA-based XML Web Services

Rate me:
Please Sign up or sign in to vote.
4.96/5 (134 votes)
16 Aug 200540 min read 1.2M   3.9K   462  
Comprehensive guide to development of .NET 2.0 Smart Clients working with existing Service Oriented Architecture based XML web services, fully utilizing the Enterprise Library
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="toolStripAccounts.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>119, 19</value>
  </metadata>
  <metadata name="accountsImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>282, 23</value>
  </metadata>
  <data name="accountsImage.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAM
        EAAAAk1TRnQBSQFMAgEBCAEAAQkBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
        AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
        AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
        AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
        AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
        AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
        AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
        ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
        AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
        AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
        AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
        AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
        AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
        AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
        AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
        AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
        ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
        Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
        AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
        AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
        AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
        ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
        Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
        AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
        AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
        AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
        AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
        AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
        AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8AGgABtQGu
        AosBrgGRCAADoQSFA6EIAAGhAYUCXwEEAaETAAH/BAABrgGLAfcBvALxAbwB9wGLAbUFAAKhAYUBBARf
        AQQBhQKhBwABxAG1AbABqQFmAV8JAAH/DQACkQHzBPQC8wHwAa4BtQMAAqECBAGnAc8ChQEEAl8BBAKh
        BgABtQGuAagBzwJfAaEJAAH/BwAB/wMAArUB/wH2Af8B3QL/AfYB9AHyAbwBrgEHAQACoQSFAdsB3AGn
        AoUBBAFfAQQCoQUAAbUB1gGvAbYCXwGhCQAB/wYAAf8EAAG0AfQC/wHVAa0B3AL/AfYB9AHyAbwBiwEA
        AaEEhQGnAhkB3AGnAoUBBAFfAYUBoQUABdcBXwGhCgAB/wUAAf8DAAK1Av8B1gGtAdUBrQHcAv8B9AHz
        AfIBkQG1AaEDhQGGARkC9AEZAdwBpwKFAV8BBAGhBAABoQXdAa8BBAGhCgAB/wMAAf8EAAGuAfEB/wHd
        Aa0B1QGLAdUBrQHcAv8B8wHyAe8BrgGFA6cBrQP/ARkBCQG0AoUBhgFfAYUDAAGhAdAG3QFfAaENAAH/
        BQABtAL/AtUBiwEJAYsB1QGtAdwB/wH0AfMBvAGuAacDrQG1A/8BGQGnAoUBCQH0AV8BhQIAAaEBqAjd
        AV8BoQsAAf8GAAG0Av8B3AGLARkB/wEJAYsB1QGtAdwB/wHzAbwBrgGtAbQB1QEJARkB3AEJAbQBpwGm
        AoUBtQH/AV8BhQIAAaEB3QH/Ad0BGQP0ARkB3QHWAQQMAAH/BQABtQP/ARkD/wEJAYsC1QEJAfMB7wGu
        AbQB2wEZAf8CGQHcAbQBrQGnAoUBzwH0AV8BhQIAAeYB3QH/AfMB9AP/AfQBGQHdAV8JAAH/AgAB/wUA
        AbUB8wf/AQkBiwHVARkB9AGRAbUB2wHcAf8B8wIZAdwB2wG0Aa0BpgGFAd0BGQEEAaECAAHWAd0C9AX/
        AfQB3QFfCAAB/wUAAf8EAAG7CP8BCQIZAfABiwEAAdUBGQP/ARkBCQHbAbQBrQKnAQkBBAGFAaECAAHW
        Ad0H/wH0ARkBXwcAAf8HAAH/AwABuwEZCf8B9AGLAbwBAAGnARkC/wH0AhkB2wHVAbQBCQG1AbQBBAKh
        AgABpwHdAf8B9AX/AfQB3QGFBQAB/woAAf8DAAG7ARkH/wHzAZEBtQMAAdUEGQLcAbMBrQGnAoUCoQQA
        AdYC9AT/AfQBGQGnAaEVAAIJARkD9AHzAbsBtQHxBQAB1QEZAQkC3AHbAbMBrQGmAYUCoQYAAdYBGQH/
        A/QBGQGnAaEXAAEJAbsCCQK1AQkIAAGnAdUB3AHbAbQBrQGnA6EIAAGnAdAB3QHWAagBoSUAFf8DtQLd
        Bv8B9w9mAQAB8wFsA2YCbAVmAe8CAAP/AioB6wX/AioH/wG7At0BtQLdAbUB3QHqA/8B9wH/AfEC8AK8
        BwkBuwFmAQABtQH0AfECvAEcAQcBCQG7A7UBZgIAA/8BKgE4ASoBEgP/ASoBwwFZBv8BtQGRAQkG3QEJ
        A/8B9wP/AvUBLwP0AxkB8wG7AWYBAAHvAvQB8wFMASUBbwHwAd0CCQG1AWYCAAT/AfYBOAFZARQB/wFS
        AXoBOAEqBf8BuwkJARMB7AL/AfcE/wIvApkB8AH0ARkC8wG7AWYBAAHvAfQB8AFGAU0BRgElAZMC3QEJ
        AbUBZgIABP8BdAE4AVkB5QGaAaABWQE4AesF/wG1AdYCCQHWAv8CtQMJAa4B/wH3A/8GLwEIA/QBuwFm
        AQABtQH/AUYBTQF1AeMBTQFGAbwB3QEJAbUBZgIABP8BKgF6ATgBWQHlAaAB5QEqB/8BtQLWBP8BtQTW
        Af8BtQT/Ai8BGwH1AfEBLwP0AbsBZgEAAbUB/wGUAXUBFgHwAXUBTAFLAt0BuwFmAgAE/wHrAfYBOAFZ
        AeUBoAHlAUoF/wG1BNYF/wG1AtYC/wHvA/8BeQH/AS8B/wEvAfUBeAP0AQcBZgEAAbsB/wHzAb0B9AHz
        AfIBdQFMAW4B8QEJAWwCAAP/AUsBOAFZAjgBWQHlAaABWQEqAesD/wG1A9YBtQX/AbsD1gHqAbUD/wEv
        AZ8B/wEbAi8B9QP0AQcBZgEAAbsE/wH0AvMBdQFGAZMBvAGuAgAB/wHrASoBWQHlAlkBOAFZAeUBoAHl
        AVkBOAHrBP8BtQLWBf8BuwPWAeoBuwP/ARsGLwL1AfQBBwFmAQABBwX/AfQC8wF1AUYBkwGRAgAB/wE4
        AeUBoAHDAfYB/wE4AlkB9gHDAXoBOAFZAUsC/wH3A9YB6gT/AbUC1gL/Ae8E/wEbAZ8BmQIvAv8C9QEH
        AWYBAAG7Av8BHAJzAm4B7AEcAZQBRgGSAgAB/wUqAVEBWQE4AVkCUQMqA/8BtQTWAewC/wHvA9YBEgH/
        AbUH/wEvBP8B9QEHAWYBAAG7Av8BHAGZAZoBegF5AXQB7AHzAfAB7QIABv8BKgFZATgBKgj/BrUCzwW1
        Af8Buw3/AfUBZgEAAQkC/wH2ARwB9wHtAXkBSgH0AfIB8wHrAgAH/wH2AVkBKgr/AbUHzwK1Av8F1gHV
        A7QHrQEAAfQBCQK7ARwCmgGZAUoBtQHvAbUB8wIACP8BWQHrCv8BtQLPAbUCzwG0As8D/wHWAgkF3AHW
        BtUBrQYAAhwBcwcAB/8BSwFZDP8BuwH/AbUCzwG7As8D/wbWAtUDtAGzBK0QABf/A7UG/wFCAU0BPgcA
        AT4DAAEoAwABQAMAATADAAEBAQABAQUAAYABARYAA/+BAAL/AfgBHwHgAQcB+AEfAf8B+QHgAQcBwAED
        AfgBHwHnAf8BwAEDAYABAQH4AQ8BwwHzAYABAQIAAfgBDwHDAecBgAEBAgAB+AEPAeEBxwQAAfABBwHw
        AY8EAAHgAQcB+AEfBAABwAEDAfwBPwQAAcABAwH4AR8EAAHAAQMB8AGfBAABwAEDAcEBxwGAAQECAAHA
        AQMBgwHjAYABAQIAAcABAwGPAfEBwAEDAYABAQHgAQMC/wHgAQcBwAEDAfABBwL/AfABHwHgAQcB+AEf
        BP8GAAGAAQMGAAGAAQMGAAGAAQMGAAGAAQMGAAGAAQMGAAGAAQMGAAGAAQMGAAGAAQMGAAGAAQMGAAGA
        AQMGAAGAAQMGAAGAAQMGAAGAAQMGAAH8AX8GAAL/BAAL
</value>
  </data>
  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <data name="newToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAQ9JREFUOE+t09lq
        wkAUBmBfyr5DfY32jaReSOmFCyKCgkKLFrVUBZeKiEbshqRuaNw1xiXmLxMJBJ0Zc+GBw9zMfDPnHMZm
        u1ZE35s4zXCqjmC8Al+sgHLjD9y7yGFWPIbecOO45yORtMAEHnxxJHL1IyKI9JeEXqtMwOl50Q8bSS0l
        8PzBBPbqAQQxICrgjeapgKZpkJUdBmNZB+y3d/QSnsIZKrDdqZjMFYj9OR9wB1NngHrQsJC36EkrfIkT
        PuDyJ84AZbOHNF2j1Z2h9i3xAVKfOUjjZssN2oMFmq0xSkLfOmBu3E97iurnENlKxzpgbpzwO0Kh1kOy
        KFoDjHmzVuYYjRmTDZfyWh9Yd/4B2Mz2w1z7EGUAAAAASUVORK5CYII=
</value>
  </data>
  <data name="editToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlBJREFUOE+1k1lI
        lGEUhn/owm6KFuqqq4LoJooIqouMwixMM4zEjKyJGJUSlcnSITU1RSe3SdPGyGVQc6tEUSkSIXFo13CM
        FonUyGmy5p9xz+Lp/z8ZbGjzpgMv5+a8z1n4Pkn6H9HZnEH7zVQayxKYF7+hMg+3ynKO4LBVMWa7xmBf
        Nme1vuSl67hi0GNMj/sVqBon5XqmnXVMOqoxF+sYH6kgJyWKF13xnD/tT7xmM7bOY4y0riY6bL8nRAWo
        5mlnDUUZR+m2ZCO/L2C4T89bywmaSgIJD/WmKnEVT/MkIg/v8wTUVeTMAuQbGBLDSNaFoI8K5lxkEDpt
        IDEafyJCfciPXiMAIX7enoDqUgNTci1TdhPjQ5nYn0dhrVgu1Fu+jO7iRTwyegmzKp9tGz0BZlMGE/Yy
        JgbSGH95irFnB5GbF5Nb3kqmqZELl2uJN5iJSS0hPMFIWGyWJ6C0MJXRQSNjfVpGH/vjur+Jj7dXCLM7
        pme+4XBOMjDsIDgihYDj+jlISW4S8qs0XA99cXWsx9m2ksFySXRWo/RWp5Cppp3efpsw3+2ysidIMwsp
        zErgc88ZnO3rkFuWYq/3ov+6JMb+OvOdLy6l8wcHvW9sWHre4Rcag69i3rX3AN7bdyDlX4zD/iBCMS/h
        U8NChioXYC2SiFZ2Vsd2T3BVmaDA3EZTh1VkVVs3rEW6lBwrHoj7yu6sVQ72c+d7ltfCXH+nm5rWJ3MA
        dY3cpJPKCwtEE7SbgJ1bBFm9trqzu9vvspjgT3FIubZa8C/N67P9regHTvjvLQ3rR38AAAAASUVORK5C
        YII=
</value>
  </data>
  <data name="refreshButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIFJREFUOE+1U1sO
        gDAIYzf35lPmY4VRwQ9JTEhmu1K6JrM69G9tY4c9qwOol9CLMvwAazGSkEC2EwTAm2BRQgmQxJEZOwyB
        gvyHP0RjTKko+yLy8j4RRLOVCYzs1VDuwWOWG6ds4libmz9Y6U9bQPlRBlga0ySWc5A+CvIeMOPVXnaU
        bS7+8vg/bwAAAABJRU5ErkJggg==
</value>
  </data>
</root>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Architect BT, UK (ex British Telecom)
United Kingdom United Kingdom

Comments and Discussions