Modelo de XForms

El modelo de XForms define un plantilla para definir los datos en el formulario.

Marco de XForms

El propósito del formulario HTML es recopilar datos. El propósito de XForms es el mismo.

A través de XForms, los datos de entrada se describen en dos partes diferentes:

  • Modelo de XForms (descripción de datos y lógica)
  • Interfaz de usuario de XForms (visualización e ingreso de datos)

Modelo de XFormsDefine qué es un formulario, qué datos contiene y qué debe hacer.

Interfaz de usuario de XFormsDefine los dominios de entrada y cómo se deben mostrar.

Modelo de XForms

XForms ModeloUsado paraDescripciónDatos.

El modelo de datos es una instancia de documento XML (un plantilla).

El modelo de XForms define un modelo de datos dentro de un elemento <model>:

<model>
<instance>
  <person>
    <fname/>
    <lname/>
  </person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>

A partir de los ejemplos anteriores, puede ver que el modelo XForms utiliza un <instance> elementos para definir una plantilla XML para los datos que se deben recopilar, y usar una <submission> elementos para describir cómo se envían los datos.

El modelo <submission> utilizaNo hayExpresar cualquier información relacionada con la parte visible del formulario (interfaz de usuario).

Espacio de nombres de XForms

Si olvidó los ejemplos de espacio de nombres de XForms o si no está familiarizado con el concepto de espacio de nombres, trataremos este tema en la sección siguiente.

El elemento <instance>

Modelo de XForms <instance> elementos para definir los datos que se recopilan.

XForms esRecopilar datos para un documento XMLEn este modelo XForms, el elemento <instance> define este documento XML.

En el ejemplo anterior, el formulario recopila datos de una instancia de datos (documento XML) similar a esta:

<person>
  <fname/>
  <lname/>
</person>

Después de que se complete la recopilación de datos, este documento XML puede parecer así:

<person>
  <fname>John</fname>
  <lname>Smith</lname>
</person>

El elemento <submission>

El modelo XForms utiliza <submission> elementos para describir cómo se envían los datos.

El elemento <submission> puede definir el formulario y cómo se envía el formulario. En el ejemplo anterior,id="form1" Se utiliza para identificar este formulario,action="submit.asp" La propiedad define la URL a la que se envía el formulario, mientras que property="get" La propiedad define el método utilizado durante el proceso de envío del formulario.

Interfaz de usuario de XForms

XForms Interfaz de usuarioUsado paraMostrar e ingresarDatos.

Los elementos de interfaz de usuario de XForms se denominanControlesO controles de entrada:

<input ref="fname"><label>Nombre</label></input>
<input ref="lname"><label>Apellido</label></input>
<submit submission="form1"><label>Enviar</label></submit>

En el ejemplo anterior, dos elementos <input> definen dos campos de entrada. Las propiedades ref="fname" y ref="lname" apuntan a los elementos <fname> y <lname> del modelo XForms.

La propiedad submission="form1" del elemento <submit> puede referirse al elemento <submission> del modelo XForms. El elemento submit generalmente se muestra como un botón.

Por favor, presto atención al elemento <label> en los ejemplos. Si se utiliza XForms, cada elemento de control de entrada debe tener un elemento <label>.

Necesitará un contenedor

XForms no fue diseñado para funcionar de manera independiente. No hay lo que se conoce como documento XForms.

XForms debe funcionar en otro documento XML. Puede ejecutarse en XHTML 1.0, y también funcionará en XHTML 2.0.

Ahora combinemos todo

Si los combinamos, el documento sería así:

<xforms>
<model>
<instance>
  <person>
    <fname/>
    <lname/>
  </person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>
<input ref="fname"><label>Nombre</label></input>
<input ref="lname"><label>Apellido</label></input>
<submit submission="form1"><label>Enviar</label></submit>
</xforms>

La página se mostrará así:

xforms_example

Procesador de XForms

Integrado en el navegador Procesador de XFormsSe encargará de presentar los datos de XForms al objetivo.

Los datos se pueden presentar como XML, algo así:

<person>
  <fname>David</fname>
  <lname>Smith</lname>
</person>

O presentar como texto, algo así:

fname=David;lname=Smith