DTSXMLSourceType Enumeration


Describes the location of the SourceType, the source type of the XPath string in XPathStringSourceType, and the type of the second operand in SecondOperandType. Depending on what the type is used, the Source, XPathStringSource, and SecondOperand properties must be compatible. For example, if the SourceType is set to FileConnection, then the Source must contain a connection manager. If the SourceType is Variable, then the Source must point to the variable to use.

Namespace:   Microsoft.SqlServer.Dts.Tasks.XMLTask
Assembly:  Microsoft.SqlServer.XMLTask (in Microsoft.SqlServer.XMLTask.dll)

public enum DTSXMLSourceType

Member nameDescription

Specifies that the XML document is entered in plain text, directly into an area in the task user interface. This option is used only when a user interface for the task is provided.


Specifies that the XML document is saved in a file. The task interacts with the connection manager to retrieve XML documents from the files. If you are writing a user interface for this task, operations that support file connection manager retrieval should also offer a New connection button, which allows users to create a new connection while editing the task.


Specifies that the XML document is saved in a variable.

The following code example shows this enumeration being used to set the SourceType and SecondOperandType for the task.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.XMLTask;

namespace XMLTask_API
    class Program
        static void Main(string[] args)
                        // Set up the objects and tasks.
                        Package pkg = new Package();
                        Executable exec1 = pkg.Executables.Add("STOCK:XMLTask");
                        TaskHost th = exec1 as TaskHost;
                        // You can cast the InnerObject to the XmlTask,
                        // but it is advised that you work with tasks
                        // through the TaskHost and its Properties.
                        // XMLTask myTask = th.InnerObject as XMLTask;

                        // Create a variable and a FILE connection
                         // manager to books.xml.
                        Variable resultVar = pkg.Variables.Add("resultVariable", false, "", "Variable for the result");
                        ConnectionManager connMgr = pkg.Connections.Add("FILE");
                        connMgr.Name = "XMLConnectionManager";
                        // The file is stored on the C:\ drive.
                        connMgr.ConnectionString = @"c:\books.xml";

                        // Set the XMLTask properties.
                        // The first property to set is the
                         // OperationType. Depending on the
                        // OperationType, different properties are
                         // valid.
                        // The operation type in this example is 
                        // VALIDATE.
                        th.Properties["OperationType"].SetValue(th, DTSXMLOperation.Validate);
                        th.Properties["SourceType"].SetValue(th, DTSXMLSourceType.FileConnection);
                        th.Properties["Source"].SetValue(th, connMgr.Name);
                        th.Properties["OverwriteDestination"].SetValue(th, true);
                        th.Properties["SaveOperationResult"].SetValue(th, true);
                        th.Properties["DestinationType"].SetValue(th, DTSXMLSaveResultTo.Variable);
                        th.Properties["Destination"].SetValue(th, resultVar.Name);
                        th.Properties["SecondOperandType"].SetValue(th, DTSXMLSourceType.DirectInput);
                        th.Properties["SecondOperand"].SetValue(th, "<x></x>");
                        th.Properties["ValidationType"].SetValue(th, DTSXMLValidationType.DTD);
                        th.Properties["FailOnValidationFaile"].SetValue(th, true);
                        DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);
                        Console.WriteLine("RESULTS: {0}", valResults);

Sample Output:

RESULTS: Success

Return to top