Getting Form Schema Fields
(introduced: version 0.8)
For applications that do not rely on JavaRosa, it can be challenging to parse XForms XML into a simple schema structure. Because Central Backend already implements and performs such an operation for its own internal purposes, we also expose this utility for any downstream consumers which wish to make use of it.
While this may eventually overlap with the new OData JSON CSDL specification, we are likely to maintain this API as it more closely mirrors the original XForms data types and structure.
Central internally processes the XForms schema tree into a flat list of fields, and this is how the data is returned over this endpoint as well. It will always return fields in a depth-first traversal order of the original <instance> XML block in the XForm.
You may optionally add the querystring parameter ?odata=true to sanitize the field names and paths to match the way they will be outputted for OData. While the original field names as given in the XForms definition may be used as-is for CSV output, OData has some restrictions related to the domain-qualified identifier syntax it uses.
Path parameters
The numeric ID of the Project
The xmlFormId of the Form being referenced.
Query parameters
If set to true, will sanitize field names.
Response
OK
Example response
[
{
"name": "meta",
"path": "/meta",
"type": "structure"
},
{
"name": "instanceID",
"path": "/meta/instanceID",
"type": "string"
},
{
"name": "name",
"path": "/name",
"type": "string"
},
{
"name": "age",
"path": "/age",
"type": "int"
},
{
"name": "photo",
"path": "/photo",
"type": "binary",
"binary": true
}
]