Comprensión del Modelo de objetos de formulario XML

DOM es una interfaz independiente de la plataforma y del lenguaje que permite a los programas y las secuencias de comandos acceder y actualizar de forma dinámica el contenido, la estructura y el estilo de un documento. Los modelos de objetos de documento suelen utilizarse con datos expresados en XML.

Todos los modelos DOM utilizados en el Modelo de objetos de formulario XML comparten las siguientes características:

  • Tienen una estructura estricta en forma de árbol.

  • Un nodo puede tener elementos secundarios obligatorios. En tales casos, los nodos secundarios obligatorios se crean a la vez que su elemento principal.

  • Los elementos secundarios no obligatorios de cada nodo del árbol se ordenan por antigüedad. Es decir, DOM conoce el orden en que se agregaron los nodos secundarios no obligatorios.

    Para cada paso del procesamiento de formularios, hay un DOM que contiene las estructuras de datos de dicha etapa. Las secuencias de comandos pueden examinar y modificar cada DOM. Los DOM son responsables de mantener la coherencia interna, pero no la coherencia externa. Por ejemplo, cuando una secuencia de comandos activa un botón de radio mediante la asignación del campo correspondiente, los demás botones acoplados a ése se desactivan automáticamente. Al tratarse de una cuestión de coherencia interna, lo administra el propio DOM de formulario (Form).

    En contraste, el DOM de datos (Data) no hace nada para impedir que una secuencia de comandos infrinja las normas de XML, por ejemplo al asignar a un objeto dos propiedades con el mismo nombre. Ésta es una cuestión de coherencia externa, por lo que es responsabilidad del creador de la secuencia de comandos, no del DOM.

    Cada vez que se combina un diseño de formulario con datos, se utiliza el Modelo de objetos de formulario XML para facilitar el proceso de combinar la plantilla y los datos para crear el formulario resultante. Este proceso comienza por utilizar las representaciones del DOM de XML existente del diseño de formulario y los datos XML para crear modelos independientes. Estos modelos independientes almacenan una representación estructurada del diseño de formulario original y los datos XML originales. El DOM de plantilla (Template) corresponde al diseño de formulario y el DOM de datos (Data) corresponde a los datos XML proporcionados por el usuario.

    Después de crear los modelos de plantilla y datos, se crea un tercer modelo, el DOM de formulario (Form), que representa la información combinada. El DOM de formulario actúa como medio para combinar los valores específicos de los datos XML con las normas de presentación definidas en el diseño de formulario.

    Si se crea un formulario interactivo, una vez creado el DOM de formulario, el formulario está completo y listo para su distribución a los usuarios. Los diseños de formulario interactivos pueden tener datos asociados con los que se combinan, pero la mayoría de los formularios interactivos se diseñan para admitir datos especificados por el usuario.

    El proceso que incluye hasta la creación del DOM de formulario es idéntico para todos los formularios. Sin embargo, los formularios no interactivos tienen un conjunto de datos para combinar con el diseño de formulario. En el caso de formularios con una presentación fija, la combinación de datos no determina las normas de presentación del formulario; es decir, los datos se combinan en los campos correspondientes sin modificar las propiedades de éstos. En contraste, cuando los datos se combinan con formularios que tienen una presentación flexible, los campos se ajustan para adaptarse a la cantidad de datos combinados en ellos.

    El DOM de formulario para los formularios con presentaciones fija y flexible tiene un aspecto muy similar; es un solo formulario largo sin paginación. Cuando los datos y las normas de presentación se aplican a estos tipos de formularios, el formato debe adaptarse a la información de presentación. Un DOM de presentación (Layout) se crea a partir del DOM de formulario que estructura el formulario en páginas y aplica otras normas basadas en página, como la numeración de páginas, encabezados y pies. En el siguiente diagrama se describe este proceso.

    Después de aplicar las normas de presentación a los formularios con una presentación flexible, ambos tipos de formulario están completos.

DOM del Modelo de objetos de formulario XML

Modelo connectionSet

El modelo connectionSet controla un esquema de datos así como un origen de datos que se utilizan en un formulario determinado. Este modelo describe conexiones a un esquema XML, datos XML de ejemplo o servicios Web. Con el modelo connectionSet, es posible extraer los detalles, por ejemplo, una dirección URL para datos WSDL o un esquema de referencia con fines de creación de informes.

El modelo connectionSet consta de los siguientes objetos:

Modelo de datos

El modelo Data es la representación en memoria de los datos de usuario. Cuando un diseño de formulario y los datos se combinan mediante el proceso de enlace de datos, el modelo de datos proporciona el contenido para los campos del formulario final.

Con este modelo se puede acceder los datos de uno de los siguientes orígenes y manipularlos:

Modelo de suceso

El modelo Event controla los cambios de un formulario que tienen lugar antes y después de que se produzcan determinadas acciones y en el transcurso de las mismas. Las acciones incluyen sucesos de formulario dinámicos, como el punto en el que se combinan los datos y el diseño de formulario antes de que se aplique la paginación, así como sucesos de formulario interactivos, como la actualización del valor de un campo por parte de un usuario.

El modelo Event consta de los siguientes objetos:

Modelo de formulario

El modelo Form es la representación en memoria de los modelos Template y Data combinados. Con este modelo se puede influir en el aspecto del formulario, ajustar los valores de campo o realizar otros cambios antes de mostrar a un usuario el formulario terminado o procesar el formulario en el modelo Layout.

Las secuencias de comandos se ejecutan de forma predeterminada en el modelo Form; por lo tanto, no es necesario especificar el modelo Form en la sintaxis de referencia.

El modelo Form consta de los siguientes objetos:

Modelo de host

El modelo Host proporciona un conjunto de propiedades y métodos para trabajar en el nivel de aplicación. Estas propiedades y métodos están disponibles para las secuencias de comandos con independencia de la aplicación host.

El modelo Host consta de los siguientes objetos:

Modelo de presentación

El modelo Layout es la representación en memoria de un formulario tras su combinación con los datos. Esta representación es la presentación final de un formulario.

El modelo Layout consta de los siguientes objetos:

Modelo de firma

El modelo Signature proporciona un conjunto de métodos para trabajar con firmas digitales XML conforme a la norma sobre firma XML de W3C (http://www.w3.org/TR/xmldsig-core/). Permite especificar comandos de secuencia de comandos para firmar, borrar, enumerar y verificar firmas.

El modelo Signature consta de los siguientes objetos:

Modelo sourceSet

El modelo sourceSet proporciona una conexión entre una base de datos OLEDB externa y el modelo Data. Con este modelo se pueden controlar conexiones al origen de datos, además de administrar registros en el origen de datos.

El modelo sourceSet consta de los siguientes objetos:

Modelo XFA

El modelo XFA define el modelo de aplicación que utiliza Designer para implementar el Modelo de objetos de formulario XML. El modelo de aplicación es el modelo base del que se derivan los demás modelos.

El modelo XFA consta de los siguientes objetos:

packet

xfa