Gets or sets the input document.

Namespace: ININ.IceLib.ProcessAutomation
Assembly: ININ.IceLib.ProcessAutomation (in ININ.IceLib.ProcessAutomation.dll) Version: 0.0.0.0 (22.3.0.218)

Syntax

C#
public XmlDocument InputDocument { get; set; }
Visual Basic
Public Property InputDocument As XmlDocument
	Get
	Set

Field Value

The input document.

Remarks

Use the input document to specify the initial values of process input variables. Only variables you have added to a process under variables can be set.

For process input variables that are collections you can specify the element name multiple times as shown above. A collection input variable cannot be NOT_SET. The values in a collection can be NOT_SET.

Interaction Process Automation supports the concept of NOT_SET, which means the process variable does not have a value. To specify NOT_SET in the XML document, add xsi:nil="true" as an attribute of the element name. No element text should be specified. For example: <ExampleUser xsi:nil="true"/>

The following is a list of supported data types in Interaction Process Automation along with information about how to specify the value for each data type as a string to conform with XML data type standards.

  • Boolean - A boolean can be any of the following values: true, false, 1, 0
  • Date - A date must be in the following format: YYYY-MM-DD[Z|(+|-)hh:mm] where YYYY = 4 digit year, MM = 2 digit month, DD = 2 digit day, hh = 2 digit hour offset and mm = 2 digit minute offset. YYYY-MM-DD represents the year, month and day portion of the date. [Z|(+|-)hh:mm] represents the offset of the date from universal coordinated time. If no offset is specified the timezone for this date will be set to the timezone of the IC server. Otherwise the offset will be applied and the timezone will be changed to universal coordinated time. The date must be between 1800-1-1 and 2200-12-31. For example: 2001-10-26, 2001-10-26+02:00, 2001-10-26Z, 2001-10-26+00:00
  • DateTime - A datetime must be in the following format: YYYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm] where YYYY = 4 digit year, MM = 2 digit month, DD = 2 digit day, hh = 2 digit hour, mm = 2 digit minute and ss = 2 digit second. YYYY-MM-DDThh:mm:ss represents the year, month, day, hour, minute and second portion of the date time. T is a separator indicating where the time portion starts. [Z|(+|-)hh:mm] represents the offset of the date time from universal coordinated time. If no offset is specified the timezone for this datetime will be set to the timezone of the IC server. Otherwise the offset will be applied and the timezone will be changed to universal coordinated time The date time must be between 1800-1-1T00:00:00 and 2200-12-31T23:59:59 For example: 2001-10-26T21:32:52, 2001-10-26T21:32:52+02:00, 2001-10-26T19:32:52Z, 2001-10-26T19:32:52+00:00, or 2001-10-26T21:32:52.12679
  • Decimal - A decimal must have a value consisting of a mantissa followed, optionally, by the character "E" or "e", followed by an exponent. The exponent must be an integer. The mantissa must be a decimal number. The representations for exponent and mantissa must follow the rules for integer and decimal. If the "E" or "e" and the following exponent are omitted, an exponent value of 0 is assumed. The value space of a decimal consists of the values m × 2^e, where m is an integer whose absolute value is less than 2^53, and e is an integer between -1075 and 970, inclusive. For example: 6.2, -1E4, 1267.43233E12, 12.78e-2, 12, and 0 are all legal values for a decimal.
  • Duration - A duration must be in the following format: "(-)PnDTnHnMnS" where P indicates the period, nD the number of days, T indicates the start of the time section, nH the number of hours, nM the number of minutes and nS the number of seconds. Numeric components in the string like 'nD' that represent the number of days will not be returned if n equals 0. The minus sign will be present if the duration is negative. Note: nS may include fractional seconds. For example: PT1004199059S, PT130S, PT2M10S, P1DT2S, or P3DT5H20M30.123S
  • Integer - An integer must be a number between 9223372036854775807 and -9223372036854775808 inclusive. For example: -1, 0, 12678967543233, 100000
  • Mailbox - A mailbox must contain two parts. The part before the @ sign is the local-part of the address, often the username of the recipient (jsmith), and the part after the @ sign is the domain which is a hostname to which the e-mail message will be sent (example.com). For example: Info@ININ.com, jsmith@example.com
  • Skill - A skill is a string that matches an existing skill name in Interaction Administrator. For example: Spanish, English
  • String - A string is a finite-length sequence of characters. For example: Hello World!
  • Time - A time must be in the following format: hh:mm:ss[Z|(+|-)hh:mm] where hh = 2 digit hour, mm = 2 digit minute and ss = 2 digit second. hh:mm:ss represents the hour, minute and second portion of the time. [Z|(+|-)hh:mm] represents the offset of the time from universal coordinated time. If no offset is specified the timezone for this datetime will be set to the timezone of the IC server. Otherwise the offset will be applied and the timezone will be changed to universal coordinated time. For example: 21:32:52, 21:32:52+02:00, 19:32:52Z, 19:32:52+00:00, and 21:32:52.12679.
  • User - A user is a string that matches an existing user name in Interaction Administrator. For example: admin
  • Workgroup - A workgroup is a string that matches an existing workgroup name in Interaction Administrator. For example: Support

