Articulo de referencia

Transformaciones

XForms es un formato XML que se utiliza para recopilar datos de formularios web . XForms fue diseñado para ser la próxima generación de formularios HTML / XHTML , pero es lo suf...

XForms es un formato XML que se utiliza para recopilar datos 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 poder utilizarse de forma independiente o con otros 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 varias mejoras, alcanzó el mismo estatus el 20 de octubre de 2009.

Diferencias con los formularios web

A diferencia de los formularios web originales (definidos inicialmente en HTML), los creadores de XForms emplearon un enfoque de modelo-vista-controlador (MVC). El modelo consta de uno o más modelos XForms que describen los datos del formulario, las restricciones sobre dichos 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. Se puede utilizar CSS para describir la apariencia de un formulario.

Un documento XForms puede ser tan simple como un formulario web (especificando únicamente el elemento de envío en la sección del modelo y colocando los controles en el cuerpo), pero XForms incluye muchas funciones avanzadas. Por ejemplo, se pueden solicitar nuevos datos y utilizarlos para actualizar el formulario mientras se ejecuta, de forma similar a como se usa XMLHttpRequest / AJAX , pero sin necesidad de scripts. El autor del formulario puede validar los datos del usuario con respecto a los tipos de datos del esquema XML , requerir ciertos datos, deshabilitar controles de entrada o cambiar secciones del formulario según las circunstancias, imponer relaciones específicas entre los datos, ingresar matrices de datos de longitud variable, generar valores calculados derivados de los datos del formulario, rellenar previamente las entradas mediante un documento XML, responder a las acciones en tiempo real (en lugar de al momento del envío) y modificar el estilo de cada control según el dispositivo en el que se muestre (navegador de escritorio, móvil, solo texto, etc.). A menudo no es necesario utilizar scripts con lenguajes como JavaScript. Sin embargo, XForms incluye un modelo de eventos y acciones para implementar comportamientos de formulario más complejos. [ 1 ] Las acciones y el manejo de eventos se especifican utilizando el dialecto XML de XForms en lugar de lenguajes de scripting más comunes como JavaScript.

Al igual que los formularios web, XForms puede usar 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 usar para rellenar previamente los datos del formulario. Dado que XML es un estándar, existen muchas herramientas que pueden analizar y modificar los 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 ser creado a partir de otros documentos XML usando XSLT . Mediante transformaciones, XForms se puede crear automáticamente a partir de esquemas XML y se puede convertir a formularios XHTML.

Soporte de software

En el momento de redactar este texto, ningún navegador web de uso generalizado admite XForms de forma nativa. Sin embargo, existen diversos complementos para navegadores, extensiones del lado del cliente y soluciones cliente/servidor. A continuación se enumeran algunas implementaciones:

  • La extensión Firefox XForms formaba parte del Proyecto Mozilla. [ 2 ] La compatibilidad con XForms 1.0 SE no es completa, pero cubre la mayor parte de la especificación, con la notable excepción de la repetición basada en atributos utilizada en tablas HTML. La extensión estaba disponible para Firefox 2 y Firefox 3, pero no se actualizó para admitir Firefox 4 y versiones posteriores. En julio de 2011, el desarrollador principal escribió que la compatibilidad con XForms ya no se actualizaría. [ 3 ] La compatibilidad con XForms finalmente se dejó de usar en Firefox 19. [ 4 ]
  • IBM Lotus Forms admite el desarrollo y la implementación de formularios XML puros basados ​​en XForms. Se pueden descargar versiones de prueba de un entorno de diseño visual basado en Eclipse y un visor del lado del cliente que permite ejecutar formularios basados ​​en XForms tanto en el navegador web como en una aplicación de escritorio independiente.
  • Las versiones 2.0 y posteriores de OpenOffice.org y LibreOffice son compatibles con XForms. [ 5 ] [ 6 ]

Comparación de las tecnologías de implementación

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 ofrecen un procesamiento del lado del cliente 100 % XForms y actualizaciones del modelo de datos mediante procesamiento Ajax puro sobre el estándar XForms. Las demás utilizan procesamiento Java/.NET XForms del lado del servidor, transcodificando a marcado Ajax antes de entregar el contenido al navegador. Ambas técnicas funcionan en diferentes navegadores. Cada implementación es significativamente diferente en cuanto a dependencias, escalabilidad, rendimiento, licencias, madurez, tráfico de red, capacidad sin conexión y compatibilidad entre navegadores. Los arquitectos de sistemas deben evaluar estas limitaciones en función de 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 algunas ventajas: al integrarse en el navegador, funcionan con las arquitecturas de servidor existentes, pueden ser más receptivos y requieren menos solicitudes al servidor.

La disyuntiva entre las soluciones de servidor y las de complementos del cliente radica en el mantenimiento del software: o bien cada cliente debe instalar el complemento necesario, o bien la arquitectura del servidor debe modificarse para adaptarse a la tecnología del motor de transcodificación XForms. En teoría, es posible combinar ambas soluciones; por ejemplo, probar el navegador para detectar una implementación XForms del lado del cliente y servir XForms nativo en ese caso, y recurrir a una solución de servidor en los demás casos.

