Share via


DTSXMLOperation Enumeration

Specifies the operations used when working with XML documents.

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

Syntax

'Declaration
Public Enumeration DTSXMLOperation
'Usage
Dim instance As DTSXMLOperation
public enum DTSXMLOperation
public enum class DTSXMLOperation
type DTSXMLOperation
public enum DTSXMLOperation

Members

Member name Description
Diff Compares two XML documents. By using the source XML document as a base document, the Diff operation compares it to another XML document, detects the differences, and then writes the differences to an XML DiffGram document. This operation includes properties for customizing the comparison.
Merge Merges two XML documents. By using the source XML document as a base document, it merges a second document into the base document. The operation can specify a merge location in the document.
Patch Applies the output from the Diff operation (a DiffGram document) to an XML document to create a new parent document that can include content from the DiffGram document.
Validate Validates the XML document against a document type definition (DTD) or XML Schema definition (XSD).
XPATH Performs XPath queries and evaluations.
XSLT Performs XSL transformations on XML documents.

Remarks

This operation determines what other properties in the XMLTask class are valid. For example, if the operation chosen is XPATH, then the properties PutResultInOneNode and XPathOperation are used. When the operation is Validate, then FailOnValidationFail flag is available. This is usually the first property set in code, just so you can see immediately what task the XMLTask is performing.

Examples

The following code example shows this enumeration being used to set the OperationType right after creation of 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, Books.xml, 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

See Also

Reference

Microsoft.SqlServer.Dts.Tasks.XMLTask Namespace