Tipos complejos

Las declaraciones de elementos del esquema XML pueden tener tipos simples o complejos. Las declaraciones de atributos pueden tener tipos simples. En general, se asignan elementos con tipos y atributos simples a los campos de Designer. Los elementos con tipos complejos contienen otros elementos y atributos, o atributos y, generalmente, se asignan a los subformularios.

Los tipos complejos se utilizan para definir todos los demás elementos. Los tipos complejos pueden definir el contenido del elemento, el contenido mixto, el contenido simple y el contenido vacío.

Cualquier elemento de tipo complejo puede o no declarar atributos.

Cómo se genera un subformulario a partir del contenido del elemento en un origen de datos

Un elemento que tiene solo un contenido de elemento y opcionalmente, atributos generará un subformulario cuando se arrastre a un diseño de formulario.

Este subformulario contendrá los objetos para cada atributo declarado en el elemento y los objetos o subformularios para cada elemento secundario.

Contenido simple

El contenido simple es donde se declara un elemento que tenga contenido simple (datos de texto) y puede también declarar atributos. En caso de que el elemento no declare atributos, la asignación es la misma que la de los elementos simples.

Cuando se declaran atributos, la asignación para los elementos se hace a un subformulario que se denominará con el nombre del elemento. Este subformulario contendrá un campo enlazado al elemento y los campos adicionales para cada atributo. El nombre del campo enlazado al elemento será el nombre del elemento con la cadena "_data" anexada a él. Un ejemplo de este tipo es un elemento (por ejemplo, <phone>) que tiene un contenido numérico y un atributo llamado type:

<phone type="work">5554567</phone>

Este generará un subformulario llamado phone, que contiene objetos llamados type y phone_data. El objeto type está enlazado a $data...phone.type, el campo phone_data está enlazado a $data...phone.

Contenido mixto

El contenido mixto existe cuando se declara que un elemento contenga una mezcla de elementos secundarios y contenido de texto.

Contenido vacío

Los tipos complejos con contenido vacío se tratarán como los de contenido simple, en el cual el objeto que se crea y se enlaza al elemento no puede tener contenido.

Incidencia

Los atributos de incidencia del esquema XML (minOccurs y maxOccurs) de las declaraciones de elementos, que generan subformularios, se asignarán a las propiedades de repetición del subformulario.

Modelos de contenido

En donde el modelo de contenido para el elemento secundario de un elemento es cualquier cosa excepto una secuencia, las asignaciones intentarán modelar la selección y todos los grupos empleando subformSets.