<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT workflow-form (input | suggestbox | upload | download | checkbox | textarea | select | button | separator | text | vpanel | hpanel)*>

<!ELEMENT input (validator*)>
<!ATTLIST input
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	value CDATA #IMPLIED
	data CDATA #IMPLIED
	type (text | date | link | folder | password) "text"
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	readonly (true | false) "false"
	timeFormat ( hm | h | none) "none"
	placeholder CDATA #IMPLIED
	description CDATA #IMPLIED
>

<!ELEMENT suggestbox (validator*)>
<!ATTLIST suggestbox
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	readonly (true | false) "false"
	description CDATA #IMPLIED
	filterQuery CDATA #IMPLIED
	valueQuery CDATA #IMPLIED
	dialogTitle CDATA #REQUIRED
	filterMinLen CDATA #IMPLIED
	className CDATA #IMPLIED
	value CDATA #IMPLIED
	data CDATA #IMPLIED
>

<!ELEMENT upload (validator*)>
<!ATTLIST upload
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	folderPath CDATA #IMPLIED
	folderUuid CDATA #IMPLIED
	documentName CDATA #IMPLIED
	documentUuid CDATA #IMPLIED
	allowedExtensions CDATA #IMPLIED
	multiple (true | false) "false"
	type (create | update) "create"
	multiple (true | false) "false"
	data CDATA #IMPLIED
>

<!ELEMENT download (node+, validator*)>
<!ATTLIST download
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	data CDATA #IMPLIED
>

<!ELEMENT node EMPTY>
<!ATTLIST node
	label CDATA #REQUIRED
	path CDATA #IMPLIED
	uuid CDATA #IMPLIED
>

<!ELEMENT checkbox (validator*)>
<!ATTLIST checkbox
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	value (true | false) "false"
	data CDATA #IMPLIED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	readonly (true | false) "false"
	description CDATA #IMPLIED
>

<!ELEMENT textarea (validator*)>
<!ATTLIST textarea
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	value CDATA #IMPLIED
	data CDATA #IMPLIED
	type (text | html) "text"
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	readonly (true | false) "false"
	placeholder CDATA #IMPLIED
	description CDATA #IMPLIED
>

<!ELEMENT select (option*, validator*)>
<!ATTLIST select
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	type (simple | multiple) "simple"
	data CDATA #IMPLIED
	optionsData CDATA #IMPLIED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	optionsQuery CDATA #IMPLIED
	filterQuery CDATA #IMPLIED
	valueQuery CDATA #IMPLIED
	suggestbox (true | false) "false"
	filterMinLen CDATA #IMPLIED
	className CDATA #IMPLIED
	parentElement CDATA #IMPLIED
	readonly (true | false) "false"
	description CDATA #IMPLIED
	value CDATA #IMPLIED
>

<!ELEMENT option EMPTY>
<!ATTLIST option
	label CDATA #REQUIRED
	value CDATA #REQUIRED
	parentValue CDATA #IMPLIED
	selected (true | false) "false"
	cssClass CDATA #IMPLIED
>

<!ELEMENT validator EMPTY>
<!ATTLIST validator
	type (req | alpha | alphanum | dec | num | email | url | maxlen | minlen | lt | gt | min | max | regexp | plugin) "req"
	parameter CDATA #IMPLIED
>

<!ELEMENT button EMPTY>
<!ATTLIST button
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	transition CDATA #IMPLIED
	confirmation CDATA #IMPLIED
	validate (true | false) "true"
	style (yes | no | add | delete | download | downloadZip | home | view | change | compact | clean | search | save | comment) "yes"
	color (success | primary | secondary | danger | warning | info | light | dark) "success"
	width CDATA #IMPLIED
	height CDATA #IMPLIED
>

<!ELEMENT separator EMPTY>
<!ATTLIST separator
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	width CDATA #IMPLIED
>

<!ELEMENT text EMPTY>
<!ATTLIST text
	label CDATA #REQUIRED
	name CDATA #REQUIRED
	data CDATA #IMPLIED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
>

<!ELEMENT vpanel (input | suggestbox | upload | download | checkbox | textarea | select | button | separator | text | vpanel | hpanel)*>
<!ATTLIST vpanel
	name CDATA #REQUIRED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
>

<!ELEMENT hpanel (input | suggestbox | upload | download | checkbox | textarea | select | button | separator | text | vpanel | hpanel)*>
<!ATTLIST hpanel
	name CDATA #REQUIRED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
>
