Os filhos não obrigatórios de cada nó na árvore são ordenados por idade. Ou seja, o DOM está ciente da ordem na qual os nós com filhos não obrigatórios foram adicionados.
Para cada etapa no processamento do formulário, há um DOM que retém as estruturas de dados de cada estágio. Os scripts podem examinar e modificar cada DOM. Os DOMs são responsáveis por manter a consistência interna, mas não a externa. Por exemplo, quando um script ativa um botão de opção atribuindo o campo correspondente, todos os outros botões acoplados naquele botão são automaticamente desativados. Isso é uma questão de consistência interna, por isso, é gerenciada pelo DOM do formulário.
Por outro lado, o DOM dos dados nada faz para impedir que um script viole as regras do XML, por exemplo, dando a um objeto duas propriedades com o mesmo nome. Isso é uma questão de consistência externa, então a responsabilidade é do autor do script, não do DOM.
Sempre que um design de formulário é combinado a dados, o Modelo de objetos de formulário XML é usado para facilitar a combinação do modelo e dos dados para criar o formulário resultante. Esse processo começa com o uso das representações existentes do DOM do XML do design de formulário e dos dados do XML para criar modelos separados. Esses modelos separados armazenam uma representação estruturada do design do formulário original e dos dados do XML original. O DOM do modelo corresponde ao design do formulário e o DOM dos dados corresponde aos dados XML fornecidos pelo usuário.
Depois que o modelo e os modelos de dados são criados, um terceiro modelo, o DOM do formulário, é criado, representando a união das informações. O DOM do formulário atua como um meio de combinação de valores específicos dos dados XML com as regras de apresentação definidas pelo design do formulário.
Se você estiver criando um formulário interativo, depois que o DOM do formulário for criado, o formulário estará completo e pronto para implantação para os usuários. Os designs de formulário interativos podem ter dados associados com os quais eles sejam mesclados, mas a maioria dos formulários interativos são criados para aceitar dados inseridos pelo usuário.
O processo até a criação do DOM do formulário é idêntico em todos os formulários. No entanto, os formulários não interativos podem ter um conjunto de dados para mesclar com o design de formulário. No caso dos formulários com layout fixo, a mesclagem dos dados não determina as regras de apresentação do formulário, ou seja, os dados são mesclados nos campos apropriados sem que suas propriedades sejam alteradas. Por outro lado, quando os dados são mesclados com formulários que tenham layout flexível, os campos aumentam ou diminuem para acomodar os dados mesclados neles.
O DOM do formulário para formulários com layouts fixos e flexíveis é muito similar; ele é um formulário longo sem paginação. Quando os dados e as regras de apresentação são aplicados nesses tipos de formulários, eles devem ser formatados de acordo com as informações do layout. Um DOM de layout é criado do DOM de formulário que estrutura o formulário em páginas e aplica outras regras baseadas em página, como a numeração de página, cabeçalhos e rodapés. O diagrama a seguir ilustra este processo.
Depois que as regras de layout são aplicadas aos formulários com layout fixo ou flexível, ambos os tipos de formulários estão concluídos.