Ubiquity XForms, FormFaces y XSLTForms ofrecen una solución sin software adicional, tanto en el cliente como en el servidor: no es necesario instalar ningún software nuevo en el cliente y la solución puede utilizarse con cualquier arquitectura del lado del servidor. Esto es posible gracias a que FormFaces y Ubiquity XForms están escritos completamente en Ajax, y a que XSLTForms está escrito en XSLT y Ajax. La desventaja es que, en comparación con otras soluciones, se descarga inicialmente más código en el cliente (aunque el código puede almacenarse 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 la opción "reemplazar todo" normalmente no generan reemplazos de página reales y, por lo tanto, alteran el funcionamiento normal del botón de retroceso.

Arquitectura de la aplicación XRX

Dado que XForms facilita la edición de datos XML complejos, su uso con bases de datos XML nativas que frecuentemente utilizan interfaces REST ofrece numerosas ventajas. La combinación de estas tres tecnologías (XForms en el cliente, interfaces REST y XQuery en el servidor) se conoce como desarrollo de aplicaciones XRX . XRX se caracteriza por su arquitectura sencilla, 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. Véase « XRX: Simple, Elegante, Revolucionario ».

XForms para dispositivos móviles

Beneficios

XForms ofrece ventajas específicas cuando se utiliza en dispositivos móviles:

  • Las interfaces de usuario que utilizan XForms requieren menos intercambios de datos con el servidor y, en ese sentido, son más autónomas que las interfaces de usuario que utilizan formularios HTML 4.
  • Las capacidades de los dispositivos móviles varían enormemente; por consiguiente, la cantidad de trabajo que implica generar diferentes interfaces de usuario para distintos dispositivos es una preocupación importante en el mundo móvil. XForms se ha diseñado desde cero para permitir que los formularios se describan independientemente del dispositivo, lo que reduce la cantidad de trabajo necesaria para adaptarlos a múltiples dispositivos.
  • XForms reduce la necesidad de JavaScript, lo cual resulta especialmente interesante dado que la compatibilidad con JavaScript varía considerablemente entre dispositivos móviles y no siempre es fiable. Esto también permite que los sistemas en los que JavaScript está deshabilitado por motivos de seguridad sigan funcionando sin problemas.

Implementaciones

ODK

ODK [ 7 ] 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. [ 8 ] ODK proporciona bibliotecas de procesamiento ODK XForms en Java ( JavaRosa ) y JavaScript ( enketo-core ).

Xfolite

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

Véase también

Referencias

  1. Pemberton, Steven (junio de 2014). "Datos XML en tiempo real" . XML London 2014 : 96–102 . doi : 10.14337/XMLLondon14.Pemberton01 . ISBN 978-0-9926471-1-7.
  2. Mozilla: Proyecto Mozilla XForms - Descargar . Consultado el 12 de marzo de 2013.
  3. Philipp Wagner: El futuro de Mozilla XForms Archivado el 17 de septiembre de 2011 en Wayback Machine , 13 de julio de 2011
  4. Mozilla Developer Network (MDN): XForms Archivado el 2 de marzo de 2013 en Wayback Machine . Consultado el 12 de marzo de 2013.
  5. Apache OpenOffice:Consultado el 24 de mayo de 2020.
  6. The Document Foundation: Documentos de formulario XML (XForms) . Consultado el 12 de marzo de 2013.
  7. «ODK - Recopila datos en cualquier lugar» . getodk.org .
  8. "Especificación ODK XForms" .
  • XForms 1.1 - Recomendación del W3C, 20 de octubre de 2009 .
  • Raman, TV (2004). XForms: Formularios web basados ​​en XML . Boston: Addison-Wesley . ISBN 0-321-15499-1.
  • Dubinko, Micah (2003). XForms Essentials . Sebastopol, CA; Farnham: O'Reilly & Associates . ISBN 0-596-00369-2Archivado del original el 15 de septiembre de 2008. Consultado el 24 de abril de 2005 .
  • Recursos de XForms en W3C
    • El grupo de la comunidad de usuarios de XForms
    • Preguntas frecuentes sobre XForms 1.0
    • XForms 1.1 fue una recomendación del W3C el 20 de octubre de 2009.
    • Borrador de trabajo de XForms 2.0
    • XForms 2.0: Módulo de expresiones XPath
    • Una breve introducción a XForms para autores de HTML por Steven Pemberton
    • Guía de referencia rápida de XForms 1.1
    • Implementaciones de XForms
    • El Grupo de Trabajo sobre Formularios (de interés histórico)
    • XForms 1.0 (Tercera Edición) fue una recomendación del W3C el 29 de octubre de 2007.
  • Formularios XSLT
  • Formularios X de Smartsite
Obtenido de " https://en.wikipedia.org/w/index.php?title=XForms&oldid=1307334917#Implementation_technologies_compared "