XFormas

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Formato XML para crear Formularios web

XForms es un formato XML utilizado para recopilar entradas de formularios web. XForms fue diseñado para ser la próxima generación de formularios HTML/XHTML, pero es lo suficientemente genérico como para que también pueda usarse de manera independiente o con lenguajes de presentación distintos de XHTML para describir una interfaz de usuario y un conjunto de tareas comunes de manipulación de datos.

XForms 1.0 (tercera edición) se publicó el 29 de octubre de 2007. La especificación original de XForms se convirtió en una recomendación oficial del W3C el 14 de octubre de 2003, mientras que XForms 1.1, que introdujo una serie de mejoras, alcanzó el mismo estado el 20 de octubre de 2009.

Diferencias con los formularios web

A diferencia de los formularios web originales (originalmente definidos en HTML), los creadores de XForms han utilizado un enfoque modelo-vista-controlador (MVC). El modelo consta de uno o más modelos XForms que describen los datos del formulario, las restricciones sobre esos datos y los envíos. La vista describe qué controles aparecen en el formulario, cómo se agrupan y a qué datos están vinculados. CSS se puede utilizar para describir la apariencia de un formulario.

Un documento XForms puede ser tan simple como un formulario web (especificando solo el elemento de envío en la sección del modelo y colocando los controles en el cuerpo), pero XForms incluye muchas características avanzadas. Por ejemplo, se pueden solicitar y utilizar nuevos datos para actualizar el formulario mientras se está ejecutando, de forma muy parecida a utilizar XMLHttpRequest/AJAX, excepto que no se utilizan secuencias de comandos. El autor del formulario puede validar los datos del usuario con tipos de datos de esquema XML, requerir ciertos datos, deshabilitar controles de entrada o cambiar secciones del formulario según las circunstancias, imponer relaciones particulares entre datos, ingresar matrices de datos de longitud variable, generar valores calculados derivados de los datos del formulario., complete previamente las entradas utilizando un documento XML, responda a las acciones en tiempo real (en lugar de en el momento del envío) y modifique el estilo de cada control según el dispositivo en el que se muestran (navegador de escritorio versus móvil versus solo texto, etc.). A menudo no es necesario ningún script con lenguajes como JavaScript. Sin embargo, XForms incluye un modelo de eventos y acciones para implementar comportamientos de formularios más complejos. Las acciones y el manejo de eventos se especifican utilizando el dialecto XML de XForms en lugar de lenguajes de secuencias de comandos más comunes como JavaScript.

Al igual que los formularios web, XForms puede utilizar varios protocolos de envío que no son XML (multipart/form-data, application/x-www-form-urlencoded), pero una nueva característica es que XForms puede enviar datos a un servidor en formato XML.. Los documentos XML también se pueden utilizar para completar previamente los datos en el formulario. Debido a que XML es un estándar, existen muchas herramientas que pueden analizar y modificar datos al enviarlos. También existen herramientas similares para formularios heredados. XForms es en sí mismo un dialecto XML y, por lo tanto, puede crear y crearse a partir de otros documentos XML utilizando XSLT. Mediante transformaciones, XForms se pueden crear automáticamente a partir de esquemas XML y XForms se pueden convertir a formularios XHTML.

Soporte de software

En el momento de escribir este artículo, ningún navegador web ampliamente utilizado admite XForms de forma nativa. Sin embargo, existen varios complementos de navegador, extensiones del lado del cliente y soluciones de servidor/cliente. A continuación se enumeran algunas implementaciones:

  • La extensión Firefox XForms fue parte del Proyecto Mozilla. XForms 1.0 SE soporte no es completo pero cubre la mayoría de la especificación con una excepción notable de repetición basada en atributos utilizado en tablas HTML. La extensión estaba disponible tanto para Firefox 2 y Firefox 3, pero no se actualiza para apoyar Firefox 4 y superior. En julio de 2011 el desarrollador principal escribió que el soporte XForms ya no se actualizaría. El soporte para XForms fue eventualmente deprecado en Firefox 19.
  • IBM Lotus Forms apoya el desarrollo y la implementación de formas XML puras basadas en XForms. Las descargas de prueba están disponibles en un entorno de diseño visual basado en Eclipse y un visor cliente que puede ejecutar formas basadas en XForms tanto en el navegador web como en una aplicación de escritorio independiente.
  • OpenOffice.org versiones 2.0 y mayor soporte de LibreOffice XForms.

Tecnologías de implementación comparadas

FormFaces, AJAXForms, XSLTForms, betterFORM, Chiba, Orbeon y Smartsite Forms se basan en la tecnología Ajax. La cantidad de procesamiento del lado del servidor y del lado del cliente varía entre estas implementaciones. Por ejemplo, Ubiquity XForms, FormFaces y XSLTForms proporcionan procesamiento 100% del lado del cliente de XForms y actualizaciones del modelo de datos a través del procesamiento Ajax puro en el estándar XForms. Los otros utilizan Java/.NET XForms del lado del servidor para procesar la transcodificación al marcado Ajax antes de entregar el contenido al navegador. Ambas técnicas pueden funcionar en todos los navegadores. Cada implementación es significativamente diferente con respecto a dependencias, escalabilidad, rendimiento, licencias, madurez, tráfico de red, capacidad fuera de línea y compatibilidad entre navegadores. Los arquitectos de sistemas deben evaluar estas limitaciones frente a sus necesidades para determinar los riesgos y objetivos potenciales.

