Actions Schema Reference (WorkflowInfo)

Applies to: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

The Actions schema that is used to validate custom .ACTIONS files does not actually exist in the form of an .xsd file on the server file system. The following XML is only a representation of that schema, to ease development. Valid values have been furnished where available and strings that represent the type of data that is required for an attribute have also been provided.

Note

This schema reference is for XML development purposes and should be used only when creating .ACTIONS files in a developer environment, not a production environment. This XML has been formatted for readability.

Actions schema example

<xs:schema elementFormDefault="qualified"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="WorkflowInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Conditions">
          <xs:complexType>
            <xs:sequence>
              <xs:choice minOccurs="0"
                          maxOccurs="unbounded">
                <xs:element name="Default"
                            type="defaultElementType"
                            maxOccurs="1"
                            minOccurs="0" />
                <xs:element name="Condition"
                            minOccurs="0"
                            maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="RuleDesigner"
                                  type="ruleDesignerType" />
                      <xs:element name="Parameters"
                                  type="parametersType" />
                    </xs:sequence>
                    <xs:attribute name="Type">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Advanced" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="Name">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Name
                                  displayed Workflow editor."/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="AppliesTo"
                                  type="appliesToTypes" />
                    <xs:attribute name="UsesCurrentItem"
                                  type="xs:boolean" />
                    <xs:attribute name="FunctionName">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Boolean
                                                  method
                                                  implemented
                                                  in class" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="Assembly">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration
                                    value="Assembly.Name,
                                    Version=0.0.0.0,
                                    Culture=neutral,
                                    PublicKeyToken=PublicKeyToken" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="ClassName">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Namespace
                                                  Qualified
                                                  class name"
                                                          />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:choice>
            </xs:sequence>
            <xs:attribute name="And">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="and" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Or">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="or" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="When">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="If" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Else">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="Else If" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Not" >
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="not" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="Actions">
          <xs:complexType>
            <xs:sequence>
              <xs:choice minOccurs="0"
                          maxOccurs="unbounded">
                <xs:element name="Default"
                            type="defaultElementType" />
                <xs:element name="Action">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:choice minOccurs="0"
                                  maxOccurs="unbounded">
                        <xs:element name="Parameters"
                                    type="parametersType" />
                        <xs:element name="RuleDesigner"
                                    type="ruleDesignerType" />
                      </xs:choice>
                    </xs:sequence>
                    <xs:attribute name="Name">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Name displayed
                                            in workflow editor" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="ClassName">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Namespace qualified
                                                  class name" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="Assembly">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration
                                  value="Assembly.Name,
                                  Version=0.0.0.0,
                                  Culture=neutral,
                                  PublicKeyToken=PublicKeyToken" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="Category">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Filter
                                                  category" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="CreatesTask"
                                  type="xs:boolean" />
                    <xs:attribute name="CreatesInList">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="Parameter name
                                                  containing ID
                                                  of list" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="AppliesTo"
                                  type="appliesToTypes" />
                    <xs:attribute name="ListModeration"
                                  type="xs:boolean" />
                    <xs:attribute name="UsesCurrentItem"
                                  type="xs:boolean" />
                  </xs:complexType>
                </xs:element>
              </xs:choice>
            </xs:sequence>
            <xs:attribute name="Sequential">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="then" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Parallel">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="and" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="Language">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="en-us" />
          </xs:restriction>
          </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ruleDesignerType">
    <xs:sequence>
      <xs:element name="FieldBind" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Option"
                        minOccurs="0"
                        maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                </xs:sequence>
                <xs:attribute name="Name" type="xs:string" />
                <xs:attribute name="TypeFilter"
                              type="xs:string" />
                <xs:attribute name="UnaryHides"
                              type="xs:string" />
                <xs:attribute name="Value" type="xs:string" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="Field">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Parameter name that this
                                      FieldBind maps to" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="OperatorTypeFrom">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Parameter that an Operator
                                      derives its type from" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="TypeFrom">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Parameter that non-
                                      Operator derives its type
                                      from" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="Function" type="xs:boolean" />
            <xs:attribute name="Value">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="Reserved for future use" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="DesignerType">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="Bool" />
                  <xs:enumeration value="ChooseDoclibItem" />
                  <xs:enumeration value="ChooseListItem" />
                  <xs:enumeration value="CreateListItem" />
                  <xs:enumeration value="Date" />
                  <xs:enumeration value="Dropdown" />
                  <xs:enumeration value="Email" />
                  <xs:enumeration value="fieldNames" />
                  <xs:enumeration value="float" />
                  <xs:enumeration value="hyperlink" />
                  <xs:enumeration value="Integer" />
                  <xs:enumeration value="ListNames" />
                  <xs:enumeration value="Operator" />
                  <xs:enumeration value="ParameterNames" />
                  <xs:enumeration value="Person" />
                  <xs:enumeration value="SinglePerson" />
                  <xs:enumeration value="stringbuilder" />
                  <xs:enumeration value="Survey" />
                  <xs:enumeration value="Text" />
                  <xs:enumeration value="TextArea" />
                  <xs:enumeration value="UpdateListItem" />
                  <xs:enumeration value="writablefieldNames" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Id">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="Unique positive Integer" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="Text">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="Text to be displayed
                                          as a hyperlink" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="Sentence">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Sentence to be displayed to the
                                    workflow editor" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
    <xs:complexType name="defaultElementType">
      <xs:sequence>
        <xs:element name="RuleDesigner" type="ruleDesignerType" />
      </xs:sequence>
    </xs:complexType>
    <xs:complexType name="parametersType">
      <xs:sequence>
        <xs:element name="Parameter"
                    minOccurs="0"
                    maxOccurs="unbounded">
    <xs:complexType>
    <xs:sequence />
      <xs:attribute name="Type" type="xs:string" />
      <xs:attribute name="Direction">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="In" />
            <xs:enumeration value="Out" />
            <xs:enumeration value="Optional" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    <xs:attribute name="Name">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Parameter name referred to in
                                FieldBind Field attribute" />
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="InitialValue">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Initial value displayed
                                by FieldBind control" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
  <xs:simpleType name="appliesToTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="list" />
      <xs:enumeration value="doclib" />
      <xs:enumeration value="all" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

See also