Update XSDs for branch feature/dados_sensiveis - Build 1

This commit is contained in:
2026-01-15 17:05:15 +00:00
parent b8be6e73b7
commit f5cb3f18d3
2 changed files with 731 additions and 686 deletions
+131 -103
View File
@@ -1,44 +1,53 @@
<?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" />
<!-- 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">
<!-- 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>
</xs:complexType>
<!-- Datasource para uso de Querys mapeadas pre cadastradas no Vitruvio -->
<xs:complexType name="queryDataSource">
<xs:complexType name="formRefDataSource">
<xs:annotation>
<xs:documentation>
Datasource para consumir datasources definidos no formulário.
</xs:documentation>
</xs:annotation>
<xs:attribute name="ref" type="xs:string" use="required" />
</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>
<xs:complexType name="sqlBuilderScript">
<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:complexType>
<xs:attributeGroup name="value-caption-attrs">
<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>
</xs:attributeGroup>
<!-- Datasource comum aos objetos DB -->
<xs:attributeGroup name="datasource-basic-attrs">
<!-- Datasource comum aos objetos DB -->
<xs:attributeGroup name="datasource-basic-attrs">
<xs:attribute name="pagination-strategy">
<xs:simpleType>
<xs:restriction base="xs:string">
@@ -49,36 +58,42 @@
</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: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>
</xs:complexType>
<!-- SQLBuilder DataSource -->
<xs:complexType name="datasource-with-builder">
<xs:group name="DatasourceWithBuilderOptions">
<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>
</xs:group>
<!-- Full datasource, incluindo datasource via script -->
<xs:complexType name="fullDatasource">
<!-- SQLBuilder DataSource -->
<xs:complexType name="datasource-with-builder">
<xs:choice>
<xs:group ref="DatasourceWithBuilderOptions"></xs:group>
</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>
</xs:complexType>
<!-- DB Property Field -->
<xs:complexType name="DBPropertyField">
<!-- 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" />
@@ -89,10 +104,10 @@
<xs:attribute name="modelMember" type="xs:boolean" fixed="false" use="required" />
<xs:attribute name="rows" type="xs:positiveInteger" />
<xs:attributeGroup ref="fieldAttrs" />
</xs:complexType>
</xs:complexType>
<!-- Componentes DB suportam multiplos Binds -->
<xs:complexType name="DBMultiBind">
<!-- Componentes DB suportam multiplos Binds -->
<xs:complexType name="DBMultiBind">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:choice>
<xs:element name="field">
@@ -104,7 +119,7 @@
<xs:element name="parameter">
<xs:complexType>
<xs:attribute name="field-ref" type="xs:string" use="optional" />
<xs:attribute name="context-value" use="optional" >
<xs:attribute name="context-value" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PROCESS_INSTANCE_ID" />
@@ -123,10 +138,10 @@
</xs:choice>
</xs:sequence>
<xs:attribute name="refreshOnChange" type="xs:boolean" />
</xs:complexType>
</xs:complexType>
<!-- Database combobox -->
<xs:complexType name="DBComboBox">
<!-- 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" />
@@ -143,9 +158,9 @@
<xs:attributeGroup ref="companyDefinitionAttrs" />
<xs:attributeGroup ref="personDefinitionAttrs" />
<xs:attributeGroup ref="tagFieldAttrs" />
</xs:complexType>
</xs:complexType>
<xs:complexType name="DBTwinColSelect">
<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" />
@@ -163,9 +178,9 @@
<xs:attribute name="maxSelectedItens" type="xs:positiveInteger" />
<xs:attributeGroup ref="fieldAttrs" />
<xs:attributeGroup ref="selectFieldAttr" />
</xs:complexType>
</xs:complexType>
<xs:complexType name="DBTableColumns">
<xs:complexType name="DBTableColumns">
<xs:sequence>
<xs:element name="column" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
@@ -176,9 +191,9 @@
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:complexType>
<xs:complexType name="DBSortColumn">
<xs:complexType name="DBSortColumn">
<xs:sequence>
<xs:element name="column" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
@@ -194,28 +209,28 @@
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:complexType>
<!-- Tipo reutilizavel que representa uma coluna de um dbfilter dinamico -->
<xs:complexType name="DBFilterColumn">
<!-- 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: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>
</xs:complexType>
<!-- Tipo reutilizavel que representa uma coluna de uma tabela -->
<xs:complexType name="DBTableColumn">
<!-- 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" />
@@ -224,9 +239,9 @@
<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>
<xs:complexType name="DBTableEvents">
<xs:complexType name="DBTableEvents">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:choice>
<xs:element name="valueChange" type="ScriptEvent" />
@@ -249,15 +264,15 @@
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:complexType>
<xs:attributeGroup name="DBTableDefaultColumnAttrs">
<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:attribute name="align" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LEFT" />
@@ -266,9 +281,9 @@
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
</xs:attributeGroup>
<xs:attributeGroup name="DBTableValueColumnBase">
<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" />
@@ -291,10 +306,10 @@
</xs:attribute>
<xs:attribute name="aggregatePrefix" type="xs:string" />
<xs:attribute name="sortable" type="xs:boolean" />
</xs:attributeGroup>
</xs:attributeGroup>
<!-- Componente de selecao representado por uma tabela (GRID) -->
<xs:complexType name="DBTable">
<!-- 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" />
@@ -314,7 +329,8 @@
</xs:element>
<xs:element name="dynamicColumn">
<xs:complexType>
<xs:attribute name="matchColumnTag" type="xs:string" use="required" />
<xs:attribute name="matchColumnTag" type="xs:string"
use="required" />
<xs:attribute name="removeTagInCaption" type="xs:boolean" />
<xs:attribute name="matchColumnBy">
<xs:simpleType>
@@ -331,7 +347,8 @@
<xs:element name="generated">
<xs:complexType>
<xs:choice>
<xs:element name="scriptColumnGenerator" type="script" minOccurs="1" maxOccurs="1"/>
<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" />
@@ -350,14 +367,16 @@
<xs:element name="prefix" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="column" type="DBSortColumn" minOccurs="1" maxOccurs="unbounded"/>
<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:element name="column" type="DBSortColumn" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -369,21 +388,21 @@
<xs:element name="styleGenerator" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:choice>
<xs:element name="scriptGenerator" type="script" minOccurs="1" maxOccurs="1"/>
<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: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:element name="scriptGenerator" type="script" minOccurs="1" maxOccurs="1" />
</xs:choice>
</xs:complexType>
</xs:element>
@@ -396,16 +415,19 @@
<xs:element name="menuItem" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" />
<xs:element name="clickScript" type="script"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="caption" type="xs:string" use="required" />
<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:element name="scriptMenuGenerator" type="script" minOccurs="1"
maxOccurs="1" />
</xs:choice>
</xs:complexType>
</xs:element>
@@ -445,15 +467,15 @@
<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: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:attribute name="columnSortMode" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="FORCE_ENABLED" />
@@ -465,15 +487,16 @@
</xs:attribute>
<xs:attribute name="scrollEditableGridOnUserFocus" type="xs:boolean" />
<xs:attribute name="autoSelectTextInEditableFieldFocus" type="xs:boolean" />
</xs:complexType>
</xs:complexType>
<xs:complexType name="columnFilter">
<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 -->
<!-- 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>
<xs:complexType name="bindParameter">
<xs:complexType name="bindParameter">
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="subquery-as-exists" type="xs:string" />
</xs:choice>
@@ -481,16 +504,16 @@
<xs:attribute name="parameterType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="string"/>
<xs:enumeration value="number"/>
<xs:enumeration value="date"/>
<xs:enumeration value="string" />
<xs:enumeration value="number" />
<xs:enumeration value="date" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:complexType>
<!-- Componente de pesquisa baseado em um datasource dinamico -->
<xs:complexType name="DBFilter">
<!-- Componente de pesquisa baseado em um datasource dinamico -->
<xs:complexType name="DBFilter">
<xs:sequence>
<xs:element name="onFilter" minOccurs="0" maxOccurs="1">
<xs:complexType>
@@ -502,7 +525,8 @@
<xs:element name="columns" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="column" type="DBFilterColumn" minOccurs="1" maxOccurs="unbounded" />
<xs:element name="column" type="DBFilterColumn" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -525,10 +549,10 @@
</xs:simpleType>
</xs:attribute>
<xs:attribute name="width" type="xs:string" />
</xs:complexType>
</xs:complexType>
<!-- Componente de pesquisa baseado em um datasource dinamico -->
<xs:complexType name="DBSearchField">
<!-- 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" />
@@ -537,7 +561,8 @@
<xs:element name="columns" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="column" type="DBTableColumn" minOccurs="1" maxOccurs="unbounded" />
<xs:element name="column" type="DBTableColumn" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -554,12 +579,12 @@
<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: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>
@@ -580,9 +605,12 @@
<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: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" />
@@ -590,7 +618,7 @@
</xs:sequence>
<xs:attribute name="filterOnChange" type="xs:boolean" />
<xs:attribute name="displayOnTableColumn" type="xs:string" />
<xs:attribute name="allowNullSettingByFilter" type="xs:boolean"/>
<xs:attribute name="allowNullSettingByFilter" type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -614,6 +642,6 @@
<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:complexType>
</xs:schema>
+67 -50
View File
@@ -1,70 +1,79 @@
<?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">
<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" />
<!-- Parametros comuns nos Campos -->
<xs:include schemaLocation="vitruvio-form-common-attrs.xsd" />
<!-- Componentes padrao -->
<xs:include schemaLocation="vitruvio-form-basic-components.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 para uso com bancos de dados -->
<xs:redefine schemaLocation="vitruvio-form-db-components.xsd">
<xs:group name="DatasourceWithBuilderOptions">
<xs:choice>
<xs:group ref="DatasourceWithBuilderOptions" />
<xs:element name="form-datasource" type="formRefDataSource" />
</xs:choice>
</xs:group>
</xs:redefine>
<!-- Componentes especificos ao contexto da aplicacao -->
<xs:include schemaLocation="vitruvio-form-specific-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" />
<!-- Form containers -->
<xs:include schemaLocation="vitruvio-form-containers.xsd" />
<!-- Scripting defs -->
<xs:include schemaLocation="vitruvio-form-scripting.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-form-widgets.xsd" />
<!-- Scripting defs -->
<xs:include schemaLocation="vitruvio-form-scripting.xsd" />
<!-- Scripting defs -->
<xs:include schemaLocation="vitruvio-form-scripting.xsd" />
<!-- Base Form -->
<xs:include schemaLocation="vitruvio-mobile-base-form.xsd" />
<!-- Base Form -->
<xs:include schemaLocation="vitruvio-mobile-base-form.xsd" />
<!-- Autoload support -->
<xs:attributeGroup name="autoload-base-attrs">
<!-- 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:enumeration value="NONE" />
<xs:enumeration value="SCRIPT_SCOPE" />
<xs:enumeration value="ENGINE_GLOBAL_SCOPE" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
</xs:attributeGroup>
<xs:complexType name="autoload-variables">
<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>
<xs:complexType name="autoload-form">
<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>
<xs:complexType name="autoload-bridge">
<xs:complexType name="autoload-bridge">
<xs:attribute name="bridgeId" type="xs:string" use="required" />
<xs:attributeGroup ref="autoload-base-attrs" />
</xs:complexType>
</xs:complexType>
<xs:complexType name="MobileAutoloadInfo">
<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">
@@ -83,17 +92,17 @@
</xs:element>
</xs:sequence>
<xs:attributeGroup ref="autoload-base-attrs" />
</xs:complexType>
</xs:complexType>
<xs:complexType name="MobileFormTaskPropertiesDisplaySettings">
<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>
<xs:complexType name="MobileFormNavButton">
<xs:complexType name="MobileFormNavButton">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" />
</xs:sequence>
@@ -101,14 +110,15 @@
<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>
<xs:complexType name="MobileFormNavButtonSettings">
<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:element name="button" type="MobileFormNavButton" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -126,38 +136,45 @@
<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>
<xs:complexType name="vitruvio-mobile-form">
<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: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:attribute name="preventAttach" type="xs:boolean" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:complexType>
<xs:element name="mobile-forms">
<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: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 -->
<!-- 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:element>
</xs:schema>