Update XSDs for branch feature/proxy-sync-exception-handling - Build 1

This commit is contained in:
2025-12-17 20:04:15 +00:00
parent b8be6e73b7
commit f88afa4692
2 changed files with 731 additions and 686 deletions
+131 -103
View File
@@ -1,44 +1,53 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!-- Parametros comuns nos Campos --> <!-- Parametros comuns nos Campos -->
<xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" />
<xs:include schemaLocation="vitruvio-form-field-validators.xsd" /> <xs:include schemaLocation="vitruvio-form-field-validators.xsd" />
<xs:include schemaLocation="vitruvio-form-field-events.xsd" /> <xs:include schemaLocation="vitruvio-form-field-events.xsd" />
<!-- <!--
Componentes com datasources sql Componentes com datasources sql
--> -->
<!-- Datasource para uso de Querys Livres, com Input local --> <!-- Datasource para uso de Querys Livres, com Input local -->
<xs:complexType name="freeDataSource"> <xs:complexType name="freeDataSource">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:string"> <xs:extension base="xs:string">
<xs:attribute name="connection-key" type="xs:string" use="required" /> <xs:attribute name="connection-key" type="xs:string" use="required" />
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>
<!-- Datasource para uso de Querys mapeadas pre cadastradas no Vitruvio --> <xs:complexType name="formRefDataSource">
<xs:complexType name="queryDataSource"> <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:attribute name="key" type="xs:string" use="required" />
</xs:complexType> </xs:complexType>
<xs:complexType name="sqlBuilderScript"> <xs:complexType name="sqlBuilderScript">
<xs:complexContent> <xs:complexContent>
<xs:extension base="base-script"> <xs:extension base="base-script">
<xs:attribute name="connection-key" type="xs:string" use="required" /> <xs:attribute name="connection-key" type="xs:string" use="required" />
</xs:extension> </xs:extension>
</xs:complexContent> </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="key-field" use="required" type="xs:string" />
<xs:attribute name="caption-field" type="xs:string" /> <xs:attribute name="caption-field" type="xs:string" />
</xs:attributeGroup> </xs:attributeGroup>
<!-- Datasource comum aos objetos DB --> <!-- Datasource comum aos objetos DB -->
<xs:attributeGroup name="datasource-basic-attrs"> <xs:attributeGroup name="datasource-basic-attrs">
<xs:attribute name="pagination-strategy"> <xs:attribute name="pagination-strategy">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
@@ -49,36 +58,42 @@
</xs:attribute> </xs:attribute>
<xs:attribute name="fetchSize" type="xs:positiveInteger" use="optional" /> <xs:attribute name="fetchSize" type="xs:positiveInteger" use="optional" />
<xs:attribute name="maxFetchSize" type="xs:positiveInteger" use="optional" /> <xs:attribute name="maxFetchSize" type="xs:positiveInteger" use="optional" />
</xs:attributeGroup> </xs:attributeGroup>
<xs:complexType name="datasource"> <xs:complexType name="datasource">
<xs:choice> <xs:choice>
<xs:element name="freeQuery" type="freeDataSource" /> <xs:element name="freeQuery" type="freeDataSource" />
<xs:element name="query" type="queryDataSource" /> <xs:element name="query" type="queryDataSource" />
</xs:choice> </xs:choice>
<xs:attributeGroup ref="datasource-basic-attrs" /> <xs:attributeGroup ref="datasource-basic-attrs" />
</xs:complexType> </xs:complexType>
<!-- SQLBuilder DataSource --> <xs:group name="DatasourceWithBuilderOptions">
<xs:complexType name="datasource-with-builder">
<xs:choice> <xs:choice>
<xs:element name="freeQuery" type="freeDataSource" /> <xs:element name="freeQuery" type="freeDataSource" />
<xs:element name="query" type="queryDataSource" /> <xs:element name="query" type="queryDataSource" />
<xs:element name="sqlBuilderDataSource" type="sqlBuilderScript" /> <xs:element name="sqlBuilderDataSource" type="sqlBuilderScript" />
</xs:choice> </xs:choice>
<xs:attributeGroup ref="datasource-basic-attrs" /> </xs:group>
</xs:complexType>
<!-- Full datasource, incluindo datasource via script --> <!-- SQLBuilder DataSource -->
<xs:complexType name="fullDatasource"> <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:choice>
<xs:element name="freeQuery" type="freeDataSource" /> <xs:element name="freeQuery" type="freeDataSource" />
<xs:element name="query" type="queryDataSource" /> <xs:element name="query" type="queryDataSource" />
<xs:element name="scriptDataSource" type="script" /> <xs:element name="scriptDataSource" type="script" />
</xs:choice> </xs:choice>
</xs:complexType> </xs:complexType>
<!-- DB Property Field --> <!-- DB Property Field -->
<xs:complexType name="DBPropertyField"> <xs:complexType name="DBPropertyField">
<xs:sequence> <xs:sequence>
<xs:element name="loadQuery" type="freeDataSource" minOccurs="1" maxOccurs="1" /> <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="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="modelMember" type="xs:boolean" fixed="false" use="required" />
<xs:attribute name="rows" type="xs:positiveInteger" /> <xs:attribute name="rows" type="xs:positiveInteger" />
<xs:attributeGroup ref="fieldAttrs" /> <xs:attributeGroup ref="fieldAttrs" />
</xs:complexType> </xs:complexType>
<!-- Componentes DB suportam multiplos Binds --> <!-- Componentes DB suportam multiplos Binds -->
<xs:complexType name="DBMultiBind"> <xs:complexType name="DBMultiBind">
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:choice> <xs:choice>
<xs:element name="field"> <xs:element name="field">
@@ -104,7 +119,7 @@
<xs:element name="parameter"> <xs:element name="parameter">
<xs:complexType> <xs:complexType>
<xs:attribute name="field-ref" type="xs:string" use="optional" /> <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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="PROCESS_INSTANCE_ID" /> <xs:enumeration value="PROCESS_INSTANCE_ID" />
@@ -123,10 +138,10 @@
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
<xs:attribute name="refreshOnChange" type="xs:boolean" /> <xs:attribute name="refreshOnChange" type="xs:boolean" />
</xs:complexType> </xs:complexType>
<!-- Database combobox --> <!-- Database combobox -->
<xs:complexType name="DBComboBox"> <xs:complexType name="DBComboBox">
<xs:sequence> <xs:sequence>
<xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> <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="key-field" type="xs:string" minOccurs="1" maxOccurs="1" />
@@ -143,9 +158,9 @@
<xs:attributeGroup ref="companyDefinitionAttrs" /> <xs:attributeGroup ref="companyDefinitionAttrs" />
<xs:attributeGroup ref="personDefinitionAttrs" /> <xs:attributeGroup ref="personDefinitionAttrs" />
<xs:attributeGroup ref="tagFieldAttrs" /> <xs:attributeGroup ref="tagFieldAttrs" />
</xs:complexType> </xs:complexType>
<xs:complexType name="DBTwinColSelect"> <xs:complexType name="DBTwinColSelect">
<xs:sequence> <xs:sequence>
<xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> <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="key-field" type="xs:string" minOccurs="1" maxOccurs="1" />
@@ -163,9 +178,9 @@
<xs:attribute name="maxSelectedItens" type="xs:positiveInteger" /> <xs:attribute name="maxSelectedItens" type="xs:positiveInteger" />
<xs:attributeGroup ref="fieldAttrs" /> <xs:attributeGroup ref="fieldAttrs" />
<xs:attributeGroup ref="selectFieldAttr" /> <xs:attributeGroup ref="selectFieldAttr" />
</xs:complexType> </xs:complexType>
<xs:complexType name="DBTableColumns"> <xs:complexType name="DBTableColumns">
<xs:sequence> <xs:sequence>
<xs:element name="column" minOccurs="1" maxOccurs="unbounded"> <xs:element name="column" minOccurs="1" maxOccurs="unbounded">
<xs:complexType> <xs:complexType>
@@ -176,9 +191,9 @@
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<xs:complexType name="DBSortColumn"> <xs:complexType name="DBSortColumn">
<xs:sequence> <xs:sequence>
<xs:element name="column" minOccurs="1" maxOccurs="unbounded"> <xs:element name="column" minOccurs="1" maxOccurs="unbounded">
<xs:complexType> <xs:complexType>
@@ -194,28 +209,28 @@
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
<!-- Tipo reutilizavel que representa uma coluna de um dbfilter dinamico --> <!-- Tipo reutilizavel que representa uma coluna de um dbfilter dinamico -->
<xs:complexType name="DBFilterColumn"> <xs:complexType name="DBFilterColumn">
<xs:attribute name="caption" type="xs:string" use="required" /> <xs:attribute name="caption" type="xs:string" use="required" />
<xs:attribute name="filterBy" type="xs:string" /> <xs:attribute name="filterBy" type="xs:string" />
<xs:attribute name="typeFilterBy"> <xs:attribute name="typeFilterBy">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="string"/> <xs:enumeration value="string" />
<xs:enumeration value="number"/> <xs:enumeration value="number" />
<xs:enumeration value="decimal"/> <xs:enumeration value="decimal" />
<xs:enumeration value="date"/> <xs:enumeration value="date" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="filterType" type="xs:string" /> <xs:attribute name="filterType" type="xs:string" />
<xs:attribute name="connectionKey" type="xs:string" /> <xs:attribute name="connectionKey" type="xs:string" />
</xs:complexType> </xs:complexType>
<!-- Tipo reutilizavel que representa uma coluna de uma tabela --> <!-- Tipo reutilizavel que representa uma coluna de uma tabela -->
<xs:complexType name="DBTableColumn"> <xs:complexType name="DBTableColumn">
<xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="caption" type="xs:string" /> <xs:attribute name="caption" type="xs:string" />
<xs:attribute name="expand-ratio" type="xs:double" /> <xs:attribute name="expand-ratio" type="xs:double" />
@@ -224,9 +239,9 @@
<xs:attribute name="decimalSeparator" type="xs:string" /> <xs:attribute name="decimalSeparator" type="xs:string" />
<xs:attribute name="groupingSeparator" type="xs:string" /> <xs:attribute name="groupingSeparator" type="xs:string" />
<xs:attribute name="useGroupingSeparator" type="xs:boolean" /> <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:sequence minOccurs="1" maxOccurs="unbounded">
<xs:choice> <xs:choice>
<xs:element name="valueChange" type="ScriptEvent" /> <xs:element name="valueChange" type="ScriptEvent" />
@@ -249,15 +264,15 @@
</xs:element> </xs:element>
</xs:choice> </xs:choice>
</xs:sequence> </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="expand-ratio" type="xs:double" />
<xs:attribute name="width" type="xs:positiveInteger" /> <xs:attribute name="width" type="xs:positiveInteger" />
<xs:attribute name="hidable" type="xs:boolean" /> <xs:attribute name="hidable" type="xs:boolean" />
<xs:attribute name="filter" type="xs:boolean" /> <xs:attribute name="filter" type="xs:boolean" />
<xs:attribute name="filterType" type="xs:string" /> <xs:attribute name="filterType" type="xs:string" />
<xs:attribute name="align" use="optional" > <xs:attribute name="align" use="optional">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="LEFT" /> <xs:enumeration value="LEFT" />
@@ -266,9 +281,9 @@
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
</xs:attributeGroup> </xs:attributeGroup>
<xs:attributeGroup name="DBTableValueColumnBase"> <xs:attributeGroup name="DBTableValueColumnBase">
<xs:attribute name="format" type="xs:string" /> <xs:attribute name="format" type="xs:string" />
<xs:attribute name="editable" type="xs:boolean" /> <xs:attribute name="editable" type="xs:boolean" />
<xs:attribute name="editMask" type="xs:string" /> <xs:attribute name="editMask" type="xs:string" />
@@ -291,10 +306,10 @@
</xs:attribute> </xs:attribute>
<xs:attribute name="aggregatePrefix" type="xs:string" /> <xs:attribute name="aggregatePrefix" type="xs:string" />
<xs:attribute name="sortable" type="xs:boolean" /> <xs:attribute name="sortable" type="xs:boolean" />
</xs:attributeGroup> </xs:attributeGroup>
<!-- Componente de selecao representado por uma tabela (GRID) --> <!-- Componente de selecao representado por uma tabela (GRID) -->
<xs:complexType name="DBTable"> <xs:complexType name="DBTable">
<xs:sequence> <xs:sequence>
<xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> <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="key-field" type="xs:string" minOccurs="1" maxOccurs="1" />
@@ -314,7 +329,8 @@
</xs:element> </xs:element>
<xs:element name="dynamicColumn"> <xs:element name="dynamicColumn">
<xs:complexType> <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="removeTagInCaption" type="xs:boolean" />
<xs:attribute name="matchColumnBy"> <xs:attribute name="matchColumnBy">
<xs:simpleType> <xs:simpleType>
@@ -331,7 +347,8 @@
<xs:element name="generated"> <xs:element name="generated">
<xs:complexType> <xs:complexType>
<xs:choice> <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:choice>
<xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="caption" type="xs:string" /> <xs:attribute name="caption" type="xs:string" />
@@ -350,14 +367,16 @@
<xs:element name="prefix" minOccurs="0" maxOccurs="1"> <xs:element name="prefix" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="suffix" minOccurs="0" maxOccurs="1"> <xs:element name="suffix" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -369,21 +388,21 @@
<xs:element name="styleGenerator" minOccurs="0" maxOccurs="1"> <xs:element name="styleGenerator" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:choice> <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:choice>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="editableFieldsGenerator" minOccurs="0" maxOccurs="1"> <xs:element name="editableFieldsGenerator" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:choice> <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:choice>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="cellDescriptionGenerator" minOccurs="0" maxOccurs="1"> <xs:element name="cellDescriptionGenerator" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:choice> <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:choice>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -396,16 +415,19 @@
<xs:element name="menuItem" minOccurs="1" maxOccurs="unbounded"> <xs:element name="menuItem" minOccurs="1" maxOccurs="unbounded">
<xs:complexType> <xs:complexType>
<xs:sequence> <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: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:attribute name="icon" type="xs:string" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </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:choice>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -445,15 +467,15 @@
<xs:attribute name="stateScope" use="optional"> <xs:attribute name="stateScope" use="optional">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="PROCESS_KEY"/> <xs:enumeration value="PROCESS_KEY" />
<!-- <xs:enumeration value="PROCESS_VERSION"/> --> <!-- <xs:enumeration value="PROCESS_VERSION"/> -->
<xs:enumeration value="INSTANCE"/> <xs:enumeration value="INSTANCE" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="frozenColumns" type="xs:positiveInteger" /> <xs:attribute name="frozenColumns" type="xs:positiveInteger" />
<xs:attribute name="rowCacheRate" type="xs:integer" /> <xs:attribute name="rowCacheRate" type="xs:integer" />
<xs:attribute name="columnSortMode" use="optional" > <xs:attribute name="columnSortMode" use="optional">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="FORCE_ENABLED" /> <xs:enumeration value="FORCE_ENABLED" />
@@ -465,15 +487,16 @@
</xs:attribute> </xs:attribute>
<xs:attribute name="scrollEditableGridOnUserFocus" type="xs:boolean" /> <xs:attribute name="scrollEditableGridOnUserFocus" type="xs:boolean" />
<xs:attribute name="autoSelectTextInEditableFieldFocus" 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" /> <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: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:choice minOccurs="0" maxOccurs="1">
<xs:element name="subquery-as-exists" type="xs:string" /> <xs:element name="subquery-as-exists" type="xs:string" />
</xs:choice> </xs:choice>
@@ -481,16 +504,16 @@
<xs:attribute name="parameterType"> <xs:attribute name="parameterType">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="string"/> <xs:enumeration value="string" />
<xs:enumeration value="number"/> <xs:enumeration value="number" />
<xs:enumeration value="date"/> <xs:enumeration value="date" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
<!-- Componente de pesquisa baseado em um datasource dinamico --> <!-- Componente de pesquisa baseado em um datasource dinamico -->
<xs:complexType name="DBFilter"> <xs:complexType name="DBFilter">
<xs:sequence> <xs:sequence>
<xs:element name="onFilter" minOccurs="0" maxOccurs="1"> <xs:element name="onFilter" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
@@ -502,7 +525,8 @@
<xs:element name="columns" minOccurs="0" maxOccurs="1"> <xs:element name="columns" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -525,10 +549,10 @@
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="width" type="xs:string" /> <xs:attribute name="width" type="xs:string" />
</xs:complexType> </xs:complexType>
<!-- Componente de pesquisa baseado em um datasource dinamico --> <!-- Componente de pesquisa baseado em um datasource dinamico -->
<xs:complexType name="DBSearchField"> <xs:complexType name="DBSearchField">
<xs:sequence> <xs:sequence>
<xs:element name="datasource" type="datasource-with-builder" minOccurs="1" maxOccurs="1" /> <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="loadItemQuery" type="xs:string" minOccurs="0" maxOccurs="1" />
@@ -537,7 +561,8 @@
<xs:element name="columns" minOccurs="0" maxOccurs="1"> <xs:element name="columns" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -554,12 +579,12 @@
<xs:attribute name="resolution"> <xs:attribute name="resolution">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="SECOND"/> <xs:enumeration value="SECOND" />
<xs:enumeration value="MINUTE"/> <xs:enumeration value="MINUTE" />
<xs:enumeration value="HOUR"/> <xs:enumeration value="HOUR" />
<xs:enumeration value="DAY"/> <xs:enumeration value="DAY" />
<xs:enumeration value="MONTH"/> <xs:enumeration value="MONTH" />
<xs:enumeration value="YEAR"/> <xs:enumeration value="YEAR" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
@@ -580,9 +605,12 @@
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1"> <xs:sequence minOccurs="1" maxOccurs="1">
<xs:any processContents="skip" /> <xs:any processContents="skip" />
<xs:element name="initialValue" type="userInfoInitialValue" minOccurs="0" maxOccurs="1"/> <xs:element name="initialValue" type="userInfoInitialValue"
<xs:element name="valuePrefix" type="xs:string" minOccurs="0" maxOccurs="1" /> minOccurs="0" maxOccurs="1" />
<xs:element name="valueSuffix" type="xs:string" 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:choice>
<xs:element name="column" type="columnFilter" /> <xs:element name="column" type="columnFilter" />
<xs:element name="parameter" type="bindParameter" /> <xs:element name="parameter" type="bindParameter" />
@@ -590,7 +618,7 @@
</xs:sequence> </xs:sequence>
<xs:attribute name="filterOnChange" type="xs:boolean" /> <xs:attribute name="filterOnChange" type="xs:boolean" />
<xs:attribute name="displayOnTableColumn" type="xs:string" /> <xs:attribute name="displayOnTableColumn" type="xs:string" />
<xs:attribute name="allowNullSettingByFilter" type="xs:boolean"/> <xs:attribute name="allowNullSettingByFilter" type="xs:boolean" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
@@ -614,6 +642,6 @@
<xs:attribute name="key-field-search-enabled" type="xs:boolean" /> <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-visible" type="xs:boolean" />
<xs:attribute name="key-field-search-width" type="xs:string" /> <xs:attribute name="key-field-search-width" type="xs:string" />
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
+67 -50
View File
@@ -1,70 +1,79 @@
<?xml version="1.0"?> <?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 --> <!-- Parametros comuns nos Campos -->
<xs:include schemaLocation="vitruvio-form-common-attrs.xsd" /> <xs:include schemaLocation="vitruvio-form-common-attrs.xsd" />
<!-- Componentes padrao --> <!-- Componentes padrao -->
<xs:include schemaLocation="vitruvio-form-basic-components.xsd" /> <xs:include schemaLocation="vitruvio-form-basic-components.xsd" />
<!-- Componentes para uso com bancos de dados --> <!-- Componentes para uso com bancos de dados -->
<xs:include schemaLocation="vitruvio-form-db-components.xsd" /> <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 --> <!-- Componentes especificos ao contexto da aplicacao -->
<xs:include schemaLocation="vitruvio-form-specific-components.xsd" /> <xs:include schemaLocation="vitruvio-form-specific-components.xsd" />
<!-- Form containers --> <!-- Form containers -->
<xs:include schemaLocation="vitruvio-form-containers.xsd" /> <xs:include schemaLocation="vitruvio-form-containers.xsd" />
<!-- Scripting defs --> <!-- Scripting defs -->
<xs:include schemaLocation="vitruvio-form-scripting.xsd" /> <xs:include schemaLocation="vitruvio-form-scripting.xsd" />
<!-- Suporte a Widgets --> <!-- Suporte a Widgets -->
<xs:include schemaLocation="vitruvio-form-widgets.xsd" /> <xs:include schemaLocation="vitruvio-form-widgets.xsd" />
<!-- Scripting defs --> <!-- Scripting defs -->
<xs:include schemaLocation="vitruvio-form-scripting.xsd" /> <xs:include schemaLocation="vitruvio-form-scripting.xsd" />
<!-- Base Form --> <!-- Base Form -->
<xs:include schemaLocation="vitruvio-mobile-base-form.xsd" /> <xs:include schemaLocation="vitruvio-mobile-base-form.xsd" />
<!-- Autoload support --> <!-- Autoload support -->
<xs:attributeGroup name="autoload-base-attrs"> <xs:attributeGroup name="autoload-base-attrs">
<xs:attribute name="autoPersist" type="xs:boolean" /> <xs:attribute name="autoPersist" type="xs:boolean" />
<xs:attribute name="autoOverride" type="xs:boolean" /> <xs:attribute name="autoOverride" type="xs:boolean" />
<xs:attribute name="autoInjectionVariableName" type="xs:string" /> <xs:attribute name="autoInjectionVariableName" type="xs:string" />
<xs:attribute name="autoInjectionScope"> <xs:attribute name="autoInjectionScope">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="NONE"/> <xs:enumeration value="NONE" />
<xs:enumeration value="SCRIPT_SCOPE"/> <xs:enumeration value="SCRIPT_SCOPE" />
<xs:enumeration value="ENGINE_GLOBAL_SCOPE"/> <xs:enumeration value="ENGINE_GLOBAL_SCOPE" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
</xs:attributeGroup> </xs:attributeGroup>
<xs:complexType name="autoload-variables"> <xs:complexType name="autoload-variables">
<xs:sequence> <xs:sequence>
<xs:element name="variable" minOccurs="1" maxOccurs="unbounded" type="xs:string" /> <xs:element name="variable" minOccurs="1" maxOccurs="unbounded" type="xs:string" />
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="autoload-base-attrs" /> <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="formKey" type="xs:string" use="required" />
<xs:attribute name="taskDefinitionKey" type="xs:string" /> <xs:attribute name="taskDefinitionKey" type="xs:string" />
<xs:attribute name="onlyCompleteTask" type="xs:boolean" /> <xs:attribute name="onlyCompleteTask" type="xs:boolean" />
<xs:attributeGroup ref="autoload-base-attrs" /> <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:attribute name="bridgeId" type="xs:string" use="required" />
<xs:attributeGroup ref="autoload-base-attrs" /> <xs:attributeGroup ref="autoload-base-attrs" />
</xs:complexType> </xs:complexType>
<xs:complexType name="MobileAutoloadInfo"> <xs:complexType name="MobileAutoloadInfo">
<xs:sequence> <xs:sequence>
<xs:element name="variables" type="autoload-variables" minOccurs="0" maxOccurs="1" /> <xs:element name="variables" type="autoload-variables" minOccurs="0" maxOccurs="1" />
<xs:element name="forms" minOccurs="0" maxOccurs="1"> <xs:element name="forms" minOccurs="0" maxOccurs="1">
@@ -83,17 +92,17 @@
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="autoload-base-attrs" /> <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="showCompleteItensCount" type="xs:boolean" />
<xs:attribute name="showStartUser" type="xs:boolean" /> <xs:attribute name="showStartUser" type="xs:boolean" />
<xs:attribute name="showDuedate" type="xs:boolean" /> <xs:attribute name="showDuedate" type="xs:boolean" />
<xs:attribute name="showExtendedProperties" type="xs:boolean" /> <xs:attribute name="showExtendedProperties" type="xs:boolean" />
<xs:attribute name="extendedPropertiesVariableName" type="xs:string" /> <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:sequence minOccurs="1" maxOccurs="1">
<xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" /> <xs:element name="clickScript" type="script" minOccurs="1" maxOccurs="1" />
</xs:sequence> </xs:sequence>
@@ -101,14 +110,15 @@
<xs:attribute name="icon" type="xs:string" use="required" /> <xs:attribute name="icon" type="xs:string" use="required" />
<xs:attribute name="caption" type="xs:string" /> <xs:attribute name="caption" type="xs:string" />
<xs:attribute name="description" 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:sequence>
<xs:element name="customButtons" minOccurs="0" maxOccurs="1"> <xs:element name="customButtons" minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -126,38 +136,45 @@
<xs:attribute name="showNavButton" type="xs:boolean" /> <xs:attribute name="showNavButton" type="xs:boolean" />
<xs:attribute name="showCompleteButton" type="xs:boolean" /> <xs:attribute name="showCompleteButton" type="xs:boolean" />
<xs:attribute name="startOpened" 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:complexContent>
<xs:extension base="vitruvio-subform-enabled-form"> <xs:extension base="vitruvio-subform-enabled-form">
<xs:sequence> <xs:sequence>
<xs:element name="Autoload" type="MobileAutoloadInfo" minOccurs="0" maxOccurs="1" /> <xs:element name="Autoload" type="MobileAutoloadInfo" minOccurs="0"
<xs:element name="ServerSide" type="MobileServerSide" minOccurs="0" maxOccurs="1" /> maxOccurs="1" />
<xs:element name="TaskPropertiesDisplaySettings" type="MobileFormTaskPropertiesDisplaySettings" minOccurs="0" maxOccurs="1" /> <xs:element name="ServerSide" type="MobileServerSide" minOccurs="0"
<xs:element name="NavButtonSettings" type="MobileFormNavButtonSettings" minOccurs="0" maxOccurs="1" /> 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:sequence>
<xs:attribute name="requiredDurationNotes" type="xs:boolean" /> <xs:attribute name="requiredDurationNotes" type="xs:boolean" />
<xs:attribute name="shouldDisplayNextTask" type="xs:boolean" /> <xs:attribute name="shouldDisplayNextTask" type="xs:boolean" />
<xs:attribute name="shouldDisplayNextTaskWithoutConfirmation" type="xs:boolean" /> <xs:attribute name="shouldDisplayNextTaskWithoutConfirmation" type="xs:boolean" />
<xs:attribute name="shouldRefreshTasksFromBackendAfterEnd" type="xs:boolean" /> <xs:attribute name="shouldRefreshTasksFromBackendAfterEnd" type="xs:boolean" />
<xs:attribute name="preventAttach" type="xs:boolean" />
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<xs:element name="mobile-forms"> <xs:element name="mobile-forms">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="library" type="library" minOccurs="0" maxOccurs="1" /> <xs:element name="library" type="library" minOccurs="0" maxOccurs="1" />
<xs:element name="descriptorScript" type="script" 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:sequence>
<xs:attribute name="processKey" type="xs:string" /> <xs:attribute name="processKey" type="xs:string" />
<xs:attribute name="allowAttachments" type="xs:boolean" /> <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="embeddedNotes" type="xs:boolean" />
<xs:attribute name="embeddedAttachments" type="xs:boolean" /> <xs:attribute name="embeddedAttachments" type="xs:boolean" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:schema> </xs:schema>