Underlying the simplified search grammar will be a path-field mapping structure. This will describe the layout of fields, how they are to collapse from fleshed objects, and how the shape of both the query and result data structures should be interpreted by and presented to the caller.
+Output will be available in multiple formats based on either a 'format' parameter (POST or GET), or failing that, the Accept HTTP header. Both mechanisms use standard MIME types. Initially available output formats will be:
+
+application/json:: JSON array of object
+application/xml:: XML in the form of
+----
+<FlatSearch hint='foo' identifier='bar' label='Foo Bar' FS_key='ad1awe43a3a2a3ra32a23ra32ra23rar23a23r'>
+ <row ordinal='1'>
+ <column name='fiz'>YAY!</column>
+ <column name='faz'>boooo</column>
+ </row>
+ <row ordinal='2'>
+ <column name='fiz'>WHEEE!</column>
+ <column name='faz'>noooo</column>
+ </row>
+</FlatSearch>
+----
+text/html:: Simple HTML output based on the +application/xml+, controlled by +FlatFielder2HTML.xsl+
+text/csv:: CSV output, presented as a download via +Content-Disposition+ HTTP header
+
Mapping Structure
-----------------
Implemented as a JSON object, each property name will represent a data element that can be displayed, filtered or sorted, and each property value will represent either a simple path (in which case it is usable for display, filtering or sorting), or an object providing the path and available uses.