JavaRosa is an open-source platform for data collection on mobile devices. At its core, JavaRosa is based on the XForms standard -- the official W3C standard for next-generation data collection and interchange.
For more information see the home page of JavaRosa. Note that JavaRosa (and other OpenRosa apps) use a subset of a file format called XForms to describe a form. Full documentation is available on this wiki regarding the subset of XForms which JavaRosa supports and how, including examples. Given xforms' origins in rich web clients, and mission to support application-like user experience, certain xforms features are simply inappropriate for a mobile platform, and will not be implemented.
Furthermore, JavaRosa has a defined a number of additions/customizations to the xforms spec, which address shortcomings and improves the xforms experience on mobile devices. These custom constructs are supported only by JavaRosa, and have been created when no xforms idiom is able to handle our desired use case, or the 'proper' xforms way of doing it is too complicated and resource-intensive. When customizations have been added, we have attempted to keep them as 'xform-y' as possible.