########################################################################## # # # # # Claims_DB_listener.sh # # Planned Output Methods # # Document Date: 08 January 2010 # # Document Author: B Tasker # # # # # ########################################################################## Contents --------- - Aim - Xml Styles - - HTML Formats - Basic - Advanced - Applicability - Timeline Aim ---- To allow end user applications to specify the format in which they require Claims_DB_listener to provide results. It is intended that the system should offer the ability to output in XML style, as well as in HTML Format. The system currently outputs in CSV format only. Xml Styles ----------- The system will provide two forms of XML, Basic and Advanced. Basic will use simplistic column delimeters (i.e. Column 1, Colum 2 etc.) wherehas Advanced will utilise column headers in order to provide the specified name of the column. This will inevitably require a little more processing time than the basic scheme, but will however allow users to change column names from within the database rather than having to change every instance in the source code of their front-end application. XML Schema ----------- The schema will take the following layout; $QUERY_STRING $QCOL $TABLE_NAME $DATA_FROM_FIELD1 $DATA_FROM_FIELD2 $DATA_FROM_FIELD1 $DATA_FROM_FIELD2 If the advanced Schema is selected, the system will use the actual field title (as specified in the table header) in place of Field_1. Similarly, if a specific column has been queried, the system will place the name of the field in the Query_Column section in place of the fields actual column value. So whilst a basic query may look as follows; Hello Kitty 2 MyExampleTable Example Data Row 1 Hello Kitty Example Data Row 2 Hello Kitty An Advanced query would return the following Hello Kitty Pointless Quote MyExampleTable Example Data Row 1 Hello Kitty Example Data Row 2 Hello Kitty ---------- At this stage in development the tag is redundant, however it has been included in the specification to allow for support for later developments such as the ability to query numerous tables with the same string. It is envisaged that such a query would return something similar to the following; Hello Kitty Pointless Quote MyExampleTable Example Data Row 1 Hello Kitty Example Data Row 2 Hello Kitty MySecondExampleTable Example Data Row 8 Hello Kitty Example Data Row 12 Hello Kitty However at this stage, nothing is formally planned in this respect. HTML Format ------------ The system will offer two HTML options - Basic and Advanced. The options have been given the same name as their XML counterparts purely to reduce the number of options that developers need to learn, advanced HTML output will still be quite basic. Basic ------- Basic will generate a HTML table and provide no description of the query that has been processed. Much like the current CSV output, the system will provide only the data. The first row of the table will contain Column headings (as defined in the table itself) which will be bold. Example:
Heading 1Heading 2
Row 1 Data 1Row 1 Data 2
Row 2 Data 1Row 2 Data 2
Advanced --------- Advanced will generate a full HTML page including the same table as generated using a Basic Schema. The page title will contain details of the request submitted. Example: Results from $TABLE in response to $QUERY_DETAILS
Heading 1Heading 2
Row 1 Data 1Row 1 Data 2
Row 2 Data 1Row 2 Data 2
Applicability -------------- Each schema will have its uses, Basic HTML output may be useful for embedding a dynamic table in an otherwise static webpage. Advanced HTML may be useful if you wish to utilise something like the quick query tool. XML output will generally be of most use in application design, and the end goal will determine which schema is used. In both HTML & XML the advanced schema will require more processor cycles, but it is hoped that the difference will be negligible. Timeline --------- It is hoped that this feature will be implemented before the next release of Claims_DB_listener, it will however require substantial alterations to a number of functions, so it may be delayed while other priority functions are implemented. If it is not included in the next release, then it is hoped that it will be implemented within 2 releases time. ########################################################################## # # # COPYRIGHT BEN TASKER # # DOCUMENT END # # # ##########################################################################