158:, AJAXForms, XSLTForms, betterFORM, Chiba, Orbeon and Smartsite Forms are based on Ajax technology. The amount of server-side and client-side processing varies between these implementations. For example, Ubiquity XForms, FormFaces and XSLTForms provide 100% XForms client-side processing and data model updates via pure Ajax processing on the XForms standard. The others use server-side Java/.NET XForms processing transcoding to Ajax markup prior to delivering the content to the browser. Both techniques can work across browsers. Each implementation is significantly different with respect to dependencies, scalability, performance, licensing, maturity, network traffic, offline capability, and cross browser compatibility. System architects should evaluate these constraints against their needs to determine potential risks and objectives.
208:
89:
actions in real time (versus at submission time), and modify the style of each control depending on the device they are displayed on (desktop browser versus mobile versus text only, etc.). There is often no need for any scripting with languages such as JavaScript. However, XForms does include an event model and actions for implementing more complex form behaviors. Actions and event handling are specified using the XForms XML dialect rather than more common scripting languages like JavaScript.
170:
written 100% in Ajax and because XSLTForms is written in XSLT and in Ajax. The tradeoff is that compared to other solutions, more code is initially downloaded to the client (code can be cached on the client), and FormFaces does not yet support XML Schema validation. Furthermore, XForms submissions with replace "all" behaviour will typically not result in true page replacements and therefore break the normal back button behaviour.
100:), but a new feature is that XForms can send data to a server in XML format. XML documents can also be used to prefill data in the form. Because XML is a standard, many tools exist that can parse and modify data upon submission. Similar tools for legacy forms also exist. XForms is itself an XML dialect, and therefore can create and be created from other XML documents using
292:
not be considered ready for production use as such. However, it does contain a mature XForms engine that has been designed to work with different UI implementations. XML Schemas and CSS are outside project scope, however. Xfolite is open source and licensed under the LGPL license, but is not being actively developed further.
250:
Capabilities of mobile devices vary greatly; consequently the amount of the work involved in generating different user interfaces for different devices is of particular concern in the mobile world. XForms has been designed from the ground up to allow forms to be described independently of the device,
128:
XForms extension was part of the
Mozilla Project. XForms 1.0 SE support is not complete but covers most of the specification with a notable exception of attribute-based repeating used in HTML tables. The extension was available for both Firefox 2 and Firefox 3, but is not upgraded to support Firefox
75:
An XForms document can be as simple as a web form (by only specifying the submission element in the model section, and placing the controls in the body), but XForms includes many advanced features. For example, new data can be requested and used to update the form while it is running, much like using
88:
data types, require certain data, disable input controls or change sections of the form depending on circumstances, enforce particular relationships between data, input variable length arrays of data, output calculated values derived from form data, prefill entries using an XML document, respond to
291:
is a light-weight XForms client for the J2ME platform. It was originally created at Nokia
Research Center, and it includes a DOM and XPath 1.0 implementation as well as an XForms engine that implements the XForms 1.1 specification almost completely. XFolite was released as beta software and should
169:
Ubiquity XForms, FormFaces and XSLTForms provide a "zero software" solution on either the client or server: no new software needs to be installed on the client and the solution can be used in conjunction with any server-side architecture. This is possible because FormFaces and
Ubiquity XForms are
165:
The tradeoff between server-side and client plug-in solutions is where the software is maintained; either each client must install the required plug-in, or the server architecture must change to accommodate the XForms transcoder engine language technology. It is in theory possible to mix both of
254:
XForms reduces the need for JavaScript, which is particularly interesting as JavaScript support varies greatly on mobile devices and cannot be widely relied upon. This also allows systems on which JavaScript is disabled for security concerns to continue to operate
135:
supports development and deployment of XForms-based pure XML forms. Trial downloads are available of an
Eclipse-based visual design environment and a client-side viewer that can run XForms-based forms both in the web browser and as a standalone desktop
161:
Plugins like FormsPlayer and other client-side technology can have some benefits as well: because they integrate themselves into the browser, they will work with existing server architectures, can be more responsive, and require fewer server fetches.
68:(MVC) approach. The model consists of one or more XForms models describing form data, constraints upon that data, and submissions. The view describes what controls appear in the form, how they are grouped together, and what data they are bound to.
190:
application development. XRX is known for its simple architecture that uses XML both on the client and in the database and avoids the transformations to object or relational data structures. See "
166:
these solutions, for instance testing the browser for a client-side XForms implementation and serving native XForms in that case, and defaulting to a server solution in other cases.
45:
forms, but is generic enough that it can also be used in a standalone manner or with presentation languages other than XHTML to describe a user interface and a set of common
1501:
272:
is an open-source mobile data collection platform that uses a subset of W3C XForms 1.0 called ODK XForms. ODK provides ODK XForms processing libraries in Java (
129:
4 and higher. In July 2011 the lead developer wrote that XForms support would no longer get updated. Support for XForms was eventually deprecated in
Firefox 19.
120:
supports XForms natively. However, various browser plugins, client-side extensions and server/client solutions exist. The following lists some implementations:
1507:
1297:
219:. The reason given is: "JavaScript support varies greatly on mobile devices and cannot be widely relied upon." - this was written in 2005 and is outdated.
247:
User interfaces using XForms require fewer round trips with the server and are in that sense more self-contained than user interfaces using HTML 4 forms.
178:
Because XForms makes it easy to edit complex XML data there are many advantages to using XForms with native XML databases that frequently leverage
802:
1531:
812:
1302:
1541:
1359:
822:
1495:
1093:
636:
663:
1143:
348:
56:
on 14 October 2003, while XForms 1.1, which introduced a number of improvements, reached the same status on 20 October 2009.
1381:
1169:
807:
785:
1085:
1226:
1075:
403:
187:
896:
502:
477:
97:
488:
1338:
832:
191:
52:
XForms 1.0 (Third
Edition) was published on 29 October 2007. The original XForms specification became an official
1216:
179:
983:
790:
1185:
65:
1536:
1307:
1190:
755:
629:
609:
494:
377:
1103:
595:
64:
In contrast to the original web forms (originally defined in HTML), the creators of XForms have used a
1281:
765:
723:
676:
645:
556:
837:
691:
562:
1221:
1118:
1113:
728:
706:
576:
301:
415:
364:
1231:
1025:
622:
69:
182:
interfaces. The combination of three technologies (XForms on the client, REST interfaces and
827:
780:
718:
911:
750:
8:
1456:
1448:
948:
775:
733:
101:
93:
571:
221:
Please help update this article to reflect recent events or newly available information.
1472:
1464:
1387:
1257:
842:
81:
53:
551:
537:
1440:
1328:
1323:
884:
498:
473:
344:
339:
326:
958:
566:
334:
85:
20:
614:
390:
1236:
1123:
711:
588:
546:
132:
125:
1195:
1153:
938:
701:
469:
269:
139:
77:
1525:
1035:
963:
953:
879:
686:
532:
84:
except without scripting. The form author can validate user data against
1432:
1364:
1333:
1070:
921:
891:
874:
671:
604:
508:
277:
143:
117:
34:
1417:
943:
901:
864:
795:
306:
155:
105:
446:
1055:
993:
273:
251:
which reduces the amount of work required to target multiple devices.
92:
Like web forms, XForms can use various non-XML submission protocols (
1005:
973:
933:
869:
681:
581:
104:. Using transformations, XForms can be automatically created from
1392:
1148:
998:
760:
457:
1422:
1343:
1211:
1133:
1015:
906:
859:
770:
599:
542:
243:
XForms provides specific benefits when used on mobile devices:
183:
1138:
1108:
1098:
1060:
1010:
988:
978:
916:
854:
849:
743:
215:
Parts of this article (those related to
Benefits) need to be
42:
1128:
1030:
817:
738:
46:
38:
1252:
1065:
1020:
928:
696:
288:
30:
150:
428:
644:
37:. XForms was designed to be the next generation of
1523:
458:XForms 1.1 - W3C Recommendation 20 October 2009
173:
108:, and XForms can be converted to XHTML forms.
630:
72:can be used to describe a form's appearance.
59:
197:
116:At the time of this writing, no widely used
637:
623:
338:
324:
19:For the X Window System GUI package, see
186:on the server) is collectively known as
1496:International World Wide Web Conference
486:
33:format used for collecting inputs from
1524:
618:
589:W3C Recommendation on 29 October 2007
547:W3C Recommendation on 20 October 2009
538:XForms 1.0 Frequently Asked Questions
463:
1170:Web Content Accessibility Guidelines
557:XForms 2.0: XPath Expressions Module
201:
151:Implementation technologies compared
1532:World Wide Web Consortium standards
111:
13:
259:
14:
1553:
587:XForms 1.0 (Third Edition) was a
523:
389:Mozilla Developer Network (MDN):
365:Mozilla XForms Project - Download
98:application/x-www-form-urlencoded
533:The XForms Users Community Group
340:10.14337/XMLLondon14.Pemberton01
206:
1542:User interface markup languages
1393:Multimodal Interaction Activity
1353:Community & business groups
325:Pemberton, Steven (June 2014).
192:XRX:Simple, Elegant, Disruptive
439:
421:
408:
396:
383:
370:
357:
318:
16:XML format to create Web forms
1:
466:XForms: XML Powered Web Forms
429:"ODK - Collect data anywhere"
312:
142:versions 2.0 and greater and
1191:Web Accessibility Initiative
378:The Future of Mozilla XForms
174:XRX application architecture
7:
1476:(browser/editor, 1996–2012)
493:. Sebastopol, CA; Farnham:
416:XML Form Documents (XForms)
295:
238:
10:
1558:
572:XForms 1.1 Quick Reference
447:"ODK XForms Specification"
283:
60:Differences from web forms
18:
1488:
1431:
1413:
1406:
1374:
1352:
1316:
1290:
1282:World Wide Web Foundation
1277:
1270:
1245:
1204:
1186:Markup Validation Service
1178:
1162:
1084:
1048:
766:Linked Data Notifications
662:
653:
646:World Wide Web Consortium
495:O'Reilly & Associates
414:The Document Foundation:
198:XForms for mobile devices
561:A quick introduction to
552:XForms 2.0 Working Draft
529:XForms Resources at W3C
582:The Forms Working Group
563:XForms for HTML Authors
487:Dubinko, Micah (2003).
302:InfoPath Forms Services
577:XForms Implementations
418:. Accessed 2013-03-12.
405:. Accessed 2020-05-24.
393:. Accessed 2013-03-12.
367:. Accessed 2013-03-12.
264:
584:(historical interest)
66:model–view–controller
464:Raman, T.V. (2004).
49:manipulation tasks.
1537:XML-based standards
402:Apache OpenOffice:
94:multipart/form-data
1502:Steering Committee
1382:Device Description
1360:Web Advertising BG
276:) and JavaScript (
54:W3C Recommendation
1519:
1518:
1484:
1483:
1402:
1401:
1266:
1265:
490:XForms Essentials
350:978-0-9926471-1-7
236:
235:
1549:
1508:First conference
1477:
1469:
1461:
1453:
1445:
1411:
1410:
1275:
1274:
1258:XHTML+MathML+SVG
677:Activity Streams
660:
659:
639:
632:
625:
616:
615:
610:Smartsite XForms
567:Steven Pemberton
519:
517:
516:
507:. Archived from
483:
451:
450:
443:
437:
436:
425:
419:
412:
406:
400:
394:
387:
381:
376:Philipp Wagner:
374:
368:
361:
355:
354:
342:
322:
231:
228:
222:
210:
209:
202:
112:Software support
21:XForms (toolkit)
1557:
1556:
1552:
1551:
1550:
1548:
1547:
1546:
1522:
1521:
1520:
1515:
1480:
1475:
1467:
1459:
1451:
1443:
1427:
1398:
1370:
1348:
1312:
1286:
1262:
1241:
1200:
1174:
1158:
1124:SMIL Timesheets
1080:
1044:
949:Information Set
734:Geolocation API
664:Recommendations
655:
649:
643:
526:
514:
512:
505:
480:
454:
445:
444:
440:
427:
426:
422:
413:
409:
401:
397:
388:
384:
375:
371:
362:
358:
351:
331:XML London 2014
327:"Live XML Data"
323:
319:
315:
298:
286:
267:
262:
260:Implementations
241:
232:
226:
223:
220:
211:
207:
200:
176:
153:
146:support XForms.
133:IBM Lotus Forms
114:
62:
24:
17:
12:
11:
5:
1555:
1545:
1544:
1539:
1534:
1517:
1516:
1514:
1513:
1512:
1511:
1510:("WWW1", 1994)
1505:
1492:
1490:
1486:
1485:
1482:
1481:
1479:
1478:
1470:
1462:
1454:
1446:
1437:
1435:
1429:
1428:
1426:
1425:
1420:
1414:
1408:
1404:
1403:
1400:
1399:
1397:
1396:
1390:
1385:
1378:
1376:
1372:
1371:
1369:
1368:
1362:
1356:
1354:
1350:
1349:
1347:
1346:
1341:
1336:
1331:
1326:
1320:
1318:
1317:Working groups
1314:
1313:
1311:
1310:
1305:
1300:
1294:
1292:
1291:Elected groups
1288:
1287:
1285:
1284:
1278:
1272:
1268:
1267:
1264:
1263:
1261:
1260:
1255:
1249:
1247:
1243:
1242:
1240:
1239:
1234:
1229:
1224:
1219:
1214:
1208:
1206:
1202:
1201:
1199:
1198:
1196:Web Components
1193:
1188:
1182:
1180:
1176:
1175:
1173:
1172:
1166:
1164:
1160:
1159:
1157:
1156:
1154:XMLHttpRequest
1151:
1146:
1141:
1136:
1131:
1126:
1121:
1116:
1111:
1106:
1101:
1096:
1090:
1088:
1086:Working drafts
1082:
1081:
1079:
1078:
1073:
1068:
1063:
1058:
1052:
1050:
1046:
1045:
1043:
1042:
1041:
1040:
1039:
1038:
1028:
1023:
1018:
1013:
1008:
1003:
1002:
1001:
996:
986:
981:
976:
971:
966:
961:
956:
951:
946:
941:
936:
926:
925:
924:
914:
909:
904:
899:
894:
889:
888:
887:
877:
872:
867:
862:
857:
852:
847:
846:
845:
843:Filter Effects
835:
830:
825:
820:
815:
810:
805:
800:
799:
798:
788:
783:
778:
773:
768:
763:
758:
753:
748:
747:
746:
736:
731:
726:
721:
716:
715:
714:
709:
704:
694:
689:
684:
679:
674:
668:
666:
657:
651:
650:
642:
641:
634:
627:
619:
613:
612:
607:
602:
593:
592:
591:
585:
579:
574:
569:
559:
554:
549:
540:
535:
525:
524:External links
522:
521:
520:
503:
484:
478:
470:Addison-Wesley
461:
453:
452:
438:
420:
407:
395:
382:
380:, 13 July 2011
369:
356:
349:
316:
314:
311:
310:
309:
304:
297:
294:
285:
282:
266:
263:
261:
258:
257:
256:
252:
248:
240:
237:
234:
233:
214:
212:
205:
199:
196:
175:
172:
152:
149:
148:
147:
140:OpenOffice.org
137:
130:
113:
110:
78:XMLHttpRequest
61:
58:
15:
9:
6:
4:
3:
2:
1554:
1543:
1540:
1538:
1535:
1533:
1530:
1529:
1527:
1509:
1506:
1503:
1500:
1499:
1497:
1494:
1493:
1491:
1487:
1474:
1471:
1466:
1463:
1458:
1455:
1450:
1447:
1442:
1439:
1438:
1436:
1434:
1430:
1424:
1421:
1419:
1416:
1415:
1412:
1409:
1405:
1394:
1391:
1389:
1386:
1383:
1380:
1379:
1377:
1375:Closed groups
1373:
1366:
1363:
1361:
1358:
1357:
1355:
1351:
1345:
1342:
1340:
1337:
1335:
1332:
1330:
1327:
1325:
1322:
1321:
1319:
1315:
1309:
1306:
1304:
1301:
1299:
1296:
1295:
1293:
1289:
1283:
1280:
1279:
1276:
1273:
1271:Organizations
1269:
1259:
1256:
1254:
1251:
1250:
1248:
1244:
1238:
1235:
1233:
1230:
1228:
1225:
1223:
1220:
1218:
1215:
1213:
1210:
1209:
1207:
1203:
1197:
1194:
1192:
1189:
1187:
1184:
1183:
1181:
1177:
1171:
1168:
1167:
1165:
1161:
1155:
1152:
1150:
1147:
1145:
1142:
1140:
1137:
1135:
1132:
1130:
1127:
1125:
1122:
1120:
1117:
1115:
1112:
1110:
1107:
1105:
1102:
1100:
1097:
1095:
1092:
1091:
1089:
1087:
1083:
1077:
1074:
1072:
1069:
1067:
1064:
1062:
1059:
1057:
1054:
1053:
1051:
1047:
1037:
1034:
1033:
1032:
1029:
1027:
1024:
1022:
1019:
1017:
1014:
1012:
1009:
1007:
1004:
1000:
997:
995:
992:
991:
990:
987:
985:
982:
980:
977:
975:
972:
970:
967:
965:
962:
960:
957:
955:
952:
950:
947:
945:
942:
940:
937:
935:
932:
931:
930:
927:
923:
920:
919:
918:
915:
913:
910:
908:
905:
903:
900:
898:
895:
893:
890:
886:
883:
882:
881:
878:
876:
873:
871:
868:
866:
863:
861:
858:
856:
853:
851:
848:
844:
841:
840:
839:
836:
834:
831:
829:
826:
824:
821:
819:
816:
814:
811:
809:
806:
804:
801:
797:
794:
793:
792:
789:
787:
784:
782:
779:
777:
774:
772:
769:
767:
764:
762:
759:
757:
754:
752:
749:
745:
742:
741:
740:
737:
735:
732:
730:
727:
725:
722:
720:
717:
713:
710:
708:
705:
703:
700:
699:
698:
695:
693:
690:
688:
687:Canonical XML
685:
683:
680:
678:
675:
673:
670:
669:
667:
665:
661:
658:
652:
647:
640:
635:
633:
628:
626:
621:
620:
617:
611:
608:
606:
603:
601:
597:
594:
590:
586:
583:
580:
578:
575:
573:
570:
568:
564:
560:
558:
555:
553:
550:
548:
544:
541:
539:
536:
534:
531:
530:
528:
527:
511:on 2008-09-15
510:
506:
504:0-596-00369-2
500:
496:
492:
491:
485:
481:
479:0-321-15499-1
475:
471:
467:
462:
459:
456:
455:
448:
442:
434:
430:
424:
417:
411:
404:
399:
392:
386:
379:
373:
366:
360:
352:
346:
341:
336:
332:
328:
321:
317:
308:
305:
303:
300:
299:
293:
290:
281:
279:
275:
271:
253:
249:
246:
245:
244:
230:
218:
213:
204:
203:
195:
193:
189:
185:
181:
171:
167:
163:
159:
157:
145:
141:
138:
134:
131:
127:
123:
122:
121:
119:
109:
107:
103:
99:
95:
90:
87:
83:
79:
73:
71:
67:
57:
55:
50:
48:
44:
40:
36:
32:
28:
22:
968:
654:Products and
513:. Retrieved
509:the original
489:
465:
441:
432:
423:
410:
398:
385:
372:
359:
330:
320:
287:
268:
242:
224:
216:
177:
168:
164:
160:
154:
136:application.
115:
91:
74:
63:
51:
26:
25:
1489:Conferences
1365:WebAssembly
1334:WebAssembly
1237:WebPlatform
892:Web storage
875:WebAssembly
672:ActivityPub
278:enketo-core
255:flawlessly.
144:LibreOffice
118:web browser
106:XML schemas
1526:Categories
1418:CERN httpd
1205:Deprecated
1179:Initiative
1163:Guidelines
1071:XHTML+SMIL
939:Encryption
902:Webmention
865:Timed text
702:Animations
543:XForms 1.1
515:2005-04-24
468:. Boston:
433:getodk.org
333:: 96–102.
313:References
86:XML Schema
1468:(1994–97)
1460:(1994–97)
1452:(1993–98)
1441:Line Mode
1246:Obsoleted
1056:IndieAuth
964:Signature
954:Namespace
751:IndexedDB
729:EmotionML
656:standards
605:XSLTForms
596:XML:Forms
363:Mozilla:
307:FormFaces
227:July 2021
156:FormFaces
35:web forms
1433:Browsers
1407:Software
1339:WebAuthn
1036:elements
1006:XPointer
974:XInclude
870:VoiceXML
776:Micropub
296:See also
274:JavaRosa
239:Benefits
1504:(IW3C2)
1498:(IW3C)
1444:(1990–)
1149:XFrames
761:JSON-LD
707:Flexbox
289:Xfolite
284:Xfolite
217:updated
126:Firefox
1423:Libwww
1384:(DDWG)
1344:WHATWG
1212:C-HTML
1134:WebGPU
1026:XSL-FO
1016:XQuery
969:XForms
959:Schema
944:Events
907:WebSub
860:SPARQL
796:Schema
771:MathML
600:Curlie
545:was a
501:
476:
391:XForms
347:
184:XQuery
29:is an
27:XForms
1473:Amaya
1457:Agora
1449:Arena
1395:(MMI)
1303:Board
1139:WebXR
1109:InkML
1099:CURIE
1094:CCXML
1061:XAdES
1049:Notes
1011:XProc
989:XPath
979:XLink
922:+RDFa
917:XHTML
855:SHACL
850:SCXML
744:HTML5
648:(W3C)
43:XHTML
1465:Argo
1388:HTML
1227:PGML
1222:JSSS
1217:HDML
1144:XFDL
1129:sXBL
1031:XSLT
934:Base
912:WOFF
897:WSDL
833:SSML
823:SRGS
818:SOAP
813:SMIL
808:SKOS
803:SISR
739:HTML
712:Grid
682:ARIA
499:ISBN
474:ISBN
345:ISBN
180:REST
124:The
102:XSLT
82:AJAX
47:data
39:HTML
1329:SVG
1324:CSS
1308:TAG
1253:P3P
1232:VML
1119:RIF
1114:MSE
1104:EME
1076:XUP
1066:XBL
1021:XSL
999:3.x
994:2.0
984:XOP
929:XML
880:WoT
838:SVG
828:SRI
791:RDF
786:PLS
781:OWL
756:ITS
724:EXI
719:DOM
697:CSS
692:CDF
598:at
565:by
335:doi
280:).
270:ODK
265:ODK
194:".
188:XRX
70:CSS
31:XML
1528::
1367:CG
1298:AB
885:TD
497:.
472:.
431:.
343:.
329:.
96:,
41:/
638:e
631:t
624:v
518:.
482:.
460:.
449:.
435:.
353:.
337::
229:)
225:(
80:/
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.