Los complementos como FormsPlayer y otras tecnologías del lado del cliente también pueden tener algunos beneficios: debido a que se integran en el navegador, funcionarán con arquitecturas de servidor existentes, pueden tener más capacidad de respuesta y requieren menos búsquedas del servidor.

La compensación entre las soluciones de complemento del lado del servidor y del cliente es dónde se mantiene el software; Cada cliente debe instalar el complemento requerido o la arquitectura del servidor debe cambiar para adaptarse a la tecnología del lenguaje del motor transcodificador XForms. En teoría, es posible combinar ambas soluciones, por ejemplo, probar el navegador para una implementación de XForms del lado del cliente y servir XForms nativos en ese caso, y optar por una solución de servidor de forma predeterminada en otros casos.

Ubiquity XForms, FormFaces y XSLTForms proporcionan una solución de "software" solución en el cliente o en el servidor: no es necesario instalar ningún software nuevo en el cliente y la solución se puede utilizar junto con cualquier arquitectura del lado del servidor. Esto es posible porque FormFaces y Ubiquity XForms están escritos 100% en Ajax y porque XSLTForms está escrito en XSLT y en Ajax. La desventaja es que, en comparación con otras soluciones, inicialmente se descarga más código en el cliente (el código se puede almacenar en caché en el cliente) y FormFaces aún no admite la validación de esquemas XML. Además, los envíos de XForms con reemplazo de "todos" Por lo general, este comportamiento no resultará en reemplazos de páginas reales y, por lo tanto, interrumpirá el comportamiento normal del botón Atrás.

Arquitectura de aplicación XRX

Debido a que XForms facilita la edición de datos XML complejos, existen muchas ventajas al usar XForms con bases de datos XML nativas que frecuentemente aprovechan las interfaces REST. La combinación de tres tecnologías (XForms en el cliente, interfaces REST y XQuery en el servidor) se conoce colectivamente como desarrollo de aplicaciones XRX. XRX es conocido por su arquitectura simple que utiliza XML tanto en el cliente como en la base de datos y evita las transformaciones a estructuras de datos relacionales o de objetos. Consulte "XRX: simple, elegante, disruptivo".

XForms para dispositivos móviles

Beneficios

XForms proporciona beneficios específicos cuando se utiliza en dispositivos móviles:

  • Las interfaces de usuario usando XForms requieren menos viajes redondos con el servidor y son en ese sentido más autocontenidos que las interfaces de usuario usando formularios HTML 4.
  • Las capacidades de los dispositivos móviles varían mucho; por lo tanto, la cantidad de trabajo involucrado en la generación de diferentes interfaces de usuario para diferentes dispositivos es de especial preocupación en el mundo móvil. XForms ha sido diseñado desde el suelo para permitir que los formularios sean descritos independientemente del dispositivo, lo que reduce la cantidad de trabajo necesaria para apuntar múltiples dispositivos.
  • XForms reduce la necesidad de JavaScript, que es particularmente interesante ya que el soporte de JavaScript varía mucho en dispositivos móviles y no puede ser ampliamente utilizado. Esto también permite que los sistemas en los que JavaScript está deshabilitado para que las preocupaciones de seguridad continúen funcionando de forma impecable.

Implementaciones

ODK

ODK es una plataforma de recopilación de datos móviles de código abierto que utiliza un subconjunto de W3C XForms 1.0 llamado ODK XForms. ODK proporciona bibliotecas de procesamiento ODK XForms en Java (JavaRosa) y JavaScript (enketo-core).

Xfolite

Xfolite es un cliente XForms liviano para la plataforma J2ME. Fue creado originalmente en el Centro de Investigación de Nokia e incluye una implementación DOM y XPath 1.0, así como un motor XForms que implementa la especificación XForms 1.1 casi por completo. XFolite se lanzó como software beta y no debe considerarse listo para su uso en producción como tal. Sin embargo, contiene un motor XForms maduro que ha sido diseñado para funcionar con diferentes implementaciones de UI. Sin embargo, los esquemas XML y CSS están fuera del alcance del proyecto. Xfolite es de código abierto y tiene la licencia LGPL, pero no se está desarrollando activamente.

Contenido relacionado

Nombres de colores X11

Los nombres de colores no están estandarizados por Xlib o el protocolo X11. La lista no muestra continuidad ni en los valores de los colores seleccionados ni...

Subportadora

Una subportadora es una banda lateral de una onda portadora de radiofrecuencia, que se modula para enviar información adicional. Los ejemplos incluyen la...

LyX

LyX es un procesador de documentos de interfaz gráfica de usuario de código abierto basado en el sistema de composición tipográfica LaTeX. A diferencia de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save