--- description: "Use quando editar formularios/processos Vitruvio em XML/BPMN (.xml, .bpmn): estrutura, namespace, scripts CDATA, defaults de bind e scripts compativeis com Rhino." name: "Vitruvio XML e BPMN" applyTo: "**/*.xml, **/*.bpmn" --- # Vitruvio XML e BPMN - Preserve a estrutura de XML Vitruvio e os padroes de nomenclatura ja usados no repositorio. - Mantenha namespaces oficiais e schema locations nas tags raiz. - Scripts dentro do XML devem ser compativeis com Rhino (ES5): - Usar apenas `var`. - Nao usar template strings porém outros recursos modernos de JS são compativeis, como métodos de array (`forEach`, `map`, `filter`) e objetos (`Object.keys`, `Object.values`). - Monte SQL/HTML com concatenacao incremental de strings. - Mantenha os blocos de skeleton quando aplicavel: - `descriptorScript`, `form`, `name`, `initScript`, `validators`, `buttons`. - O acesso a campos/componentes deve seguir o uso da plataforma: - `engine.getField`, `engine.getLabel`, `engine.getWidget`, `engine.setGlobalVariable`. - Em ``, todo `` deve conter `defaultValue` (string, number, date). - Reaproveite IDs e padroes de formularios existentes sempre que possivel. - Mantenha scripts curtos, legiveis e focados no comportamento em runtime.