Examples

CopyC#
static XmlDocument CreateInputXmlDocument()
{
   // Create a new XmlDocument to pass as the initial values for IPA process input variables
   XmlDocument xmldoc = new XmlDocument();

   // Creates the XML declaration
   XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
   xmldoc.AppendChild(xmlnode);

   // The root element of all process input XML documents is "Process"
   XmlElement xmlelement = xmldoc.CreateElement("Process");
   xmlelement.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

   // Add an element for each process input variable that should be set when the process starts.
   // You can set a process variable as an input in Interaction Process Automation
   // by changing the assessibility parameter of the variable to "Input."
   // Variables are set to Private by default. The accessibility should be changed to "Input" or "Input/Output" as needed.
   // If a variable is defined in the Xml, but still has an accessibility of Private the process will fail to launch.
   // The name of the element needs to match the variable name in Interaction Process
   // Automation exactly.
   AddXmlElement(xmldoc, xmlelement, "ExampleBoolean", "true");
   AddXmlElement(xmldoc, xmlelement, "ExampleDate", "2002-09-24");
   AddXmlElement(xmldoc, xmlelement, "ExampleDateTime", "2002-05-30T09:00:00");
   AddXmlElement(xmldoc, xmlelement, "ExampleDecimal", "127.00");
   AddXmlElement(xmldoc, xmlelement, "ExampleDuration", "P5DT15H");
   AddXmlElement(xmldoc, xmlelement, "ExampleInteger", "72");
   AddXmlElement(xmldoc, xmlelement, "ExampleMailbox", "Info@ININ.com");
   AddXmlElement(xmldoc, xmlelement, "ExampleSkill", "Spanish");
   AddXmlElement(xmldoc, xmlelement, "ExampleString", "Hello World!");
   AddXmlElement(xmldoc, xmlelement, "ExampleTime", "09:30:10");
   AddXmlElement(xmldoc, xmlelement, "ExampleUser", "admin");
   AddXmlElement(xmldoc, xmlelement, "ExampleWorkgroup", "Support");
   AddXmlElement(xmldoc, xmlelement, "ExampleStringCollection", "Red");
   AddXmlElement(xmldoc, xmlelement, "ExampleStringCollection", "Green");
   AddXmlElement(xmldoc, xmlelement, "ExampleStringCollection", "Blue");

   xmldoc.AppendChild(xmlelement);

   return xmldoc;
}

public static void AddXmlElement(XmlDocument doc, XmlElement parent, string name, string value)
{
   if (string.IsNullOrEmpty(value)) return;

   XmlElement element = doc.CreateElement(name);
   element.AppendChild(doc.CreateTextNode(value));
   parent.AppendChild(element);
}

Version Information

Supported for IC Server version 2015 R1 and beyond.
For 4.0, supported for IC Server version 4.0 GA and beyond.
For 3.0, supported for IC Server version 3.0 SU 8 and beyond.

See Also