blob: 106e79d6f816b5ea6c39c97f2fd5ee80b38f74b9 [file] [log] [blame]
namespace local = ""
namespace inh = inherit
start = workflow
workflow =
element workflow
{
attribute name { xsd:string },
attribute version { xsd:integer },
node*,
variableHandler*
}
node =
element node
{
attribute id { xsd:integer },
attribute type { xsd:string },
attribute serviceObjectClass { xsd:string }?,
attribute subWorkflowName { xsd:string }?,
(
element in
{
element variable
{
attribute name { xsd:string },
attribute as { xsd:string }
}+
},
element out
{
element variable
{
attribute name { xsd:string },
attribute as { xsd:string }
}+
}
)?,
attribute variable { xsd:string }?,
attribute operand { xsd:string }?,
arguments?,
condition+?,
element variable { attribute name { xsd:string }, condition?, variable? }+?,
outNode+?
}
outNode = element outNode { attribute id { xsd:integer } }
condition =
element condition
{
attribute type { xsd:string },
attribute a { xsd:string }?,
attribute b { xsd:string }?,
attribute name { xsd:string }?,
attribute value { xsd:string }?,
attribute variable { xsd:string }?,
array?,
condition+?,
outNode?,
else?
}
else = element else { outNode }
variableHandler =
element variableHandler
{
attribute variable { xsd:string },
attribute class { xsd:string }
}
arguments = element arguments { variable* }
variable = array | boolean | double | integer | null | object | \string
array = element array { \element* }
\element = element element { attribute key { xsd:string }, variable }
boolean = element boolean { xsd:string }
double = element double { xsd:double }
integer = element integer { xsd:integer }
null = element null { text }
object = element object { attribute class { xsd:string }, arguments? }
\string = element string { xsd:string }