Formulários de entrada

Abaixo estão alguns princípios gerais sobre o uso de formulários de entrada no Adobe Campaign.

Os formulários estão detalhados nesta seção.

Estrutura do formulário

O documento XML de um formulário de entrada deve conter o elemento raiz <form> com os atributos name e namespace para preencher o nome e o namespace do formulário, respectivamente.

<form name="form_name" namespace="name_space">
…
</form>

Por padrão, um formulário é associado ao schema de dados que tem o mesmo nome e namespace. Para associar um formulário a um nome diferente, insira a chave do schema no atributo entity-schema do elemento <form>.

Para ilustrar a estrutura de um formulário de entrada, descrevemos uma interface com base em nosso exemplo de schema "cus:book":

Este é o formulário de entrada correspondente:

<form name="book" namespace="cus" type="contentForm">
  <input xpath="@name"/>
  <input xpath="@date"/>
  <input xpath="@language"/>
</form>

A descrição dos elementos de edição começa com o elemento raiz <form>.

Um controle de edição é inserido em um elemento <input> com o atributo xpath contendo o caminho do campo do schema.

Lembrete sobre sintaxe XPath:

A linguagem XPath é usada no Adobe Campaign para referenciar um elemento ou atributo que pertence a um schema de dados.

XPath é uma sintaxe que permite localizar um nó na árvore de um documento XML.

Os elementos são designados pelo nome e os atributos são designados pelo nome precedido pelo caractere "@".

Exemplos:

  • @date: seleciona o atributo com o nome "date"
  • chapter/@title: seleciona o atributo "title" no elemento <chapter>.
  • …/@date: seleciona a data do elemento primário do elemento atual.

O controle de edição se adapta automaticamente ao tipo de dados correspondente e usa o rótulo definido no schema.

Por padrão, cada campo é exibido em uma linha e ocupa todo o espaço disponível, dependendo do tipo de dados.

ATENÇÃO

O formulário de entrada deve referenciar um atributo type="contentForm" no elemento <form> para adicionar automaticamente o quadro necessário para o conteúdo ser inserido.

Formatação

A disposição dos controles em relação uns aos outros parece com a organização usada em tabelas HTML, com a possibilidade de dividir um controle em várias colunas, entrelaçar elementos ou especificar a ocupação do espaço disponível. Entretanto, lembre-se de que a formatação somente autoriza a distribuição de proporções; não é possível especificar dimensões fixas para um objeto.

Para obter mais informações, consulte esta seção.

Controles de tipo de lista

Para editar um elemento de coleção, é necessário usar um controle de tipo de lista.

Lista de colunas

Este controle exibe uma lista de colunas editável com uma barra de ferramentas contendo os botões Adicionar e Excluir.

<input xpath="chapter" type="list">
  <input xpath="@name"/>
  <input xpath="@number"/>
</input>

O controle de lista deve ser preenchido com o atributo type="list" e o caminho da lista deve se referir ao elemento de coleção.

As colunas são declaradas pelos elementos secundários <input> da lista.

OBSERVAÇÃO

As setas de ordenação para cima e para baixo são adicionadas automaticamente quando o atributo ordered="true" é preenchido para o elemento de coleção no schema de dados.

Por padrão, os botões da barra de ferramentas estão alinhados verticalmente. Os botões também podem ser alinhados horizontalmente:

<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter">
  <input xpath="@name"/>
  <input xpath="@number"/>
</input>

O atributo toolbarCaption força o alinhamento horizontal da barra de ferramentas e preenche o título acima da lista.

OBSERVAÇÃO

Para que o rótulo do elemento de coleção não seja exibido à esquerda do controle, adicione o atributo nolabel="true".

Ampliação de uma lista

A inserção e a edição de dados de uma lista podem ser realizadas em um formulário de edição separado.

Os formulários de edição em listas são usados nos seguintes casos:

  • Para facilitar a entrada das informações,
  • Presença de um controle de várias linhas,
  • As colunas na lista contêm apenas os campos principais e o formulário exibe todos os campos do elemento de coleção.

<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter" zoom="true" zoomOnAdd="true">
  <input xpath="@name"/>
  <input xpath="@number"/>

  <form colcount="2" label="Editing a chapter">
    <input xpath="@name"/>
    <input xpath="@number"/>
    <input colspan="2" xpath="page"/>
  </form>
</input>

A definição do formulário de edição é especificada por meio do elemento <form> sob o element list Sua estrutura é idêntica à estrutura de um formulário de entrada.

Um botão Detail é adicionado automaticamente quando o atributo zoom="true" é inserido na definição da lista. Isso permite abrir o formulário de edição na linha selecionada.

OBSERVAÇÃO

A adição do atributo zoomOnAdd="true" força o formulário de edição a ser chamado na inserção de um elemento da lista.

Lista de guias

Esta lista apresenta a edição de elementos de coleção no formulário de guias.

<container toolbarCaption="List of chapters" type="notebooklist" xpath="chapter" xpath-label="@name">
  <container colcount="2">
    <input xpath="@name"/>
    <input xpath="@number"/>
    <input colspan="2" xpath="page"/>
  </container>
</container>

O controle de lista deve ser preenchido com o atributo type="notebooklist" e o caminho da lista deve fazer referência ao elemento de coleção.

O título da guia contém o valor dos dados inseridos pelo atributo xpath-label.

Os controles de edição devem ser declarados em um elemento <container> que se origina do controle de lista.

Use os botões da barra de ferramentas para adicionar ou excluir elementos da lista.

OBSERVAÇÃO

As setas de ordenação esquerda e direita são adicionadas automaticamente quando o atributo ordered="true" é preenchido para o elemento de coleção no schema de dados.

Containers

Os containeres permitem agrupar um conjunto de controles. Eles existem por meio do elemento <container>. Eles já foram usados para formatar controles em várias colunas e para o controle da lista de guias.

Para obter mais informações sobre containeres e como usá-los em formulários de entrada, consulte esta seção.

Edição de formulários

A zona de edição permite inserir o conteúdo XML do formulário de entrada:

A guia Preview permite exibir o formulário de entrada:

Leia mais sobre edição de formulários e estrutura de formulário.

Nesta página