Especificações XSD dos formulários Vitruvio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
6.5 KiB

<?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:attribute name="preventAttach" 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>