A continuación, se muestran algunos principios generales relacionados con el uso de formularios de entrada en Adobe Campaign.
Los formularios se describen en esta sección.
El documento XML de un formulario de entrada debe contener el elemento raíz <form>
con los atributos name y namespace para rellenar, respectivamente, el nombre del formulario y su área de nombres.
<form name="form_name" namespace="name_space">
…
</form>
De forma predeterminada, un formulario está asociado al esquema de datos con el mismo nombre y área de nombres. Para asociar un formulario con otro nombre, introduzca la clave de esquema en el atributo entity-schema del elemento <form>
.
Para mostrar la estructura de un formulario de entrada, se describe una interfaz basada en el ejemplo de esquema “cus:book”:
Este es el formulario de entrada correspondiente:
<form name="book" namespace="cus" type="contentForm">
<input xpath="@name"/>
<input xpath="@date"/>
<input xpath="@language"/>
</form>
La descripción de los elementos de edición comienza con el elemento raíz <form>
.
Se introduce un control de edición en el elemento <input>
con el atributo xpath que contiene la ruta de acceso al esquema.
Aviso sobre la sintaxis XPath:
El lenguaje XPath se utiliza en Adobe Campaign para hacer referencia a un elemento o atributo perteneciente a un esquema de datos.
XPath es una sintaxis que permite localizar un nodo en el árbol de un documento XML.
Los elementos se designan por su nombre y los atributos se designan por el nombre precedido del carácter “@”.
Ejemplos:
<chapter>
: selecciona el atributo “title” en el elementoEl control de edición se adapta automáticamente al tipo de datos correspondiente y utiliza la etiqueta definida en el esquema.
De forma predeterminada, cada campo se muestra en una línea y ocupa todo el espacio disponible, en función del tipo de datos.
El formulario de entrada debe hacer referencia a un atributo type="contentForm" en el elemento <form>
para añadir automáticamente el marco necesario para introducir el contenido.
La disposición de unos controles en relación con los demás se parece a la disposición utilizada en las tablas HTML, con la posibilidad de dividir un control en varias columnas, de entrelazar elementos o de especificar la ocupación del espacio disponible. No obstante, tenga en cuenta que el formato solo autoriza para distribuir proporciones; no puede especificar dimensiones fijas para un objeto.
Para obtener más información, consulte esta sección.
Para editar un elemento de colección, debe utilizar un control de tipo lista.
Este control muestra una lista de columnas editable con una barra de herramientas que contiene los botones Añadir y Eliminar.
<input xpath="chapter" type="list">
<input xpath="@name"/>
<input xpath="@number"/>
</input>
El control de lista debe rellenarse con el atributo type="list" y la ruta de la lista debe hacer referencia al elemento de colección.
Las columnas se declaran mediante los elementos secundarios <input>
de la lista.
Las flechas de ordenación hacia arriba y hacia abajo se agregan automáticamente cuando se completa el atributo ordered="true" para el elemento de colección en el esquema de datos.
De forma predeterminada, los botones de la barra de herramientas se alinean verticalmente. También pueden alinearse horizontalmente:
<input nolabel="true" toolbarCaption="List of chapters" type="list" xpath="chapter">
<input xpath="@name"/>
<input xpath="@number"/>
</input>
El atributo toolbarCaption fuerza la alineación horizontal de la barra de herramientas y rellena el título sobre la lista.
Para que la etiqueta de elemento de colección no se muestre a la izquierda del control, agregue el atributo nolabel="true".
Los datos de la lista se pueden insertar y editar en un formulario de edición por separado.
La edición de formularios dentro de listas se utiliza en los siguientes casos:
<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>
La definición del formulario de edición se especifica mediante el elemento <form>
debajo del elemento de lista. Su estructura es idéntica a la estructura de un formulario de entrada.
Se añade automáticamente un botón Detail cuando se introduce el atributo zoom="true" en la definición de la lista. Esto permite abrir el formulario de edición en la línea seleccionada.
Si se añade el atributo zoomOnAdd="true", este obliga a insertar un elemento de la lista en el formulario de edición.
Esta lista presenta la edición de los elementos de colección en forma de pestañas.
<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>
El control de lista debe rellenarse con el atributo type="notebooklist" y la ruta de la lista debe hacer referencia al elemento de colección.
El título de la pestaña contiene el valor de los datos introducidos mediante el atributo xpath-label.
Los controles de edición deben declararse en un elemento <container>
que sea un elemento secundario al control de lista.
Utilice los botones de la barra de herramientas para añadir o eliminar elementos de la lista.
Las flechas de orden a la izquierda y derecha se añaden automáticamente cuando el atributo ordered="true" se rellena para el elemento de recolección en el esquema de datos.
Los contenedores permiten agrupar un conjunto de controles. Se utilizan a través del elemento <container>
. Ya se han utilizado para dar formato a los controles en varias columnas y para el control de la lista de pestañas.
Para obtener más información sobre los contenedores y cómo utilizarlos en los formularios de entrada, consulte esta sección.
La zona de edición permite introducir el contenido XML del formulario de entrada:
La pestaña Preview le permite ver el formulario de entrada:
Más información acerca de la edición de formularios y la estructura de los formularios.