Knowledge

XForms

Source đź“ť

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:.

Index

XForms (toolkit)
XML
web forms
HTML
XHTML
data
W3C Recommendation
model–view–controller
CSS
XMLHttpRequest
AJAX
XML Schema
multipart/form-data
application/x-www-form-urlencoded
XSLT
XML schemas
web browser
Firefox
IBM Lotus Forms
OpenOffice.org
LibreOffice
FormFaces
REST
XQuery
XRX
XRX:Simple, Elegant, Disruptive
ODK
JavaRosa
enketo-core
Xfolite

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