Copy of WorkflowDefinition.xsd for XML validation
You can use the following copy of the WorkflowDefinition.xsd to validate your XML code after you finish authoring it.
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.bmc.com" xmlns="http://www.bmc.com"
elementFormDefault="qualified">
<!-- The root element -->
<xs:element name="workflow">
<xs:complexType>
<!--A workflow contains at least one of either an input page, input group, or parameter, in any order-->
<xs:sequence>
<xs:choice minOccurs="1">
<xs:element name="page" type="page" />
<xs:element name="group" type="group" />
<xs:element name="parameter" type="parameter" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="parameter">
<xs:all>
<xs:element name="defaultValue" type="defaultValue"
maxOccurs="1" />
<!-- possibleValues are required for Enum parameters -->
<xs:element name="possibleValues" type="possibleValues"
maxOccurs="1" />
<!-- allowedJobTypes are optional for job type parameters -->
<xs:element name="allowedJobTypes" type="allowedJobTypes"
maxOccurs="1" />
</xs:all>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional"
default="" />
<xs:attribute name="prompt" type="xs:string" use="optional"
default="" />
<xs:attribute name="type" type="dataType" use="optional"
default="string" />
<xs:attribute name="isRequired" type="xs:boolean" use="optional"
default="false" />
</xs:complexType>
<xs:simpleType name="dataType">
<xs:restriction base="xs:string">
<xs:enumeration value="string" />
<xs:enumeration value="numeric" />
<xs:enumeration value="boolean" />
<xs:enumeration value="datetime" />
<xs:enumeration value="password" />
<xs:enumeration value="file" />
<xs:enumeration value="directory" />
<xs:enumeration value="job" />
<xs:enumeration value="target" />
<xs:enumeration value="serverGroup" />
<xs:enumeration value="enum" />
<xs:enumeration value="xml" />
<xs:enumeration value="jobRunId" />
<xs:enumeration value="list_string" />
<xs:enumeration value="list_numeric" />
<xs:enumeration value="list_boolean" />
<xs:enumeration value="list_datetime" />
<xs:enumeration value="list_password" />
<xs:enumeration value="list_file" />
<xs:enumeration value="list_directory" />
<xs:enumeration value="list_job" />
<xs:enumeration value="list_target" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="jobType">
<xs:restriction base="xs:string">
<xs:enumeration value="ACL Push Job" />
<xs:enumeration value="Audit Job" />
<xs:enumeration value="Batch Job" />
<xs:enumeration value="BL Package Deploy Job" />
<xs:enumeration value="Compliance Job" />
<xs:enumeration value="Component Discovery Job" />
<xs:enumeration value="Deregister Configuration Objects Job" />
<xs:enumeration value="Distribute Configuration Objects Job" />
<xs:enumeration value="File Deploy Job" />
<xs:enumeration value="NSH Script Job" />
<xs:enumeration value="Solaris Patching Job" />
<xs:enumeration value="AIX Patching Job" />
<xs:enumeration value="Windows Patching Job" />
<xs:enumeration value="RedHat Linux Patching Job" />
<xs:enumeration value="Oracle Enterprise Linux Patching Job" />
<xs:enumeration value="SuSE Linux Patching Job" />
<xs:enumeration value="Provision Job" />
<xs:enumeration value="UCS Provision Job" />
<xs:enumeration value="Snapshot Job" />
<xs:enumeration value="Software Deploy Job" />
<xs:enumeration value="Update Server Properties Job" />
<xs:enumeration value="Upgrade Model Objects Job" />
<xs:enumeration value="VSM Discovery Job" />
<xs:enumeration value="Virtual Guest Job" />
</xs:restriction>
</xs:simpleType>
<!-- Possible values contains at least one "value" -->
<xs:complexType name="possibleValues">
<xs:all>
<xs:element name="value" type="xs:string" minOccurs="1" />
</xs:all>
</xs:complexType>
<xs:complexType name="defaultValue">
<xs:all>
<xs:element name="value" type="xs:string" minOccurs="1" />
</xs:all>
</xs:complexType>
<xs:complexType name="allowedJobTypes">
<xs:all>
<xs:element name="jobType" type="jobType" minOccurs="1" />
</xs:all>
</xs:complexType>
<!-- Input group contains at least one parameter -->
<xs:complexType name="group">
<xs:all>
<xs:element name="parameter" type="parameter" minOccurs="1" />
</xs:all>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional"
default="" />
</xs:complexType>
<!-- An input page contains at least one of either an input group or parameter, in any order-->
<xs:complexType name="page">
<xs:sequence>
<xs:choice minOccurs="1">
<xs:element name="group" type="xs:string" />
<xs:element name="parameter" type="xs:string" />
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional"
default="" />
</xs:complexType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.bmc.com" xmlns="http://www.bmc.com"
elementFormDefault="qualified">
<!-- The root element -->
<xs:element name="workflow">
<xs:complexType>
<!--A workflow contains at least one of either an input page, input group, or parameter, in any order-->
<xs:sequence>
<xs:choice minOccurs="1">
<xs:element name="page" type="page" />
<xs:element name="group" type="group" />
<xs:element name="parameter" type="parameter" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="parameter">
<xs:all>
<xs:element name="defaultValue" type="defaultValue"
maxOccurs="1" />
<!-- possibleValues are required for Enum parameters -->
<xs:element name="possibleValues" type="possibleValues"
maxOccurs="1" />
<!-- allowedJobTypes are optional for job type parameters -->
<xs:element name="allowedJobTypes" type="allowedJobTypes"
maxOccurs="1" />
</xs:all>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional"
default="" />
<xs:attribute name="prompt" type="xs:string" use="optional"
default="" />
<xs:attribute name="type" type="dataType" use="optional"
default="string" />
<xs:attribute name="isRequired" type="xs:boolean" use="optional"
default="false" />
</xs:complexType>
<xs:simpleType name="dataType">
<xs:restriction base="xs:string">
<xs:enumeration value="string" />
<xs:enumeration value="numeric" />
<xs:enumeration value="boolean" />
<xs:enumeration value="datetime" />
<xs:enumeration value="password" />
<xs:enumeration value="file" />
<xs:enumeration value="directory" />
<xs:enumeration value="job" />
<xs:enumeration value="target" />
<xs:enumeration value="serverGroup" />
<xs:enumeration value="enum" />
<xs:enumeration value="xml" />
<xs:enumeration value="jobRunId" />
<xs:enumeration value="list_string" />
<xs:enumeration value="list_numeric" />
<xs:enumeration value="list_boolean" />
<xs:enumeration value="list_datetime" />
<xs:enumeration value="list_password" />
<xs:enumeration value="list_file" />
<xs:enumeration value="list_directory" />
<xs:enumeration value="list_job" />
<xs:enumeration value="list_target" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="jobType">
<xs:restriction base="xs:string">
<xs:enumeration value="ACL Push Job" />
<xs:enumeration value="Audit Job" />
<xs:enumeration value="Batch Job" />
<xs:enumeration value="BL Package Deploy Job" />
<xs:enumeration value="Compliance Job" />
<xs:enumeration value="Component Discovery Job" />
<xs:enumeration value="Deregister Configuration Objects Job" />
<xs:enumeration value="Distribute Configuration Objects Job" />
<xs:enumeration value="File Deploy Job" />
<xs:enumeration value="NSH Script Job" />
<xs:enumeration value="Solaris Patching Job" />
<xs:enumeration value="AIX Patching Job" />
<xs:enumeration value="Windows Patching Job" />
<xs:enumeration value="RedHat Linux Patching Job" />
<xs:enumeration value="Oracle Enterprise Linux Patching Job" />
<xs:enumeration value="SuSE Linux Patching Job" />
<xs:enumeration value="Provision Job" />
<xs:enumeration value="UCS Provision Job" />
<xs:enumeration value="Snapshot Job" />
<xs:enumeration value="Software Deploy Job" />
<xs:enumeration value="Update Server Properties Job" />
<xs:enumeration value="Upgrade Model Objects Job" />
<xs:enumeration value="VSM Discovery Job" />
<xs:enumeration value="Virtual Guest Job" />
</xs:restriction>
</xs:simpleType>
<!-- Possible values contains at least one "value" -->
<xs:complexType name="possibleValues">
<xs:all>
<xs:element name="value" type="xs:string" minOccurs="1" />
</xs:all>
</xs:complexType>
<xs:complexType name="defaultValue">
<xs:all>
<xs:element name="value" type="xs:string" minOccurs="1" />
</xs:all>
</xs:complexType>
<xs:complexType name="allowedJobTypes">
<xs:all>
<xs:element name="jobType" type="jobType" minOccurs="1" />
</xs:all>
</xs:complexType>
<!-- Input group contains at least one parameter -->
<xs:complexType name="group">
<xs:all>
<xs:element name="parameter" type="parameter" minOccurs="1" />
</xs:all>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional"
default="" />
</xs:complexType>
<!-- An input page contains at least one of either an input group or parameter, in any order-->
<xs:complexType name="page">
<xs:sequence>
<xs:choice minOccurs="1">
<xs:element name="group" type="xs:string" />
<xs:element name="parameter" type="xs:string" />
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional"
default="" />
</xs:complexType>
</xs:schema>
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*