| @ -0,0 +1,105 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Form containers --> | |||||
| <xs:include schemaLocation="vitruvio-form-containers.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Suporte a Widgets --> | |||||
| <xs:include schemaLocation="vitruvio-form-widgets.xsd" /> | |||||
| <!-- Base Form para implementacoes especificas --> | |||||
| <xs:complexType name="form-definition"> | |||||
| <xs:sequence> | |||||
| <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="formKey" type="xs:string" use="required" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="windowWidth" type="xs:string" /> | |||||
| <xs:attribute name="windowHeight" type="xs:string" /> | |||||
| <xs:attribute name="backgroundColor" type="xs:string" /> | |||||
| <xs:attribute name="customCss" type="xs:string" /> | |||||
| <xs:attribute name="composer" type="xs:string" /> | |||||
| <xs:attribute name="debugMode"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="OFF" /> | |||||
| <xs:enumeration value="ALL" /> | |||||
| <xs:enumeration value="RENDER" /> | |||||
| <xs:enumeration value="INIT_SCRIPTS" /> | |||||
| <xs:enumeration value="FORM_LOAD" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="debugOutput"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="UI_MESSAGEBOX" /> | |||||
| <xs:enumeration value="UI_DEBUG" /> | |||||
| <xs:enumeration value="DATABASE" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="debugFormat"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="HTML" /> | |||||
| <xs:enumeration value="FORMATED_TEXT" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <!-- Subformularios que podem ser anexados dentro de Forms RAIZ (ROOT) --> | |||||
| <xs:complexType name="vitruvio-base-form"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="form-definition"> | |||||
| <xs:sequence> | |||||
| <xs:element name="afterFormRenderScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="preInitScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="components" minOccurs="1" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="Panel" type="Panel" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="AbsoluteLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,270 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- | |||||
| Componentes basicos para uso nos formularios do Vitruvio | |||||
| --> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-validators.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-events.xsd" /> | |||||
| <!-- Container de dados para campos de selecao com entradas predefinidas --> | |||||
| <xs:complexType name="entry"> | |||||
| <xs:attribute name="key" type="xs:string" /> | |||||
| <xs:attribute name="value" type="xs:string" use="required"/> | |||||
| </xs:complexType> | |||||
| <!-- Definicao de elementos para campos --> | |||||
| <xs:complexType name="Label"> | |||||
| <xs:choice> | |||||
| <xs:element name="value" /> | |||||
| <xs:element name="formValue"> | |||||
| <xs:complexType> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute name="valueWhenNull" type="xs:string"/> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:choice> | |||||
| <xs:attributeGroup ref="basicFieldAttrs" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="contentMode" default="PLAIN_TEXT"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="PLAIN_TEXT"/> | |||||
| <xs:enumeration value="PRE_FORMATED"/> | |||||
| <xs:enumeration value="HTML"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="expandRatio" type="xs:decimal" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="Ativo"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="TextField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs" /> | |||||
| <xs:attributeGroup ref="textFieldAttrs" /> | |||||
| <xs:attribute name="multivalue" type="xs:boolean" /> | |||||
| <xs:attribute name="allowDuplicate" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="PasswordField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs" /> | |||||
| <xs:attributeGroup ref="textFieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="TextArea"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs"/> | |||||
| <xs:attributeGroup ref="fieldAttrs"/> | |||||
| <xs:attributeGroup ref="textFieldAttrs" /> | |||||
| <xs:attribute name="rows" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="showCount" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="RichTextArea"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="NumericField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs" /> | |||||
| <xs:attributeGroup ref="textFieldAttrs" /> | |||||
| <xs:attributeGroup ref="numericTextFieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DecimalField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs" /> | |||||
| <xs:attributeGroup ref="textFieldAttrs" /> | |||||
| <xs:attributeGroup ref="numericTextFieldAttrs" /> | |||||
| <xs:attribute name="format" type="xs:string"/> | |||||
| <xs:attribute name="decimalSeparator" type="xs:string"/> | |||||
| <xs:attribute name="groupingSeparator" type="xs:string"/> | |||||
| <xs:attribute name="selectTextOnFocus" type="xs:boolean"/> | |||||
| <xs:attribute name="currencyField" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MaskedField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="prefixed-masks"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="value"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="prefix" type="xs:string" use="required" /> | |||||
| <xs:attribute name="mask" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="events" type="textFieldEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="sizeBasedFieldAttrs" /> | |||||
| <xs:attributeGroup ref="textFieldAttrs" /> | |||||
| <xs:attribute name="mask" type="xs:string" use="required" /> | |||||
| <xs:attribute name="preservMask" type="xs:boolean" /> | |||||
| <xs:attribute name="adaptForMobileBrowser" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DateField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="1"> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attribute name="format" type="xs:string"/> | |||||
| <xs:attribute name="resolution"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="MINUTE"/> | |||||
| <xs:enumeration value="HOUR"/> | |||||
| <xs:enumeration value="DAY"/> | |||||
| <xs:enumeration value="MONTH"/> | |||||
| <xs:enumeration value="YEAR"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="ComboBox"> | |||||
| <xs:sequence> | |||||
| <xs:element name="entry" type="entry" minOccurs="1" maxOccurs="unbounded" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="selectFieldAttr" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="ListSelect"> | |||||
| <xs:sequence> | |||||
| <xs:element name="entry" type="entry" minOccurs="1" maxOccurs="unbounded" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="selectFieldAttr" /> | |||||
| <xs:attribute name="rows" type="xs:positiveInteger" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="OptionGroup"> | |||||
| <xs:sequence> | |||||
| <xs:element name="entry" type="entry" minOccurs="1" maxOccurs="unbounded" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="selectFieldAttr" /> | |||||
| <xs:attributeGroup ref="companyDefinitionAttrs" /> | |||||
| <xs:attribute name="disposition" default="horizontal"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="horizontal"/> | |||||
| <xs:enumeration value="vertical"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="CheckBox"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="1"> | |||||
| <xs:element name="valueOverride" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="forTrue" type="xs:string" use="required" /> | |||||
| <xs:attribute name="forFalse" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="basicFieldAttrs" /> | |||||
| <xs:attribute name="expandRatio" type="xs:decimal" /> | |||||
| <xs:attribute name="initialValue" type="xs:boolean" /> | |||||
| <xs:attribute name="type" use="required"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="boolean" /> | |||||
| <xs:enumeration value="string" /> | |||||
| <xs:enumeration value="number" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="size" default="SMALL"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="SMALL"/> | |||||
| <xs:enumeration value="MEDIUM"/> | |||||
| <xs:enumeration value="LARGE" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="RatingStarsCaptions"> | |||||
| <xs:attribute name="value" type="xs:integer" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" use="required"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="RatingStars"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="captions"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="caption" type="RatingStarsCaptions" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="valueEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="decimalTypefieldAttrs" /> | |||||
| <xs:attribute name="maxValue" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="animated" type="xs:boolean" /> | |||||
| <xs:attribute name="setProcessRating" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,543 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Componentes flexiveis, orientados a script --> | |||||
| <xs:include schemaLocation="vitruvio-form-script-components.xsd" /> | |||||
| <!-- Suporte a Widgets --> | |||||
| <xs:include schemaLocation="vitruvio-form-widgets.xsd" /> | |||||
| <!-- Parametros comuns nos layouts ordenados --> | |||||
| <xs:attributeGroup name="layoutMandatoryAttr"> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="isLayout" fixed="true" /> | |||||
| <xs:attribute name="expandRatio" type="xs:decimal" /> | |||||
| <xs:attribute name="caption" use="optional" type="xs:string" /> | |||||
| <xs:attribute name="backgroundColor" use="optional" type="xs:string" /> | |||||
| <xs:attributeGroup ref="elementAlign" /> | |||||
| </xs:attributeGroup> | |||||
| <xs:attributeGroup name="orderedLayoutAttr"> | |||||
| <xs:attribute name="margin" type="xs:boolean" default="false" /> | |||||
| <xs:attribute name="spacing" type="xs:boolean" default="false" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| </xs:attributeGroup> | |||||
| <!-- Grupo de campos --> | |||||
| <xs:group name="fieldGroup"> | |||||
| <xs:choice> | |||||
| <!-- Components basicos --> | |||||
| <xs:element name="Label" type="Label" /> | |||||
| <xs:element name="TextField" type="TextField" /> | |||||
| <xs:element name="Ativo" type="Ativo" /> | |||||
| <xs:element name="PasswordField" type="PasswordField" /> | |||||
| <xs:element name="TextArea" type="TextArea" /> | |||||
| <xs:element name="NumericField" type="NumericField" /> | |||||
| <xs:element name="DecimalField" type="DecimalField" /> | |||||
| <xs:element name="MaskedField" type="MaskedField" /> | |||||
| <xs:element name="DateField" type="DateField" /> | |||||
| <xs:element name="ComboBox" type="ComboBox" /> | |||||
| <xs:element name="ListSelect" type="ListSelect" /> | |||||
| <xs:element name="OptionGroup" type="OptionGroup" /> | |||||
| <xs:element name="CheckBox" type="CheckBox" /> | |||||
| <xs:element name="RichTextArea" type="RichTextArea" /> | |||||
| <xs:element name="RatingStars" type="RatingStars" /> | |||||
| <xs:element name="GoogleMapsField" type="GoogleMapsField" /> | |||||
| <!-- Componentes DB --> | |||||
| <xs:element name="DBComboBox" type="DBComboBox" /> | |||||
| <xs:element name="DBSearchField" type="DBSearchField" /> | |||||
| <xs:element name="DBFilter" type="DBFilter" /> | |||||
| <xs:element name="DBTable" type="DBTable" /> | |||||
| <xs:element name="DBTwinColSelect" type="DBTwinColSelect" /> | |||||
| <xs:element name="DBPropertyField" type="DBPropertyField" /> | |||||
| <!-- Componentes Especificos --> | |||||
| <xs:element name="UserField" type="UserField" /> | |||||
| <xs:element name="UserComboBox" type="UserComboBox" /> | |||||
| <xs:element name="RoleComboBox" type="RoleComboBox" /> | |||||
| <xs:element name="UserPropertyField" type="UserPropertyField" /> | |||||
| <xs:element name="ProcessInstanceIdField" type="ProcessInstanceIdField" /> | |||||
| <xs:element name="ContextDateTimeField" type="ContextDateTimeField" /> | |||||
| <xs:element name="MarcadorField" type="MarcadorField" /> | |||||
| <xs:element name="UserMultiSelect" type="UserMultiSelect" /> | |||||
| <xs:element name="RoleMultiSelect" type="RoleMultiSelect" /> | |||||
| <!-- Componentes via Script --> | |||||
| <xs:element name="ScriptComboBox" type="ScriptComboBox" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <!-- Grupo de layouts --> | |||||
| <xs:group name="layoutGroup"> | |||||
| <xs:choice> | |||||
| <!-- Elementos visuais e containers --> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="Panel" type="Panel" /> | |||||
| <xs:element name="ScrollPanel" type="ScrollPanel" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| <xs:element name="LayoutGroup" type="LayoutGroup" /> | |||||
| <xs:element name="ComplexPanel" type="ComplexPanel" /> | |||||
| <xs:element name="AbsoluteLayout" type="AbsoluteLayout" /> | |||||
| <xs:element name="WindowLayout" type="WindowLayout" /> | |||||
| <xs:element name="CrudPanel" type="CrudPanel" /> | |||||
| <xs:element name="LegendInfo" type="LegendInfo" /> | |||||
| <xs:element name="Section" type="CrudSession" /> | |||||
| <xs:element name="DbTableFilter" type="DbTableFilter" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <!-- Definicao de elementos possiveis por padrao num container de componentes --> | |||||
| <xs:group name="componentContainer"> | |||||
| <xs:choice> | |||||
| <!-- Layouts --> | |||||
| <xs:group ref="layoutGroup" /> | |||||
| <xs:element name="PopupButtonLayout" type="PopupButtonLayout" /> | |||||
| <!-- Componentes reutilizaveis da biblioteca --> | |||||
| <xs:element name="ComplexComponent" type="LibraryComplexComponent" /> | |||||
| <xs:element name="FieldComponent" type="LibraryFieldComponent" /> | |||||
| <!-- Suporte a definicao de widgets --> | |||||
| <xs:group ref="CoreWidgets" /> | |||||
| <xs:element name="CustomWidget" type="CustomWidget" /> | |||||
| <!-- Campos --> | |||||
| <xs:group ref="fieldGroup" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <!-- Layouts --> | |||||
| <xs:complexType name="VerticalLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="componentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="HorizontalLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="componentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"/> | |||||
| <xs:attribute name="wrapping" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <!-- Tabs --> | |||||
| <xs:complexType name="TabComponent"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="componentContainer" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="TabLayout"> | |||||
| <xs:sequence> | |||||
| <xs:element name="TabChangeScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="Tab" type="TabComponent" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="framed" type="xs:boolean" /> | |||||
| <xs:attribute name="compact" type="xs:boolean" /> | |||||
| <xs:attribute name="centerTabs" type="xs:boolean" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="LayoutGroup"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| </xs:choice> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="BasePanel"> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="margin" type="xs:boolean" /> | |||||
| <xs:attribute name="expandRatio" type="xs:decimal" /> | |||||
| <xs:attribute name="backgroundColor" type="xs:string" use="optional" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="elementAlign" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="Panel"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="BasePanel"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="AbsoluteLayout" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| <xs:element name="CrudPanel" type="CrudPanel" /> | |||||
| <xs:element name="Section" type="CrudSession" /> | |||||
| <xs:element name="LegendInfo" type="LegendInfo" /> | |||||
| <xs:element name="ScriptWidget" type="ScriptWidget" /> | |||||
| </xs:choice> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="ScrollPanel"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="AbsoluteLayout" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| </xs:choice> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="expandRatio" type="xs:decimal" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| <xs:attribute name="backgroundColor" type="xs:string" use="optional" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="WindowLayout"> | |||||
| <xs:sequence> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="AbsoluteLayout" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| <xs:element name="CrudPanel" type="CrudPanel" /> | |||||
| <xs:element name="Section" type="CrudSession" /> | |||||
| <xs:element name="LegendInfo" type="LegendInfo" /> | |||||
| </xs:choice> | |||||
| <xs:element name="Config" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="ControlButton" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="onClickScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| <xs:attributeGroup ref="basicElement" /> | |||||
| <xs:attributeGroup ref="formButtonAttrs" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="onChangeVisibilityScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="windowWidth" type="xs:string" /> | |||||
| <xs:attribute name="windowHeight" type="xs:string" /> | |||||
| <xs:attribute name="windowTitle" type="xs:string" /> | |||||
| <xs:attribute name="windowClosable" type="xs:boolean" /> | |||||
| <xs:attribute name="windowResizable" type="xs:boolean" /> | |||||
| <xs:attribute name="windowModal" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="ComplexPanelActionItem"> | |||||
| <xs:sequence> | |||||
| <xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| <xs:attributeGroup ref="font-awesome-icons" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="CrudSession"> | |||||
| <xs:sequence> | |||||
| <xs:element name="Filter" type="CrudSessionFilter" minOccurs="0" maxOccurs="1"> | |||||
| </xs:element> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="subCaption" type="xs:string" /> | |||||
| <xs:attribute name="colorSeparator" type="xs:string" /> | |||||
| <xs:attribute name="subCaptionColor" type="xs:string" /> | |||||
| <xs:attribute name="captionColor" type="xs:string" /> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="showHeader" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="basicElement" /> | |||||
| <xs:attribute name="titleOrientation" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="HORIZONTAL" /> | |||||
| <xs:enumeration value="VERTICAL" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="CrudSessionFilter"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DbTableFilter"> | |||||
| <xs:attribute name="dbtableId" type="xs:string" /> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="LegendInfo"> | |||||
| <xs:attribute name="title" type="xs:string" /> | |||||
| <xs:attribute name="message" type="xs:string" /> | |||||
| <xs:attribute name="type" use="required" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="GRAY" /> | |||||
| <xs:enumeration value="GREEN" /> | |||||
| <xs:enumeration value="YELLOW" /> | |||||
| <xs:enumeration value="RED" /> | |||||
| <xs:enumeration value="BLUE" /> | |||||
| <xs:enumeration value="PURPLE" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"></xs:attributeGroup> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"></xs:attributeGroup> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="CrudPanel"> | |||||
| <xs:sequence> | |||||
| <xs:element name="BackGroundImage" type="ResourceLibraryDataSource" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="Header" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:choice maxOccurs="1" minOccurs="0"> | |||||
| <xs:element name="Caption"/> | |||||
| <xs:element name="htmlCaption" /> | |||||
| </xs:choice> | |||||
| <xs:choice maxOccurs="1" minOccurs="0"> | |||||
| <xs:element name="SubCaption"/> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="align" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="TOP_RIGHT" /> | |||||
| <xs:enumeration value="TOP_LEFT" /> | |||||
| <xs:enumeration value="TOP_CENTER" /> | |||||
| <xs:enumeration value="MIDDLE_RIGHT" /> | |||||
| <xs:enumeration value="MIDDLE_LEFT" /> | |||||
| <xs:enumeration value="MIDDLE_CENTER" /> | |||||
| <xs:enumeration value="BOTTOM_RIGHT" /> | |||||
| <xs:enumeration value="BOTTOM_LEFT" /> | |||||
| <xs:enumeration value="BOTTOM_CENTER" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="colorSeparator" use="optional" type="xs:string" /> | |||||
| <xs:attribute name="subCaptionColor" use="optional" type="xs:string" /> | |||||
| <xs:attribute name="captionColor" use="optional" type="xs:string" /> | |||||
| <xs:attribute name="backgroundColor" use="optional" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="Section" type="CrudSession" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"></xs:attributeGroup> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"></xs:attributeGroup> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="ComplexPanel"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="BasePanel"> | |||||
| <xs:sequence> | |||||
| <xs:element name="Config" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:choice maxOccurs="1" minOccurs="0"> | |||||
| <xs:element name="caption"/> | |||||
| <xs:element name="htmlCaption" /> | |||||
| </xs:choice> | |||||
| <xs:element name="buttons" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="button" type="ComplexPanelActionItem" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="menu" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="item" type="ComplexPanelActionItem" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="captionSize" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="LIGHT" /> | |||||
| <xs:enumeration value="H4" /> | |||||
| <xs:enumeration value="H3" /> | |||||
| <xs:enumeration value="H2" /> | |||||
| <xs:enumeration value="H1" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Poupup Layout --> | |||||
| <xs:complexType name="PopupButtonLayoutFilterTemplate"> | |||||
| <xs:sequence> | |||||
| <xs:element name="SearchButton" type="ButtonWidget" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="renderCloseButton" type="xs:boolean" /> | |||||
| <xs:attribute name="keepDefaultButtonStyle" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="PopupButtonLayoutEvents"> | |||||
| <xs:all> | |||||
| <xs:element name="onPopupShow" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="onPopupHide" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:all> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="PopupButtonBaseLayout"> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| <xs:attribute name="closePopupOnOutsideClick" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="PopupButtonLayout"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="PopupButtonBaseLayout"> | |||||
| <xs:sequence> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="AbsoluteLayout" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| </xs:choice> | |||||
| <xs:element name="Template" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="Filter" type="PopupButtonLayoutFilterTemplate" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="events" type="PopupButtonLayoutEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="AbsoluteBaseLayout"> | |||||
| <xs:attribute name="dragAndDropEnabled" type="xs:boolean" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="AbsoluteLayout"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="AbsoluteBaseLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="componentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- BIBLIOTECA DE ELEMENTOS --> | |||||
| <!-- Definicao de um componente da biblioteca --> | |||||
| <xs:complexType name="complex-component"> | |||||
| <xs:sequence> | |||||
| <!-- <xs:group ref="layoutGroup" minOccurs="0" maxOccurs="1"/> --> | |||||
| <xs:any processContents="skip" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="id" type="xs:string" use="required"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="field-component"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="fieldGroup" minOccurs="0" maxOccurs="1"/> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="id" type="xs:string" use="required"/> | |||||
| </xs:complexType> | |||||
| <!-- Definicao de uma biblitoeca de componentes, para reuso na aplicacao --> | |||||
| <xs:complexType name="library"> | |||||
| <xs:sequence> | |||||
| <xs:element name="complex-component" type="complex-component" minOccurs="0" maxOccurs="unbounded"/> | |||||
| <xs:element name="field-component" type="field-component" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <!-- Elemento pare referenciar um item complexo da biblioteca --> | |||||
| <xs:complexType name="LibraryComplexComponent"> | |||||
| <xs:attribute name="ref" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| <!-- Elemento para referenciar um campo especifico da biblioteca, com a possibilidade de sobrescrever seus atributos --> | |||||
| <xs:complexType name="LibraryFieldComponent"> | |||||
| <xs:attribute name="ref" type="xs:string" use="required" /> | |||||
| <xs:anyAttribute processContents="skip" /> | |||||
| </xs:complexType> | |||||
| <!-- Elementos para lidar com anexos dos processos --> | |||||
| <xs:complexType name="FormAttachments"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="attachment"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="0" maxOccurs="1"> | |||||
| <xs:element name="allowed-mimetypes"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="value" type="xs:string" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="id" type="xs:string" use="required" /> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="description" type="xs:string" use="required" /> | |||||
| <xs:attribute name="required" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="allowUndefinedAttachments" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,619 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-validators.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-events.xsd" /> | |||||
| <!-- | |||||
| Componentes com datasources sql | |||||
| --> | |||||
| <!-- Datasource para uso de Querys Livres, com Input local --> | |||||
| <xs:complexType name="freeDataSource"> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute name="connection-key" type="xs:string" use="required" /> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| <!-- Datasource para uso de Querys mapeadas pre cadastradas no Vitruvio --> | |||||
| <xs:complexType name="queryDataSource"> | |||||
| <xs:attribute name="key" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="sqlBuilderScript"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="base-script"> | |||||
| <xs:attribute name="connection-key" type="xs:string" use="required" /> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:attributeGroup name="value-caption-attrs"> | |||||
| <xs:attribute name="key-field" use="required" type="xs:string" /> | |||||
| <xs:attribute name="caption-field" type="xs:string" /> | |||||
| </xs:attributeGroup> | |||||
| <!-- Datasource comum aos objetos DB --> | |||||
| <xs:attributeGroup name="datasource-basic-attrs"> | |||||
| <xs:attribute name="pagination-strategy"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="SUB_QUERY_COUNT" /> | |||||
| <xs:enumeration value="IN_MEMORY" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="fetchSize" type="xs:positiveInteger" use="optional" /> | |||||
| <xs:attribute name="maxFetchSize" type="xs:positiveInteger" use="optional" /> | |||||
| </xs:attributeGroup> | |||||
| <xs:complexType name="datasource"> | |||||
| <xs:choice> | |||||
| <xs:element name="freeQuery" type="freeDataSource" /> | |||||
| <xs:element name="query" type="queryDataSource" /> | |||||
| </xs:choice> | |||||
| <xs:attributeGroup ref="datasource-basic-attrs" /> | |||||
| </xs:complexType> | |||||
| <!-- SQLBuilder DataSource --> | |||||
| <xs:complexType name="datasource-with-builder"> | |||||
| <xs:choice> | |||||
| <xs:element name="freeQuery" type="freeDataSource" /> | |||||
| <xs:element name="query" type="queryDataSource" /> | |||||
| <xs:element name="sqlBuilderDataSource" type="sqlBuilderScript" /> | |||||
| </xs:choice> | |||||
| <xs:attributeGroup ref="datasource-basic-attrs" /> | |||||
| </xs:complexType> | |||||
| <!-- Full datasource, incluindo datasource via script --> | |||||
| <xs:complexType name="fullDatasource"> | |||||
| <xs:choice> | |||||
| <xs:element name="freeQuery" type="freeDataSource" /> | |||||
| <xs:element name="query" type="queryDataSource" /> | |||||
| <xs:element name="scriptDataSource" type="script" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| <!-- DB Property Field --> | |||||
| <xs:complexType name="DBPropertyField"> | |||||
| <xs:sequence> | |||||
| <xs:element name="loadQuery" type="freeDataSource" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="caption-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="bind" type="bindInfo" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" fixed="false" use="required" /> | |||||
| <xs:attribute name="rows" type="xs:positiveInteger" /> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <!-- Componentes DB suportam multiplos Binds --> | |||||
| <xs:complexType name="DBMultiBind"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="field"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="ref" type="xs:string" use="required" /> | |||||
| <xs:attribute name="propertyName" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="parameter"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="field-ref" type="xs:string" use="optional" /> | |||||
| <xs:attribute name="context-value" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="PROCESS_INSTANCE_ID" /> | |||||
| <xs:enumeration value="PROCESS_BUSINESS_KEY" /> | |||||
| <xs:enumeration value="TASK_ID" /> | |||||
| <xs:enumeration value="USER_LOGIN" /> | |||||
| <xs:enumeration value="USER_COMPANYS" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="parameterName" type="xs:string" use="required" /> | |||||
| <xs:attribute name="defaultValue" type="xs:string" use="required" /> | |||||
| <xs:attributeGroup ref="value-type-enum" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="refreshOnChange" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <!-- Database combobox --> | |||||
| <xs:complexType name="DBComboBox"> | |||||
| <xs:sequence> | |||||
| <xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="key-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="caption-field" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="bind" type="DBMultiBind" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="multivalue" type="xs:boolean" /> | |||||
| <xs:attribute name="multivalue-show-clear-button" type="xs:boolean" /> | |||||
| <xs:attribute name="multivalue-clear-button-caption" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="selectFieldAttr" /> | |||||
| <xs:attributeGroup ref="companyDefinitionAttrs" /> | |||||
| <xs:attributeGroup ref="personDefinitionAttrs" /> | |||||
| <xs:attributeGroup ref="tagFieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DBTwinColSelect"> | |||||
| <xs:sequence> | |||||
| <xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="key-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="caption-field" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="bind" type="DBMultiBind" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="multivalue" type="xs:boolean" fixed="true" use="required" /> | |||||
| <xs:attribute name="leftCaption" type="xs:string" /> | |||||
| <xs:attribute name="rightCaption" type="xs:string" /> | |||||
| <xs:attribute name="allowFilter" type="xs:boolean" /> | |||||
| <xs:attribute name="rows" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="requireFilter" type="xs:boolean" /> | |||||
| <xs:attribute name="maxSelectedItens" type="xs:positiveInteger" /> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="selectFieldAttr" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DBTableColumns"> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="expand-ratio" type="xs:double" /> | |||||
| <xs:attribute name="format" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DBSortColumn"> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="order"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="ASC" /> | |||||
| <xs:enumeration value="DESC" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <!-- Tipo reutilizavel que representa uma coluna de um dbfilter dinamico --> | |||||
| <xs:complexType name="DBFilterColumn"> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| <xs:attribute name="filterBy" type="xs:string" /> | |||||
| <xs:attribute name="typeFilterBy"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="string"/> | |||||
| <xs:enumeration value="number"/> | |||||
| <xs:enumeration value="decimal"/> | |||||
| <xs:enumeration value="date"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="filterType" type="xs:string" /> | |||||
| <xs:attribute name="connectionKey" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <!-- Tipo reutilizavel que representa uma coluna de uma tabela --> | |||||
| <xs:complexType name="DBTableColumn"> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="expand-ratio" type="xs:double" /> | |||||
| <xs:attribute name="format" type="xs:string" /> | |||||
| <xs:attribute name="filter" type="xs:boolean" /> | |||||
| <xs:attribute name="decimalSeparator" type="xs:string" /> | |||||
| <xs:attribute name="groupingSeparator" type="xs:string" /> | |||||
| <xs:attribute name="useGroupingSeparator" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="DBTableEvents"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="valueChange" type="ScriptEvent" /> | |||||
| <xs:element name="itemChange" type="ScriptEvent" /> | |||||
| <xs:element name="itemClick"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="script" type="script" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="allowDoubleClick" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="editFieldCreateListener"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="script" type="script" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="allowItemChangeEvent" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:attributeGroup name="DBTableDefaultColumnAttrs"> | |||||
| <xs:attribute name="expand-ratio" type="xs:double" /> | |||||
| <xs:attribute name="width" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="hidable" type="xs:boolean" /> | |||||
| <xs:attribute name="filter" type="xs:boolean" /> | |||||
| <xs:attribute name="filterType" type="xs:string" /> | |||||
| <xs:attribute name="align" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="LEFT" /> | |||||
| <xs:enumeration value="CENTER" /> | |||||
| <xs:enumeration value="RIGHT" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:attributeGroup> | |||||
| <xs:attributeGroup name="DBTableValueColumnBase"> | |||||
| <xs:attribute name="format" type="xs:string" /> | |||||
| <xs:attribute name="editable" type="xs:boolean" /> | |||||
| <xs:attribute name="editMask" type="xs:string" /> | |||||
| <xs:attribute name="editFormat" type="xs:string" /> | |||||
| <xs:attribute name="editValueRequired" type="xs:boolean" /> | |||||
| <xs:attribute name="commitOnEnter" type="xs:boolean" /> | |||||
| <xs:attribute name="commitOnValueChange" type="xs:boolean" /> | |||||
| <xs:attribute name="decimalSeparator" type="xs:string" /> | |||||
| <xs:attribute name="groupingSeparator" type="xs:string" /> | |||||
| <xs:attribute name="focusGroup" type="xs:string" /> | |||||
| <xs:attribute name="aggregate"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="SUM" /> | |||||
| <xs:enumeration value="AVG" /> | |||||
| <xs:enumeration value="MAX" /> | |||||
| <xs:enumeration value="MIN" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="aggregatePrefix" type="xs:string" /> | |||||
| <xs:attribute name="sortable" type="xs:boolean" /> | |||||
| </xs:attributeGroup> | |||||
| <!-- Componente de selecao representado por uma tabela (GRID) --> | |||||
| <xs:complexType name="DBTable"> | |||||
| <xs:sequence> | |||||
| <xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="key-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="header-caption" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="header-css-style" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="columns" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:choice minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="column"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attributeGroup ref="DBTableValueColumnBase" /> | |||||
| <xs:attributeGroup ref="DBTableDefaultColumnAttrs" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="dynamicColumn"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="matchColumnTag" type="xs:string" use="required" /> | |||||
| <xs:attribute name="removeTagInCaption" type="xs:boolean" /> | |||||
| <xs:attribute name="matchColumnBy"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="STARTS_WITH" /> | |||||
| <xs:enumeration value="ENDS_WITH" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attributeGroup ref="DBTableValueColumnBase" /> | |||||
| <xs:attributeGroup ref="DBTableDefaultColumnAttrs" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="generated"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="scriptColumnGenerator" type="script" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:choice> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="cache" type="xs:boolean" /> | |||||
| <xs:attribute name="columnForExport" type="xs:string" /> | |||||
| <xs:attributeGroup ref="DBTableDefaultColumnAttrs" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="fixed-order-by" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="prefix" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" type="DBSortColumn" minOccurs="1" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="suffix" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" type="DBSortColumn" minOccurs="1" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="bind" type="DBMultiBind" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="DBTableEvents" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="styleGenerator" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="scriptGenerator" type="script" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="editableFieldsGenerator" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="scriptGenerator" type="script" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="cellDescriptionGenerator" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="scriptGenerator" type="script" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="menuGenerator" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice minOccurs="0" maxOccurs="1"> | |||||
| <xs:element name="staticMenuGenerator" minOccurs="1" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="menuItem" minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| <xs:attribute name="icon" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="scriptMenuGenerator" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attribute name="rows" type="xs:integer" /> | |||||
| <xs:attribute name="rowHeight" type="xs:string" /> | |||||
| <xs:attribute name="multivalue" type="xs:boolean" default="false" /> | |||||
| <xs:attribute name="selectable" type="xs:boolean" /> | |||||
| <xs:attribute name="alwaysSelectable" type="xs:boolean" /> | |||||
| <xs:attribute name="gridSelectable" type="xs:boolean" /> | |||||
| <xs:attribute name="requireFilter" type="xs:boolean" /> | |||||
| <xs:attribute name="maxSelectedItens" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="editable" type="xs:boolean" /> | |||||
| <xs:attribute name="editAsync" type="xs:boolean" /> | |||||
| <xs:attribute name="allowHideColumns" type="xs:boolean" /> | |||||
| <xs:attribute name="editDisposition"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="INLINE" /> | |||||
| <xs:enumeration value="MODAL" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="showRowCount" type="xs:boolean" /> | |||||
| <xs:attribute name="exportXLS" type="xs:boolean" /> | |||||
| <xs:attribute name="exportCSV" type="xs:boolean" /> | |||||
| <xs:attribute name="drawRefreshButton" type="xs:boolean" /> | |||||
| <xs:attribute name="drawFilterButton" type="xs:boolean" /> | |||||
| <xs:attribute name="autoRefreshSeconds" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="keepState" type="xs:boolean" /> | |||||
| <xs:attribute name="keepOldStateDays" type="xs:integer" /> | |||||
| <xs:attribute name="compact" type="xs:boolean" /> | |||||
| <xs:attribute name="borderless" type="xs:boolean" /> | |||||
| <xs:attribute name="debugSQL" type="xs:boolean" /> | |||||
| <xs:attribute name="useGridComponent" type="xs:boolean" /> | |||||
| <xs:attribute name="stateScope" use="optional"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="PROCESS_KEY"/> | |||||
| <!-- <xs:enumeration value="PROCESS_VERSION"/> --> | |||||
| <xs:enumeration value="INSTANCE"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="frozenColumns" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="rowCacheRate" type="xs:integer" /> | |||||
| <xs:attribute name="columnSortMode" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="FORCE_ENABLED" /> | |||||
| <xs:enumeration value="FORCE_DISABLED" /> | |||||
| <xs:enumeration value="DEFAULT_ENABLED" /> | |||||
| <xs:enumeration value="DEFAULT_DISABLED" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="scrollEditableGridOnUserFocus" type="xs:boolean" /> | |||||
| <xs:attribute name="autoSelectTextInEditableFieldFocus" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="columnFilter"> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <!-- Possiveis operadores de comparacao. Devem ser separados por ",". Valores: eq, ne, gt, ge, lt, le, lk --> | |||||
| <xs:attribute name="compareWith" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="bindParameter"> | |||||
| <xs:choice minOccurs="0" maxOccurs="1"> | |||||
| <xs:element name="subquery-as-exists" type="xs:string" /> | |||||
| </xs:choice> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="parameterType"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="string"/> | |||||
| <xs:enumeration value="number"/> | |||||
| <xs:enumeration value="date"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <!-- Componente de pesquisa baseado em um datasource dinamico --> | |||||
| <xs:complexType name="DBFilter"> | |||||
| <xs:sequence> | |||||
| <xs:element name="onFilter" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="notify-script" type="columnFilter" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="columns" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" type="DBFilterColumn" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="dbtableId" type="xs:string" /> | |||||
| <xs:attribute name="filterLayoutId" type="xs:string" /> | |||||
| <xs:attribute name="hideOnEmpty" type="xs:boolean" /> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="showSelected" type="xs:boolean" /> | |||||
| <xs:attribute name="dynamicColumns" type="xs:boolean" /> | |||||
| <xs:attribute name="automaticFilter" type="xs:boolean" /> | |||||
| <xs:attribute name="renderType"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="BUTTON" /> | |||||
| <xs:enumeration value="INLINE" /> | |||||
| <xs:enumeration value="TARGET" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <!-- Componente de pesquisa baseado em um datasource dinamico --> | |||||
| <xs:complexType name="DBSearchField"> | |||||
| <xs:sequence> | |||||
| <xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="loadItemQuery" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="key-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="caption-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="columns" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" type="DBTableColumn" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <!-- Propriedades de filtragem --> | |||||
| <xs:element name="filterProperties" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="value"> | |||||
| <xs:complexType> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute name="inputMask" type="xs:string" /> | |||||
| <xs:attribute name="resolution"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="SECOND"/> | |||||
| <xs:enumeration value="MINUTE"/> | |||||
| <xs:enumeration value="HOUR"/> | |||||
| <xs:enumeration value="DAY"/> | |||||
| <xs:enumeration value="MONTH"/> | |||||
| <xs:enumeration value="YEAR"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="filterRequired" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <!-- Componentes customizados para filtragem --> | |||||
| <xs:element name="customFilterComponents" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="component" minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="1"> | |||||
| <xs:any processContents="skip" /> | |||||
| <xs:element name="initialValue" type="userInfoInitialValue" minOccurs="0" maxOccurs="1"/> | |||||
| <xs:element name="valuePrefix" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="valueSuffix" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:choice> | |||||
| <xs:element name="column" type="columnFilter" /> | |||||
| <xs:element name="parameter" type="bindParameter" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="filterOnChange" type="xs:boolean" /> | |||||
| <xs:attribute name="displayOnTableColumn" type="xs:string" /> | |||||
| <xs:attribute name="allowNullSettingByFilter" type="xs:boolean"/> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="componentsPerRow" type="xs:positiveInteger" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="bind" type="DBMultiBind" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="companyDefinitionAttrs" /> | |||||
| <xs:attributeGroup ref="tagFieldAttrs" /> | |||||
| <xs:attributeGroup ref="personDefinitionAttrs" /> | |||||
| <xs:attribute name="searchViewRows" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="searchViewWidth" type="xs:string" /> | |||||
| <xs:attribute name="searchViewHeight" type="xs:string" /> | |||||
| <xs:attribute name="searchViewResizable" type="xs:boolean" /> | |||||
| <xs:attribute name="searchViewTitle" type="xs:string" /> | |||||
| <xs:attribute name="searchViewDescription" type="xs:string" /> | |||||
| <xs:attribute name="key-field-search-enabled" type="xs:boolean" /> | |||||
| <xs:attribute name="key-field-search-visible" type="xs:boolean" /> | |||||
| <xs:attribute name="key-field-search-width" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,57 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- | |||||
| Definicao dos principais eventos que ocorrem em fields e | |||||
| possibilidade e suas possibilidades de scripting | |||||
| --> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Eventos de Fields --> | |||||
| <xs:complexType name="ScriptEvent"> | |||||
| <xs:sequence> | |||||
| <xs:element name="script" type="script" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="valueEvents"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="valueChange" type="ScriptEvent" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="allEvents"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="valueChange" type="ScriptEvent" /> | |||||
| <xs:element name="blur" type="ScriptEvent" /> | |||||
| <xs:element name="focus" type="ScriptEvent" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="textFieldEvents"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="valueChange" type="ScriptEvent" /> | |||||
| <xs:element name="blur" type="ScriptEvent" /> | |||||
| <xs:element name="focus" type="ScriptEvent" /> | |||||
| <xs:element name="action" type="ScriptEvent" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="calendarEvents"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="dateSelected" type="ScriptEvent" /> | |||||
| <xs:element name="itemSelected" type="ScriptEvent" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,35 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Especificacao de estrutura de validadores --> | |||||
| <!-- Tipos de validadores aceitos --> | |||||
| <xs:complexType name="regexValidation"> | |||||
| <xs:sequence> | |||||
| <xs:element name="expr" type="xs:string" /> | |||||
| <xs:element name="message" type="xs:string" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <!-- Todos os validadores --> | |||||
| <xs:complexType name="fieldValidators"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="regex" type="regexValidation" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="script" type="script" minOccurs="0" maxOccurs="unbounded" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <!-- Validacao por script --> | |||||
| <xs:complexType name="scriptValidators"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="script" type="script" minOccurs="0" maxOccurs="unbounded" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,34 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-validators.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-events.xsd" /> | |||||
| <!-- | |||||
| Componentes com DataSources gerados dinamicamente, via Script | |||||
| --> | |||||
| <xs:complexType name="field-descriptor"> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attributeGroup ref="field-type-enum" /> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| <!-- Script combobox --> | |||||
| <xs:complexType name="ScriptComboBox"> | |||||
| <xs:sequence> | |||||
| <xs:element name="loadScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="key-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="caption-field" type="xs:string" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="validation" type="scriptValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="selectFieldAttr" /> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,62 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- | |||||
| Esquemas de escripting para formularios do vitruvio | |||||
| --> | |||||
| <!-- Definicao basica de um Script --> | |||||
| <xs:complexType name="base-script"> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute name="language" use="required"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="JavaScript"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="producedObject" type="xs:string" /> | |||||
| <xs:attribute name="provideVariables" type="xs:boolean" default="false" /> | |||||
| <xs:attribute name="name" type="xs:string" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="script"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="base-script"> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="script-id-required"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="base-script"> | |||||
| <xs:attribute name="id" type="xs:string" use="required" /> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Definicao de um script de validacao --> | |||||
| <xs:complexType name="form-validation-script"> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="script"> | |||||
| <xs:attribute name="execution"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="SAVE" /> | |||||
| <xs:enumeration value="COMPLETE" /> | |||||
| <xs:enumeration value="AFTER_CONFIRM_COMPLETE" /> | |||||
| <xs:enumeration value="BOTH" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="supressMessages" type="xs:boolean" use="optional" /> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,152 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-validators.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-field-events.xsd" /> | |||||
| <!-- | |||||
| Componentes de aplicacao especifica, geralmente associados a dados internos do Vitruvio | |||||
| --> | |||||
| <!-- Atribute groups --> | |||||
| <xs:attributeGroup name="usercontext-attrs"> | |||||
| <xs:attribute name="load" use="required"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="none"/> | |||||
| <xs:enumeration value="processInitiator"/> | |||||
| <xs:enumeration value="taskAssignee"/> | |||||
| <xs:enumeration value="loggedUser"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:attributeGroup> | |||||
| <xs:complexType name="loadInfo"> | |||||
| <xs:attributeGroup ref="usercontext-attrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="loadOrBind"> | |||||
| <xs:choice> | |||||
| <xs:element name="load" type="loadInfo" /> | |||||
| <xs:element name="bind" type="bindInfo" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| <!-- Campo para selecionar/visualizar usuarios do Vitruvio --> | |||||
| <xs:complexType name="UserField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="usercontext-attrs" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="UserComboBox"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attributeGroup ref="usercontext-attrs" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" /> | |||||
| <xs:attribute name="onlyActiveUsers" type="xs:boolean" /> | |||||
| <xs:attribute name="bindTagField" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="UserMultiSelect"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="multivalue" type="xs:boolean" fixed="true" use="required" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="RoleMultiSelect"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="multivalue" type="xs:boolean" fixed="true" use="required" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="RoleComboBox"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <!-- Campo para exibir propriedades do usuario --> | |||||
| <xs:complexType name="UserPropertyField"> | |||||
| <xs:sequence> | |||||
| <xs:choice> | |||||
| <xs:element name="load" type="loadInfo" /> | |||||
| <xs:element name="bind" type="bindInfo" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attribute name="propertyKey" type="xs:string" use="required" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" fixed="false" use="required" /> | |||||
| </xs:complexType> | |||||
| <!-- Campo para exibir o codigo do processo --> | |||||
| <xs:complexType name="ProcessInstanceIdField"> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" fixed="false" use="required"/> | |||||
| <xs:attribute name="value" use="required"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="businessKey"/> | |||||
| <xs:enumeration value="processInstanceId"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <!-- Campo para exibir informacoes de data e hora --> | |||||
| <xs:complexType name="ContextDateTimeField"> | |||||
| <xs:attributeGroup ref="fieldAttrs" /> | |||||
| <xs:attribute name="modelMember" type="xs:boolean" fixed="false" use="required"/> | |||||
| <xs:attribute name="value" use="required"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="currentDate"/> | |||||
| <xs:enumeration value="taskStartDate"/> | |||||
| <xs:enumeration value="taskEndDate"/> | |||||
| <xs:enumeration value="processStartDate"/> | |||||
| <xs:enumeration value="processFinishDate"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MarcadorField"> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:element name="validation" type="fieldValidators" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="events" type="allEvents" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="numberTypefieldAttrs" /> | |||||
| <xs:attribute name="setProcessTag" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="GoogleMapsField"> | |||||
| <xs:attributeGroup ref="stringFieldAttrs" /> | |||||
| <xs:attribute name="mapDraggable" type="xs:boolean" /> | |||||
| <xs:attribute name="zoom" type="xs:integer" /> | |||||
| <xs:attribute name="minZoom" type="xs:integer" /> | |||||
| <xs:attribute name="maxZoom" type="xs:integer" /> | |||||
| <xs:attribute name="disableDefaultUI" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,85 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns="http://www.davinti.com.br/vitruvio/form" xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||||
| targetNamespace="http://www.davinti.com.br/vitruvio/form" | |||||
| elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-subform-base.xsd" /> | |||||
| <xs:complexType name="vitruvio-form-default-button"> | |||||
| <xs:sequence> | |||||
| <xs:element name="description" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="vitruvio-form-custom-button"> | |||||
| <xs:sequence> | |||||
| <xs:element name="onClickScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="description" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="id" type="xs:string" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="vitruvio-process-end-rules"> | |||||
| <xs:all> | |||||
| <xs:element name="preConfirmCancelValidationScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="afterConfirmCancelValidationScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:all> | |||||
| </xs:complexType> | |||||
| <!-- Componente de Form ROOT --> | |||||
| <xs:complexType name="vitruvio-form"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-subform-enabled-form"> | |||||
| <xs:sequence> | |||||
| <xs:element name="buttons" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="save" type="vitruvio-form-default-button" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="complete" type="vitruvio-form-default-button" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="rollback" type="vitruvio-form-default-button" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="customButton" type="vitruvio-form-custom-button" minOccurs="0" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="loadWithPreviousForm" type="xs:boolean" /> | |||||
| <xs:attribute name="hideWhenFinished" type="xs:boolean" /> | |||||
| <xs:attribute name="requiredDurationNotes" type="xs:boolean" /> | |||||
| <xs:attribute name="shouldDisplayNextTask" type="xs:boolean" /> | |||||
| <xs:attribute name="shouldDisplayNextTaskWithoutConfirmation" type="xs:boolean" /> | |||||
| <xs:attribute name="preventAttach" type="xs:boolean" /> | |||||
| <xs:attribute name="minimumVersion" type="xs:string" /> | |||||
| <xs:attribute name="minimumVersionNotMeetMessage" type="xs:string" /> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Por fim, a definicao dos elementos principais --> | |||||
| <xs:element name="forms"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="library" type="library" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="descriptorScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="ProcessEndRules" type="vitruvio-process-end-rules" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="form" type="vitruvio-form" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="processKey" type="xs:string" /> | |||||
| <xs:attribute name="allowAttachments" type="xs:boolean" /> | |||||
| <xs:attribute name="allowDeleteAttachments" type="xs:boolean" /> | |||||
| <!-- Determina se as notas e anexos devem ser exibidas dentro do mesmo form, ou atraves de formularios externos --> | |||||
| <xs:attribute name="embeddedNotes" type="xs:boolean" /> | |||||
| <xs:attribute name="embeddedNotesOrder" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="embeddedAttachments" type="xs:boolean" /> | |||||
| <xs:attribute name="embeddedAttachmentsOrder" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="showOnlyActiveTasks" type="xs:boolean" /> | |||||
| <xs:attribute name="showOnlyLastHistoricTask" type="xs:boolean" /> | |||||
| <xs:attribute name="requiredDurationNotes" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,402 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Form containers --> | |||||
| <xs:include schemaLocation="vitruvio-form-containers.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Suporte a Widgets --> | |||||
| <xs:include schemaLocation="vitruvio-form-widgets.xsd" /> | |||||
| <!-- Suporte a Widgets --> | |||||
| <xs:include schemaLocation="vitruvio-mobile-widgets.xsd" /> | |||||
| <!-- Base Form para implementacoes especificas --> | |||||
| <xs:complexType name="vitruvio-mobile-basic-form-structure"> | |||||
| <xs:sequence> | |||||
| <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="formKey" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| <!-- Images para biblioteca de recursos --> | |||||
| <xs:complexType name="images-library"> | |||||
| <xs:sequence> | |||||
| <xs:element name="library" minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="file-id" minOccurs="1" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="static" minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute type="xs:string" name="file" use="required" /> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="by-field-value" minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute type="xs:string" name="ref" use="required" /> | |||||
| <xs:attribute type="xs:string" name="searchExtensions" use="required" /> | |||||
| <xs:attribute name="searchPattern" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="FILE_NAME_STARTS_WITH" /> | |||||
| <xs:enumeration value="FILE_NAME_EXACT_MATCH" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute type="xs:string" name="key" use="required" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="vitruvio-mobile-base-form"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-mobile-basic-form-structure"> | |||||
| <xs:sequence> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="discoveryScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| <xs:element name="ServerValidator" type="server-side-validation" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="images" minOccurs="0" maxOccurs="1" type="images-library"/> | |||||
| <xs:element name="components" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="Panel" type="SubFormPanel" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="ServerSide" type="MobileServerSide" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="server-side-validation"> | |||||
| <xs:attribute name="id" type="xs:string" use="required" /> | |||||
| <xs:attribute name="ref" type="xs:string" use="required" /> | |||||
| <xs:attribute name="execution"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="SAVE" /> | |||||
| <xs:enumeration value="COMPLETE" /> | |||||
| <xs:enumeration value="BOTH" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <!-- Subformularios que podem ser anexados dentro de Forms RAIZ (ROOT) --> | |||||
| <xs:complexType name="vitruvio-subform"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-mobile-basic-form-structure"> | |||||
| <xs:sequence> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| <xs:element name="ServerValidator" type="server-side-validation" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="ItemList"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="property"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="id" use="required" type="xs:string" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="expand-ratio" type="xs:float" /> | |||||
| <xs:attribute name="useCaptionValue" type="xs:boolean" /> | |||||
| <xs:attribute name="format" type="xs:string" /> | |||||
| <xs:attribute name="decimalSeparator" type="xs:string" /> | |||||
| <xs:attribute name="groupingSeparator" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="addItemButtonCaption" type="xs:string" /> | |||||
| <xs:attribute name="removeItemConfirmationMessage" type="xs:string" /> | |||||
| <xs:attribute name="rows" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="minItens" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="maxItens" type="xs:positiveInteger" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="components" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="Panel" type="Panel" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="images" minOccurs="0" maxOccurs="1" type="images-library"/> | |||||
| <xs:element name="events" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="crud"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="script" type="script" maxOccurs="1" minOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="allowedEvents" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Extensao dos containers de layout padrao para inclusao de subforms especiais --> | |||||
| <!-- Grupo de layouts --> | |||||
| <xs:group name="FormLayoutGroup"> | |||||
| <xs:choice> | |||||
| <!-- Elementos visuais e containers --> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="Panel" type="SubFormPanel" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <!-- Definicao de elementos possiveis por padrao num container de componentes --> | |||||
| <xs:group name="FormComponentContainer"> | |||||
| <xs:choice> | |||||
| <!-- Layouts --> | |||||
| <xs:group ref="FormLayoutGroup" /> | |||||
| <!-- Subforms --> | |||||
| <xs:element name="SubForm" type="vitruvio-subform" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <!-- Componentes reutilizaveis da biblioteca --> | |||||
| <xs:element name="ComplexComponent" type="LibraryComplexComponent" /> | |||||
| <xs:element name="FieldComponent" type="LibraryFieldComponent" /> | |||||
| <!-- Suporte a definicao de widgets --> | |||||
| <xs:group ref="CoreWidgets" /> | |||||
| <xs:element name="GridEditorWidget" type="GridEditorWidget" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="ProgressBarLinear" type="ProgressBarLinear" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="CustomWidget" type="CustomWidget" /> | |||||
| <!-- Campos --> | |||||
| <xs:group ref="fieldGroup" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <xs:complexType name="SubFormVerticalLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormHorizontalLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"/> | |||||
| </xs:complexType> | |||||
| <!-- Tabs --> | |||||
| <xs:complexType name="SubFormTabComponent"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormTabLayout"> | |||||
| <xs:sequence> | |||||
| <xs:element name="Tab" type="SubFormTabComponent" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="framed" type="xs:boolean" /> | |||||
| <xs:attribute name="compact" type="xs:boolean" /> | |||||
| <xs:attribute name="centerTabs" type="xs:boolean" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormPanel"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="BasePanel"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| </xs:choice> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Componente de Form ROOT --> | |||||
| <xs:complexType name="vitruvio-subform-enabled-form"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-mobile-basic-form-structure"> | |||||
| <xs:sequence> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="discoveryScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| <xs:element name="ServerValidator" type="server-side-validation" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="attachments" type="FormAttachments" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="components" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="Panel" type="SubFormPanel" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:attributeGroup name="mobileDataSourceAttrs"> | |||||
| <xs:attribute name="connection-key" type="xs:string" /> | |||||
| <xs:attribute name="autoSyncOnInit" type="xs:boolean" /> | |||||
| <xs:attribute name="autoSyncOnDiscovery" type="xs:boolean" /> | |||||
| <xs:attribute name="refreshInSeconds" type="xs:int" /> | |||||
| <xs:attribute name="validForSeconds" type="xs:int" /> | |||||
| <xs:attribute name="workOnline" type="xs:boolean" /> | |||||
| <xs:attribute name="scope"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="DEFAULT"/> | |||||
| <xs:enumeration value="PROCESS_DEFINITION"/> | |||||
| <xs:enumeration value="PROCESS_INSTANCE"/> | |||||
| <xs:enumeration value="TASK_INSTANCE"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:attributeGroup> | |||||
| <xs:complexType name="mobile-script-data-source"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="script-id-required"> | |||||
| <xs:attributeGroup ref="mobileDataSourceAttrs" /> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="mobile-free-query-datasource"> | |||||
| <xs:simpleContent> | |||||
| <xs:extension base="xs:string"> | |||||
| <xs:attribute name="id" type="xs:string" use="required" /> | |||||
| <xs:attribute name="name" type="xs:string" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| <xs:attributeGroup ref="mobileDataSourceAttrs" /> | |||||
| </xs:extension> | |||||
| </xs:simpleContent> | |||||
| </xs:complexType> | |||||
| <!-- Datasource para uso de Querys mapeadas pre cadastradas no Vitruvio --> | |||||
| <xs:complexType name="mobie-query-datasource"> | |||||
| <xs:attribute name="key" type="xs:string" use="required" /> | |||||
| <xs:attributeGroup ref="mobileDataSourceAttrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MobileServerSide"> | |||||
| <xs:sequence> | |||||
| <xs:element name="Validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="Validator" type="script-id-required" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="DataSources" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="ScriptDataSource" type="mobile-script-data-source" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="SQLBuilderScriptDataSource" type="mobile-script-data-source" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="FreeQueryDataSource" type="mobile-free-query-datasource" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <xs:element name="QueryDataSource" type="mobie-query-datasource" minOccurs="0" maxOccurs="unbounded" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="Bridges" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="Bridge" type="script-id-required" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,163 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns="http://www.davinti.com.br/vitruvio/mobile-form" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.davinti.com.br/vitruvio/mobile-form" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Form containers --> | |||||
| <xs:include schemaLocation="vitruvio-form-containers.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Suporte a Widgets --> | |||||
| <xs:include schemaLocation="vitruvio-form-widgets.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Base Form --> | |||||
| <xs:include schemaLocation="vitruvio-mobile-base-form.xsd" /> | |||||
| <!-- Autoload support --> | |||||
| <xs:attributeGroup name="autoload-base-attrs"> | |||||
| <xs:attribute name="autoPersist" type="xs:boolean" /> | |||||
| <xs:attribute name="autoOverride" type="xs:boolean" /> | |||||
| <xs:attribute name="autoInjectionVariableName" type="xs:string" /> | |||||
| <xs:attribute name="autoInjectionScope"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="NONE"/> | |||||
| <xs:enumeration value="SCRIPT_SCOPE"/> | |||||
| <xs:enumeration value="ENGINE_GLOBAL_SCOPE"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:attributeGroup> | |||||
| <xs:complexType name="autoload-variables"> | |||||
| <xs:sequence> | |||||
| <xs:element name="variable" minOccurs="1" maxOccurs="unbounded" type="xs:string" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="autoload-base-attrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="autoload-form"> | |||||
| <xs:attribute name="formKey" type="xs:string" use="required" /> | |||||
| <xs:attribute name="taskDefinitionKey" type="xs:string" /> | |||||
| <xs:attribute name="onlyCompleteTask" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="autoload-base-attrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="autoload-bridge"> | |||||
| <xs:attribute name="bridgeId" type="xs:string" use="required" /> | |||||
| <xs:attributeGroup ref="autoload-base-attrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MobileAutoloadInfo"> | |||||
| <xs:sequence> | |||||
| <xs:element name="variables" type="autoload-variables" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="forms" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="form" type="autoload-form" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="bridges" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="bridge" type="autoload-bridge" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="autoload-base-attrs" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MobileFormTaskPropertiesDisplaySettings"> | |||||
| <xs:attribute name="showCompleteItensCount" type="xs:boolean" /> | |||||
| <xs:attribute name="showStartUser" type="xs:boolean" /> | |||||
| <xs:attribute name="showDuedate" type="xs:boolean" /> | |||||
| <xs:attribute name="showExtendedProperties" type="xs:boolean" /> | |||||
| <xs:attribute name="extendedPropertiesVariableName" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MobileFormNavButton"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="id" type="xs:string" use="required" /> | |||||
| <xs:attribute name="icon" type="xs:string" use="required" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="MobileFormNavButtonSettings"> | |||||
| <xs:sequence> | |||||
| <xs:element name="customButtons" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="button" type="MobileFormNavButton" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="position"> | |||||
| <xs:simpleType id="test"> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="TOP_RIGHT"></xs:enumeration> | |||||
| <xs:enumeration value="TOP_LEFT"></xs:enumeration> | |||||
| <xs:enumeration value="BOTTOM_RIGHT"></xs:enumeration> | |||||
| <xs:enumeration value="BOTTOM_LEFT"></xs:enumeration> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="showNavButton" type="xs:boolean" /> | |||||
| <xs:attribute name="showCompleteButton" type="xs:boolean" /> | |||||
| <xs:attribute name="startOpened" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="vitruvio-mobile-form"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-subform-enabled-form"> | |||||
| <xs:sequence> | |||||
| <xs:element name="Autoload" type="MobileAutoloadInfo" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="ServerSide" type="MobileServerSide" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="TaskPropertiesDisplaySettings" type="MobileFormTaskPropertiesDisplaySettings" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="NavButtonSettings" type="MobileFormNavButtonSettings" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="requiredDurationNotes" type="xs:boolean" /> | |||||
| <xs:attribute name="shouldDisplayNextTask" type="xs:boolean" /> | |||||
| <xs:attribute name="shouldDisplayNextTaskWithoutConfirmation" type="xs:boolean" /> | |||||
| <xs:attribute name="shouldRefreshTasksFromBackendAfterEnd" type="xs:boolean" /> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:element name="mobile-forms"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="library" type="library" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="descriptorScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="form" type="vitruvio-mobile-form" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="processKey" type="xs:string" /> | |||||
| <xs:attribute name="allowAttachments" type="xs:boolean" /> | |||||
| <!-- Determina se as notas e anexos devem ser exibidas dentro do mesmo form, ou atraves de formularios externos --> | |||||
| <xs:attribute name="embeddedNotes" type="xs:boolean" /> | |||||
| <xs:attribute name="embeddedAttachments" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,35 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns="http://www.davinti.com.br/vitruvio/form/mobile/panel" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.davinti.com.br/vitruvio/form/mobile/panel" elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Form containers --> | |||||
| <xs:include schemaLocation="vitruvio-form-containers.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Suporte a Widgets --> | |||||
| <xs:include schemaLocation="vitruvio-form-widgets.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-mobile-base-form.xsd" /> | |||||
| <xs:element name="panel-form"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="form" type="vitruvio-mobile-base-form" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,106 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | |||||
| <!-- | |||||
| Componentes basicos para uso nos formularios do Vitruvio | |||||
| --> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <xs:complexType name="GridEditorWidgetDataSource"> | |||||
| <xs:choice> | |||||
| <xs:element name="scriptLoader" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="query" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="key" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="GridEditorEvents"> | |||||
| <xs:sequence> | |||||
| <xs:element name="onChange" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="onRowCreated" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="onRowRemoved" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="GridEditorColumns"> | |||||
| <xs:sequence> | |||||
| <xs:element name="column" minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="name" type="xs:string" use="required" /> | |||||
| <xs:attribute name="type" use="required"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="string"/> | |||||
| <xs:enumeration value="numeric"/> | |||||
| <xs:enumeration value="decimal"/> | |||||
| <xs:enumeration value="date"/> | |||||
| <xs:enumeration value="boolean"/> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="format" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="editable" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="GridEditors"> | |||||
| <xs:sequence> | |||||
| <xs:element name="field"> | |||||
| <xs:complexType> | |||||
| <xs:sequence maxOccurs="1" minOccurs="1"> | |||||
| <xs:any /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="key" type="xs:string" use="required" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="GridEditorWidget"> | |||||
| <xs:sequence> | |||||
| <xs:element name="datasource" minOccurs="1" maxOccurs="1" type="GridEditorWidgetDataSource" /> | |||||
| <xs:element name="keyField" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="parentKeyField" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="freezeCount" minOccurs="1" maxOccurs="1" /> | |||||
| <xs:element name="events" minOccurs="0" maxOccurs="1" type="GridEditorEvents" /> | |||||
| <xs:element name="editorSelectorScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="cellStyleGeneratorScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="columns" type="GridEditorColumns" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="editors" type="GridEditors" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="basicElement" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="ProgressBarLinear"> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="enabled" type="xs:boolean" default="true" /> | |||||
| <xs:attribute name="value" type="xs:float" /> | |||||
| <xs:attribute name="maxValue" type="xs:float" /> | |||||
| <xs:attribute name="color" type="xs:string" /> | |||||
| <xs:attribute name="stroke" type="xs:int" /> | |||||
| <xs:attribute name="radius" type="xs:int" /> | |||||
| <xs:attribute name="resolution" default=""> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="" /> | |||||
| <xs:enumeration value="TIMESTAMP" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attributeGroup ref="basicElement" /> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,33 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns="http://www.davinti.com.br/vitruvio/form/panel" xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||||
| targetNamespace="http://www.davinti.com.br/vitruvio/form/panel" | |||||
| elementFormDefault="qualified"> | |||||
| <!-- Form para base --> | |||||
| <xs:include schemaLocation="vitruvio-base-form.xsd" /> | |||||
| <!-- Formulario de Paineis , herdando o formulario base do sistema --> | |||||
| <xs:complexType name="panel"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-base-form"> | |||||
| <xs:attribute name="target" use="optional" > | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="DEFAULT" /> | |||||
| <xs:enumeration value="NEW_WINDOW" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:element name="panel-form"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="form" type="panel" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,72 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns="http://www.davinti.com.br/vitruvio/form/report" xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||||
| targetNamespace="http://www.davinti.com.br/vitruvio/form/report" | |||||
| elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Form containers --> | |||||
| <xs:include schemaLocation="vitruvio-form-containers.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Por fim, a definicao dos elementos principais --> | |||||
| <xs:element name="report-form"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="form" minOccurs="1" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:sequence> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="components" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="Panel" type="Panel" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| <xs:element name="LayoutGroup" type="LayoutGroup" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="formKey" type="xs:string" use="required" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="windowWidth" type="xs:string" /> | |||||
| <xs:attribute name="windowHeight" type="xs:string" /> | |||||
| <xs:attribute name="saveLastState" type="xs:boolean" /> | |||||
| <xs:attribute name="composer" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:schema> | |||||
| @ -0,0 +1,412 @@ | |||||
| <?xml version="1.0"?> | |||||
| <xs:schema xmlns="http://www.davinti.com.br/vitruvio/form" xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||||
| targetNamespace="http://www.davinti.com.br/vitruvio/form" | |||||
| elementFormDefault="qualified"> | |||||
| <!-- Parametros comuns nos Campos --> | |||||
| <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> | |||||
| <!-- Componentes padrao --> | |||||
| <xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> | |||||
| <!-- Componentes para uso com bancos de dados --> | |||||
| <xs:include schemaLocation="vitruvio-form-db-components.xsd" /> | |||||
| <!-- Componentes especificos ao contexto da aplicacao --> | |||||
| <xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> | |||||
| <!-- Form containers --> | |||||
| <xs:include schemaLocation="vitruvio-form-containers.xsd" /> | |||||
| <!-- Scripting defs --> | |||||
| <xs:include schemaLocation="vitruvio-form-scripting.xsd" /> | |||||
| <!-- Suporte a widgets --> | |||||
| <xs:include schemaLocation="vitruvio-form-widgets.xsd" /> | |||||
| <!-- Base Form para implementacoes especificas --> | |||||
| <xs:complexType name="vitruvio-base-form"> | |||||
| <xs:sequence> | |||||
| <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="formKey" type="xs:string" use="required" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="windowWidth" type="xs:string" /> | |||||
| <xs:attribute name="windowHeight" type="xs:string" /> | |||||
| <xs:attribute name="backgroundColor" type="xs:string" /> | |||||
| <xs:attribute name="customCss" type="xs:string" /> | |||||
| <xs:attribute name="debugMode"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="OFF" /> | |||||
| <xs:enumeration value="ALL" /> | |||||
| <xs:enumeration value="RENDER" /> | |||||
| <xs:enumeration value="INIT_SCRIPTS" /> | |||||
| <xs:enumeration value="FORM_LOAD" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="debugOutput"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="UI_MESSAGEBOX" /> | |||||
| <xs:enumeration value="UI_DEBUG" /> | |||||
| <xs:enumeration value="DATABASE" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="debugFormat"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="HTML" /> | |||||
| <xs:enumeration value="FORMATED_TEXT" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| </xs:complexType> | |||||
| <!-- Subformularios que podem ser anexados dentro de Forms RAIZ (ROOT) --> | |||||
| <xs:complexType name="vitruvio-subform"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-base-form"> | |||||
| <xs:sequence> | |||||
| <xs:element name="afterFormRenderScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="preInitScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="ItemList"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="property"> | |||||
| <xs:complexType> | |||||
| <xs:attribute name="id" use="required" type="xs:string" /> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="expand-ratio" type="xs:float" /> | |||||
| <xs:attribute name="useCaptionValue" type="xs:boolean" /> | |||||
| <xs:attribute name="format" type="xs:string" /> | |||||
| <xs:attribute name="decimalSeparator" type="xs:string" /> | |||||
| <xs:attribute name="groupingSeparator" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" /> | |||||
| <xs:attribute name="description" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="addItemButtonCaption" type="xs:string" /> | |||||
| <xs:attribute name="removeItemConfirmationMessage" type="xs:string" /> | |||||
| <xs:attribute name="deleteItemRule"> | |||||
| <xs:simpleType> | |||||
| <xs:restriction base="xs:string"> | |||||
| <xs:enumeration value="ALL_WHILE_ACTIVE" /> | |||||
| <xs:enumeration value="OWNER" /> | |||||
| <xs:enumeration value="NONE" /> | |||||
| </xs:restriction> | |||||
| </xs:simpleType> | |||||
| </xs:attribute> | |||||
| <xs:attribute name="rows" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="minItens" type="xs:positiveInteger" /> | |||||
| <xs:attribute name="maxItens" type="xs:positiveInteger" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="components" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="VerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="HorizontalLayout" /> | |||||
| <xs:element name="Panel" type="Panel" /> | |||||
| <xs:element name="TabLayout" type="TabLayout" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="events" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="crud"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="script" type="script" maxOccurs="1" minOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="allowedEvents" type="xs:string" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Extensao dos containers de layout padrao para inclusao de subforms especiais --> | |||||
| <!-- Grupo de layouts --> | |||||
| <xs:group name="FormLayoutGroup"> | |||||
| <xs:choice> | |||||
| <!-- Elementos visuais e containers --> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="Panel" type="SubFormPanel" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="SubFormAbsoluteLayout" /> | |||||
| <xs:element name="ComplexPanel" type="ComplexPanel" /> | |||||
| <xs:element name="CrudPanel" type="CrudPanel" /> | |||||
| <xs:element name="LegendInfo" type="LegendInfo" /> | |||||
| <xs:element name="Section" type="CrudSession" /> | |||||
| <xs:element name="WindowLayout" type="SubFormWindowLayout" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <!-- Definicao de elementos possiveis por padrao num container de componentes --> | |||||
| <xs:group name="FormComponentContainer"> | |||||
| <xs:choice> | |||||
| <!-- Layouts --> | |||||
| <xs:group ref="FormLayoutGroup" /> | |||||
| <xs:element name="PopupButtonLayout" type="SubFormPopupButtonLayout" /> | |||||
| <!-- Subforms --> | |||||
| <xs:element name="SubForm" type="vitruvio-subform" minOccurs="0" maxOccurs="unbounded" /> | |||||
| <!-- Componentes reutilizaveis da biblioteca --> | |||||
| <xs:element name="ComplexComponent" type="LibraryComplexComponent" /> | |||||
| <xs:element name="FieldComponent" type="LibraryFieldComponent" /> | |||||
| <!-- Suporte a definicao de widgets --> | |||||
| <xs:group ref="CoreWidgets" /> | |||||
| <xs:element name="CustomWidget" type="CustomWidget" /> | |||||
| <!-- Campos --> | |||||
| <xs:group ref="fieldGroup" /> | |||||
| </xs:choice> | |||||
| </xs:group> | |||||
| <xs:complexType name="SubFormVerticalLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormHorizontalLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| <xs:attributeGroup ref="orderedLayoutAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormAbsoluteLayout"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="AbsoluteBaseLayout"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="0" maxOccurs="unbounded"/> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormWindowLayout"> | |||||
| <xs:sequence> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="SubFormAbsoluteLayout" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| <xs:element name="CrudPanel" type="CrudPanel" /> | |||||
| <xs:element name="Section" type="CrudSession" /> | |||||
| </xs:choice> | |||||
| <xs:element name="Config" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="ControlButton" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="onClickScript" type="script" minOccurs="1" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| <xs:attributeGroup ref="basicElement" /> | |||||
| <xs:attributeGroup ref="formButtonAttrs" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="onChangeVisibilityScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="windowWidth" type="xs:string" /> | |||||
| <xs:attribute name="windowHeight" type="xs:string" /> | |||||
| <xs:attribute name="windowTitle" type="xs:string" /> | |||||
| <xs:attribute name="windowClosable" type="xs:boolean" /> | |||||
| <xs:attribute name="windowResizable" type="xs:boolean" /> | |||||
| <xs:attribute name="windowModal" type="xs:boolean" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <!-- SubformEnabled PopupButton --> | |||||
| <xs:complexType name="SubFormPopupButtonLayout"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="PopupButtonBaseLayout"> | |||||
| <xs:sequence> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="SubFormAbsoluteLayout" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| </xs:choice> | |||||
| <xs:element name="Template" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="Filter" type="PopupButtonLayoutFilterTemplate" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <!-- Tabs --> | |||||
| <xs:complexType name="SubFormTabComponent"> | |||||
| <xs:sequence> | |||||
| <xs:group ref="FormComponentContainer" minOccurs="1" maxOccurs="1"/> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="caption" type="xs:string" use="required" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormTabLayout"> | |||||
| <xs:sequence> | |||||
| <xs:element name="TabChangeScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="Tab" type="SubFormTabComponent" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="framed" type="xs:boolean" /> | |||||
| <xs:attribute name="compact" type="xs:boolean" /> | |||||
| <xs:attribute name="centerTabs" type="xs:boolean" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attributeGroup ref="layoutMandatoryAttr"/> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormPanel"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="BasePanel"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="SubFormAbsoluteLayout" /> | |||||
| <xs:element name="CrudPanel" type="CrudPanel" /> | |||||
| <xs:element name="Section" type="CrudSession" /> | |||||
| </xs:choice> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="SubFormScrollPanel"> | |||||
| <xs:choice minOccurs="1" maxOccurs="1"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| <xs:element name="AbsoluteLayout" type="SubFormAbsoluteLayout" /> | |||||
| </xs:choice> | |||||
| <xs:attribute name="id" type="xs:string" /> | |||||
| <xs:attribute name="width" type="xs:string" /> | |||||
| <xs:attribute name="height" type="xs:string" /> | |||||
| <xs:attribute name="expandRatio" type="xs:decimal" /> | |||||
| <xs:attribute name="visible" type="xs:boolean" /> | |||||
| <xs:attribute name="backgroundColor" type="xs:string" use="optional" /> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="user-list"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="user" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <xs:complexType name="role-list"> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="role" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| <!-- Componente de Form ROOT --> | |||||
| <xs:complexType name="vitruvio-subform-enabled-form"> | |||||
| <xs:complexContent> | |||||
| <xs:extension base="vitruvio-base-form"> | |||||
| <xs:sequence> | |||||
| <xs:element name="accessControl" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:choice> | |||||
| <xs:element name="AuthorizationScript" type="script" /> | |||||
| </xs:choice> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="historicAcessControl" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="Allow" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="Users" type="user-list" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="Roles" type="role-list" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="Deny" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence> | |||||
| <xs:element name="Users" type="user-list" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="Roles" type="role-list" minOccurs="0" maxOccurs="1" /> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="afterFormRenderScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="preInitScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="initScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="persistScript" type="script" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="validators" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | |||||
| <xs:choice> | |||||
| <xs:element name="ScriptValidator" type="form-validation-script" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| <xs:attribute name="ignoreEmptyFieldsOnSave" type="xs:boolean" /> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| <xs:element name="attachments" type="FormAttachments" minOccurs="0" maxOccurs="1" /> | |||||
| <xs:element name="components" minOccurs="0" maxOccurs="1"> | |||||
| <xs:complexType> | |||||
| <xs:sequence minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:choice minOccurs="1" maxOccurs="unbounded"> | |||||
| <xs:element name="VerticalLayout" type="SubFormVerticalLayout" /> | |||||
| <xs:element name="HorizontalLayout" type="SubFormHorizontalLayout" /> | |||||
| <xs:element name="Panel" type="SubFormPanel" /> | |||||
| <xs:element name="TabLayout" type="SubFormTabLayout" /> | |||||
| <xs:element name="ScrollPanel" type="SubFormScrollPanel" /> | |||||
| </xs:choice> | |||||
| </xs:sequence> | |||||
| </xs:complexType> | |||||
| </xs:element> | |||||
| </xs:sequence> | |||||
| </xs:extension> | |||||
| </xs:complexContent> | |||||
| </xs:complexType> | |||||
| </xs:schema> | |||||