Skip directly to searchSkip directly to the site navigationSkip directly to the page's main content

View System Documentation - Query Module Schema

OverviewoverviewOverview of this page This page contains a listing and description of all Query Module XML elements that are available and serves as a data element dictionary. The QUERY_MODULE elements are used by the query builder and query result type pages. Most of the content is contained within a ".xml" file (or if the ibis:include mechanism is used a series of ".xml" files). There are two main elements that are dynamically populated. The first is the REQUEST element. This element contains information about what the user requested and is populated via the associated Java controller code. The second element is the IBIS-Q_QUERY_RESULT container element. This element is the actual resultant XML that is returned from IBIS-Q. Again, a Java controller is responsible to insert the resultant XML into the module XML structure. The actual real world usage of these elements are determined by the core Utah XSLT transformation stylesheets and Java code.

You can quickly navigate to an element by starting with the container element and clicking on the diagram's element or clicking on the element listed within the "child" section of the parent/container element's table.

See http://www.diversitycampus.net/Projects/TDWG-SDD/Minutes/SchemaDocu/SchemaDesignElements.html for definitions of the diagram symbiology.

The "ConfigurationIncludeCriteriaExclude.xslt" is used to handle building the actual requested query module XML elements. When a request is made for a query module (and configuration), this XSLT contains code to only include the selected CONFIGURATION element and excludes any SECTION and DIMENSION elements according to that CONFIGURATION's EXCLUDEs.
Frequently Referenced Query Module Elements Indexindex

QUERY_MODULE

diagram
childrenNAME   TITLE   DESCRIPTION   VERSION   KEYWORDS   ORG_UNIT_NAME   BASE_QUERY_APPLICATION_URL   PARAMETERS   QUERY_CONFIGURATION_SELECTION   CONFIGURATIONS   CRITERIA   DIMENSIONS   REQUEST   IBIS-Q_QUERY_RESULT
description Main container element for the module definition. All elements associated/needed to build the user's module selection page are contained within this element.

QUERY_MODULE/NAME

diagram
typexs:string
description Name of the module. This should match the filename (without any paths/directory information and without any .xml extension). This is currently not used for anything but is designed for future considerations when/if being imported into a relational database where this field will be used as the primary key.

QUERY_MODULE/TITLE

diagram
typexs:string
description Module title that is used when displaying the browsers HTML page title and is also shown at the top of the page. The XSLT treats this as optional but really should be required.

QUERY_MODULE/DESCRIPTION

diagram
typexs:string
description Optional but recommended text that is inserted into the HTML page's meta data "description" tag.

QUERY_MODULE/VERSION

diagram
typexs:string
description Optional/unused text that describes the modules versioning/revision history. This information was displayed on the confirmation page (which has since been discountinued) if the debug mode is active but this page has since been removed so this element is not currently used. The same informaiton is available using the built in ibis:doc element.

QUERY_MODULE/KEYWORDS

diagram
typexs:string
description Optional but recommended text that is inserted into the HTML page's meta data "key words" tag.

QUERY_MODULE/ORG_UNIT_NAME

diagram
typexs:string
description Optional key to the organization unit that is responsible for this module. If present and if the value matches a NAME element in the org_unit.xml file then that office's information will be placed in the builder and result page's content footer section (like it works with indicator profile pages).

QUERY_MODULE/BASE_QUERY_APPLICATION_URL

diagram
typexs:string
description Optional query application URL sans the parameters etc that are added by the Java controller code. This element allows a module to specify a different query app to use. If no value is specified then the site specific global properties value is used by the Java controller code.

QUERY_MODULE/QUERY_CONFIGURATION_SELECTION

diagram
childrenLOCAL_URL   TITLE
description Optional container element for the path that is used to navigate to this module. The value is used by the XSLT code to build the bread crumbs path and can be used by a navigation type code to be able to allow the user to easily get to the selection page that leads to the module page.

QUERY_MODULE/QUERY_CONFIGURATION_SELECTION/LOCAL_URL

diagram
typexs:string
description Optional, semi-relative local URL value that points to the selection page request. This value should be relative to the root of the deployed application context.

QUERY_MODULE/QUERY_CONFIGURATION_SELECTION/TITLE

diagram
typexs:string
description Title which is shown to the user for the configuration selection link/URL. This appears as one of the middle bread crumbs links on the builder and result pages.



PARAMETERS

diagram
childrenPARAMETER
used byQUERY_MODULE   QUERY_MODULE/CONFIGURATIONS/CONFIGURATION   QUERY_MODULE/IBIS-Q_QUERY_RESULT
description Container element for all core/shared/common IBIS-Q configuration and control name/value pair parameters. These parameters include items like IBIS-Q configuration filenames, testing and debugging flags, SAS control flags, and other hard coded/non user selected values that need to be specified and submitted to the backend IBIS-Q application.

Note that there are two areas where these parameters are defined. This element is at the QUERY_MODULE level which contains parameters common to all the module's configurations. The balance/compliment of specific configuration level parameters are contained in the CONFIGURATION/PARAMETERS element. This parameter type element structure is also returned by IBIS-Q as part of the result XML.

PARAMETERS/PARAMETER

diagram
childrenNAME   VALUE   HIDDEN_INPUT_FLAG
description Container element for a specific IBIS-Q configuration and control parameter. There can be as many of these parameter name/value pair definitions as needed.

Note that if the value is null or blank that the UI/Query servlet will not submit the value to IBIS-Q.

PARAMETERS/PARAMETER/NAME

diagram
typexs:string
description Specifies the name portion of the parameter's "name=value" pair that is requested/sent to the IBIS-Q application. If the HIDDEN_INPUT_FLAG element exists, then the value of this NAME element specifies the "name" attribute of the hidden input field's tag created by the builder XSLT. This value MUST match exactly (case sensitive, no spaces etc.) the name defined within the IBIS-Q configuration file or one of the IBIS-Q control reserved words.

PARAMETERS/PARAMETER/VALUE

diagram
typexs:string
description Specifies the value portion of the parameter's "name=value" pair that is requested/sent to the IBIS-Q application. If the HIDDEN_INPUT_FLAG element exists, then the value of this VALUE element specifies the "value" attribute of the hidden input field's tag created by the builder XSLT. This value MUST match exactly (case sensitive, no spaces etc.) the value defined within the IBIS-Q configuration file (or the filename in the case of the configuration file).

PARAMETERS/PARAMETER/HIDDEN_INPUT_FLAG

diagram
description Controls if the parameter is inserted into the builder page as a hidden input HTML element. This enables pre submit javascript code to adjust the value of the parameter before being submitted and is really only needed for those instances.



QUERY_MODULE/CONFIGURATIONS

diagram
childrenCONFIGURATION
description Container element for all the CONFIGURATION elements associated with this module.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION

diagram
childrenNAME   TITLE   DESCRIPTION   BASE_QUERY_APPLICATION_URL   PARAMETERS   DEFAULT_MEASURE_NAME   MEASURES   MAP   DATA_SOURCES   DATA_NOTES   DATA_ISSUES   CRITERIA
description Container element for all the specific characteristics of a configuration (measure definition). A configuration maps 1:1 to a backend IBIS-Q "func.def" file and describes the data that will be returned by that func. This consists of measure(s), data sources, which section/selection (questions/steps) and dimensions to exclude etc.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/NAME

diagram
typexs:string
description Name or ID of the defined configuration. When the user selects a module they also must select a configuration within that module. This value is then passed to the XSLT so it knows which configuration information to use when building the query builder/module page and what needs to be submitted to the backend IBIS-Q system to retrieve the desired data.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/TITLE

diagram
typexs:string
description Text that is shown on the results page.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DESCRIPTION

diagram
typexs:string
description Description of this configuration. This text could be shown as the standard mouse over on the results page.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/BASE_QUERY_APPLICATION_URL

diagram
typexs:string
description Configuration specific application URL. If present this value has precedence over the general module value which has precedence over the global property specified value.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DEFAULT_MEASURE_NAME

diagram
typexs:string
description Optional element that controls which measure is displayed first on the results page. If the element does not exist, then the first measure element will be used as the default. The value of this element is the name of one of this configuration's measure names. It must match exactly.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES

diagram
childrenMEASURE
description Container element for all the MEASURE elements associated with this configuration. This mechanism allows for the displaying of several related statistical measures from a given IBIS-Q query.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE

diagram
childrenNAME   TITLE   DESCRIPTION   XSLT_FORMAT_PATTERN   JAVA_FORMAT_PATTERN   NO_DISPLAY_FLAG   NUMERATOR   DENOMINATOR   LOWER_CONFIDENCE_LIMIT   UPPER_CONFIDENCE_LIMIT
description Container element for all the attributes of a measure (measure definition). A measure is defined as a particular calculated statistical value. Examples of a measure are count, age adjusted rate, percentage etc. Each measure may have other values like a confidence limit and/or numerator, denominator etc. This element also contains information on how to display the measure on the result page. The IBIS-Q query must be programmed to return it's XML with MEASURE elements that have a NAME element which will match up with this element's NAME element value. Also, for this measure to be shown on the results page, it must have a properly defined MEASURE element. Put another way, any measure needing to be displayed on the results page MUST have a proper MEASURE element defined for that configuration AND the backend IBIS-Q SAS program MUST return it's data to match.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/NAME

diagram
typexs:string
description Name or ID of the defined measure. The data being returned from IBIS-Q will contain XML which will also have MEASURES/MEASURE elements for each data record. The NAME's value is used as the key to match up the query results data with the module data so that any result display specific data can be used.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/TITLE

diagram
typexs:string
description Text that is shown on the result page's data tables header value row. This helps show the user what this specific measure is.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/DESCRIPTION

diagram
typexs:string
description Optional description of the measure that is used for a mouse over on the results page.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/XSLT_FORMAT_PATTERN

diagram
typexs:string
description Optional element that controls the specific XSLT format patterns for this measure (value and confidence limits). Formatting of values can be done in 3 ways:
  1. Use the result page's default formatting pattern. If no format pattern is defined/specified the system's default pattern (as of August 12, 2004) is: ",##0.##".
  2. Format the data on the backend. This can be done via IBIS-Q or in the SAS program (via the func and/or configuration file). If you want to force the results XSLT to not format the values then the XSLT_FORMAT_PATTERN must exist with a value of "none". Note that if this option is chosen then the user will NOT be able to produce a chart using this formatted data since the chart java object (as of Oct., 2004) can't deal with formatted numeric values.
  3. Use a custom XSLT format pattern. Typical patterns: General Number: ,##0.##
    Count: ,##0
    Percentage: #% or #0.##% or #0.0#% (values of 0.234 are displayed as 23.4%).
    Currency: $,##0 or $,##0.00

IMPORTANT: If option 1 or 3 is used you can NOT have the data formatted on the backend. If the data are formatted and an XSLT_FORMAT_PATTERN is defined, then the results will try and format a number that is already formatted and an error will result at the time of performing the transformation. If an XSLT format pattern is specified and the system won't show the query results output page and you see errors in the Tomcat window then there's a pretty good chance the values are being formatted on the backend (IBIS-Q/SAS). So if in doubt use option 2. So if SAS formatting is used the XSLT will need to not apply any formatting AND the QueryChartData Java class will need to scrub/clean the formatting characters from the values before inserting into the chart data arrays. If this latter step is not performed, then the chart data will not be able to be loaded into the chart.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/JAVA_FORMAT_PATTERN

diagram
typexs:string
description Optional element that controls the specific Java numeric format patterns for this measure (again numerator and confidence limits). This is currently only applicable for SVG charts when the user performs a mouse over - which shows a small popup with actual point's value(s) formatted accordingly.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/NO_DISPLAY_FLAG

diagram
description Optional element which controls if the measure is selectable for display. An example of this type of measure is the map value ranking. IBIS-Q needs to return this value so that the map's areas can be shaded appropriately but the measure should not be a valid numerical display option. To disable the measure from being selectable/displayed simply create an empty XML element (or create one with a value inside - does not matter - all that matters is if the element is present then that measure will not be displayable to the user on the results page).

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/NUMERATOR

diagram
childrenTITLE   DESCRIPTION   XSLT_FORMAT_PATTERN
description Optional container element that controls if and how the results page will display the numerator value in the data list table. If this element is present then the results page will try and display the numerator associated with this measure. If this element is not defined then even if the results returns a NUMERATOR element the results page will still not display it.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/NUMERATOR/TITLE

diagram
typexs:string
description Optional title that is displayed on the results page as part of the data table for the numerator (table header). If not specified then the default value of "Numerator" is used.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/NUMERATOR/DESCRIPTION

diagram
typexs:string
description Optional description that is used for numerator title mouse overs which is displayed on the results page as part of the data table for the numerator (table header).

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/NUMERATOR/XSLT_FORMAT_PATTERN

diagram
typexs:string
description Optional control for the numerator value. See QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/XSLT_FORMAT_PATTERN for more information about XSLT format patterns.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/DENOMINATOR

diagram
childrenTITLE   DESCRIPTION   XSLT_FORMAT_PATTERN
description Optional element that controls if the results page will display the denominator value in the data list table. This element also is a container for other optional denominator value display control. If this element is present then the results page will try and display the denominator associated with this measure. If this element is not defined then even if the results returns a DENOMINATOR element the results page will still not display it.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/DENOMINATOR/TITLE

diagram
typexs:string
description Optional title that is displayed on the results page as part of the data table for the denominator (table header). If not specified then the default value of "Denominator" is used.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/DENOMINATOR/DESCRIPTION

diagram
typexs:string
description Optional description that is used for the title mouse over which is displayed on the results page as part of the data table (table header).

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/DENOMINATOR/XSLT_FORMAT_PATTERN

diagram
typexs:string
description Optional control for the denominator value. See QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/XSLT_FORMAT_PATTERN for more information about XSLT format patterns.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/LOWER_CONFIDENCE_LIMIT

diagram
childrenTITLE   DESCRIPTION
description Optional element that controls if the results page will display the lower confidence limit value in the data list table. This element also is a container for other optional value display control. If this element is present then the results page will try and display the limit associated with this measure. If this element is not defined then even if the results returns a limit value element the results page will still not display it. The formatting used is based on the measure's format pattern.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/LOWER_CONFIDENCE_LIMIT/TITLE

diagram
typexs:string
description Optional title that is displayed on the results page as part of the data table for the lower limit (table header). If not specified then the default value of "Lower 95% Confidence" is used.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/LOWER_CONFIDENCE_LIMIT/DESCRIPTION

diagram
typexs:string
description Optional description that is used for title mouse overs which is displayed on the results page as part of the data table (table header).

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/UPPER_CONFIDENCE_LIMIT

diagram
childrenTITLE   DESCRIPTION
description Optional element that controls if the results page will display the upper confidence limit value in the data list table. This element also is a container for other optional value display control. If this element is present then the results page will try and display the limit associated with this measure. If this element is not defined then even if the results returns a limit value element the results page will still not display it. The formatting used is based on the measure's format pattern.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/UPPER_CONFIDENCE_LIMIT/TITLE

diagram
typexs:string
description Optional title that is displayed on the results page as part of the data table for the lower limit (table header). If not specified then the default value of "Upper 95% Confidence" is used. This title only appears if IBIS-Q returns upper confidence limit elements.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MEASURES/MEASURE/UPPER_CONFIDENCE_LIMIT/DESCRIPTION

diagram
typexs:string
description Optional description that is used for the title mouse over which is displayed on the results page as part of the data table (table header).

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MAP

diagram
childrenTITLE   DESCRIPTION   CHOROPLETH_VALUES_MEASURE_NAME   DATA_VALUES_MEASURE_NAME   CHOROPLETH_NAME
description Optional map definitions container.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MAP/TITLE

diagram
typexs:string
description Title that is displayed on the results page on top of the map graphic.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MAP/DESCRIPTION

diagram
typexs:string
description Optional description of this map. Currently, this value is not used for anything on the results page but can still be useful as an area to store developer comments.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MAP/CHOROPLETH_VALUES_MEASURE_NAME

diagram
typexs:string
description Key/name of this configuration's measure element which are this map's choropleth ranking values.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MAP/DATA_VALUES_MEASURE_NAME

diagram
typexs:string
description Key/name of this configuration's measure element which are this map's actual data values and are associated with the choropleth ranking values.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/MAP/CHOROPLETH_NAME

diagram
typexs:string
description Name of/key to the choropleth element to be used for this map configuration. This value is the key to the CHOLORPLETH element stored in the choropleths.xml definition file. This definition file contains legend titles, color definitions etc.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_SOURCES

diagram
childrenDATA_SOURCE
description Optional container element for configuration specific data source elements.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_SOURCES/DATA_SOURCE

diagram
childrenNAME   TEXT   SORT_ORDER
attributes
NameTypeUseDefaultFixedAnnotation
namexs:stringoptional
description Optional data source container element.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_SOURCES/DATA_SOURCE/NAME

diagram
typexs:string
description This is the name that uniquely identifies this data source. This value is NOT used by the query system. However, this value should be specified and should be set to match the IBISPH-ADMIN system's data source record in the admin database. Also, if xincluded, then the filename should be set to this name as well. This will ensure an easier transition to a GUI IBIS-Q module builder system.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_SOURCES/DATA_SOURCE/TEXT

diagram
typexs:string
description Actual text that is shown to the user on the results page. If multiple sources, the xslt adds a "; " to separate each datasource. Multiple data sources could be combined in one element but it is highly recommended that they be split out into separate elements to aid in tying into the database data source records.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_SOURCES/DATA_SOURCE/SORT_ORDER

diagram
typexs:integer
description Optional numeric value that controls the order in which the data source elements are displayed. This also is a key element that is needed in the database. If this element is specified then it will be used by the result XSLT to control the order the sources are displayed in on the results page.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_NOTES

diagram
childrenDATA_NOTE
description Optional data notes text and/or container element that is displayed on the results page. If any text is specified within the DATA_NOTES element this will be shown first. If there are DATA_NOTE elements then those will be processed according to their DATA_NOTE/SORT_ORDER or if no sort order is specified they will be processed according to their existing order.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_NOTES/DATA_NOTE

diagram
childrenNAME   TEXT   SORT_ORDER
attributes
NameTypeUseDefaultFixedAnnotation
namexs:stringoptional
description Container element for measure specific data note elements. Note that if there is text as the DATA_NOTE element level, this text is not recognized/displayed. If a DATA_NOTE element exists then it's text must be contained within the TEXT element.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_NOTES/DATA_NOTE/NAME

diagram
typexs:string
description This is the name that uniquely identifies this data note. This value is NOT used by the query system. However, this value should be specified and should unique such that at some future point when the IBISPH-ADMIN system impements a set of data note validation records that this data can then be more easily imported into the admin database. This will ensure an easier transition to a GUI IBIS-Q module builder system. Also, if xincluded, then the filename should be set to this name as well for a convention and consistency.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_NOTES/DATA_NOTE/TEXT

diagram
typexs:string
description Actual text that is shown to the user on the results page. Each note will be separated with a blank line. Multiple data notes could be combined in one element but it is highly recommended that if these notes are commonly used by more than one module they be split out into separate elements and xincluded to aid in system maintenance and tying into the database data note records.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_NOTES/DATA_NOTE/SORT_ORDER

diagram
typexs:integer
description Optional numeric value that controls the order in which the data source elements are displayed. This also is a key element that is needed in the database. If this element is specified then it will be used by the result XSLT to control the order the notes are displayed in.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_ISSUES

diagram
childrenDATA_ISSUE
description Optional data issues text and/or container element that is displayed on the results page. If any text is specified within the DATA_ISSUES element this will be shown first. If there are DATA_ISSUE elements then those will be processed according to their DATA_ISSUE/SORT_ORDER or if no sort order is specified they will be processed according to their existing order.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_ISSUES/DATA_ISSUE

diagram
childrenNAME   TEXT   SORT_ORDER
attributes
NameTypeUseDefaultFixedAnnotation
namexs:stringoptional
description Container element for measure specific data issue elements.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_ISSUES/DATA_ISSUE/NAME

diagram
typexs:string
description This is the name that uniquely identifies this data issue. This value is NOT used by the query system. However, this value should be specified and should be set to match the IBISPH-ADMIN system's data source record in the admin database. This will ensure an easier transition to a GUI IBIS-Q module builder system. Also, if ibis:included, then the filename should be set to this name as well.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_ISSUES/DATA_ISSUE/TEXT

diagram
typexs:string
description Actual text that is shown to the user on the results page. Each issue will be separated with a blank line. Multiple data issues could be combined in one element but it is highly recommended that if these issues are commonly used by more than one module they be split out into separate elements and xincluded to aid in system maintenance and tying into the database data issue records.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/DATA_ISSUES/DATA_ISSUE/SORT_ORDER

diagram
typexs:integer
description Optional numeric value that controls the order in which the data issue elements are displayed. This also is a key element that is needed in the database. If this element is specified then it will be used by the result XSLT to control the order the issues are displayed in.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA

diagram
childrenDEFAULT_GRAPHIC_NAME   SUBMIT_JAVASCRIPT_FUNCTION_CALL   EXCLUDE
description Container for this configuration's builder/selection specific criteria.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/DEFAULT_GRAPHIC_NAME

diagram
typexs:string
description Optional graphic name that if specified will cause the builder XSLT to select the associated chart/graphic. The value of this element is the name of the graphic element definition typically "Map", "HorzBar", "GroupedBar" etc. Valid values are contained within the "xml/chart.xml" file with that file's NAME element needing to match this element's value. . Once a graphic name is specified by the user on the builder page or on the result page that value is then stored in the REQUEST element which overriddes this value.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL

diagram
typexs:string
description Specifies the submit query processing javascript function call that is used the builder page to submit the query definition. This provides a mechanism which allows a given configuration to do custom processing of the HTML form's data prior to being submitted to the server. If nothing is specified then the builder page's XSLT defaults to using the "submitQuery();" function which is defined within the js/query_module.js file.

This element is mainly used by those builder pages which need to adjust/change certain IBIS-Q application parameter values (like the config file to use) based on the users builder page selections prior to submitting the query to the server. This mechanism typically uses the hidden input parameter fields that the builder XSLT code creates along with the CRITERIA/OTHER_HTML_HEAD_CONTENT element which typically contains a link to a Javascript file or the actual Javascript code itself. An example is the mortality module which changes the "func" parameter value based on which year range a user selected.

The value contained within this tag MUST be a Javacript function call - NOT general Javascript code (example: "mySpecialFunction();"). The specified function is responsible to do the special processing, clear all orphaned selections, and actually submit the form's data to the server. The easiest and recommended method is to write the custom function with its code calling the default/defined "submitQuery();" function once the custom function's code has finished its processing.

The function and other Javascript code to be executed is typically placed in the module's CRITERIA/OTHER_HTML_HEAD_CONTENT element (which should also contain the function being specified via this element) The OTHER_HTML_HEAD_CONTENT may also simply contain the HTML script link tag that references a script type file. To make the javascript coding easier within an XML element, wrap the XML content with CDATA. If the CDATA wrapper is not used then any text like '<', '<', & will have to be escaped.

This functionality is for the rare exception and is not the rule. Intimate knowledge of the generated HTML code and what is needed on the SAS end is needed. This type of business logic could also be handled on the backend in the SAS code but it is sometimes preferable to do on the front end via Javascript - and thus this mechanism/option.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE

diagram
childrenSECTION_NAMES   SELECTIONS   DIMENSION_NAMES
description Optional container element for exclusion type elements. These criteria exclusions control NOT to display certain steps, selections, group by options, and graphic/chart options on the builder page (with some also applying to the results page) for this configuration.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/SECTION_NAMES

diagram
childrenSECTION_NAME
description Optional container that contains a list of section names (steps) that will be excluded on the builder page for this configuration.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/SECTION_NAMES/SECTION_NAME

diagram
typexs:string
description Actual name of the section to be excluded from the builder page for this configuration. For this to work, the section MUST be named and this value MUST match exactly.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/SELECTIONS

diagram
childrenSELECTION
description Optional container that contains a list of selections (questions and answers) that will be excluded for this configuration.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/SELECTIONS/SELECTION

diagram
childrenNAME   VALUE
description Defines the NAME/VALUE pair of the associated selection (answer) to be excluded from the builder page for this configuration. For this to work, the name/value pair MUST match exactly the associated SELECTION's NAME/VALUE pair or in the case of an end/leaf node DIMENSION_NAME based SELECTIONS that DIMENSION's NAME/VALUE pair. An example of this is if a module is using a general year DIMESION which lists its values from 1995-2007 and say 1995 does not exist for this configuration's dataset and the module developer does not want the 1995 selection to show on the builder page as a criteria selection. This configuration's criteria selection exclude mechanism provides that capability by specifying the dimension's name, "Year" in this case, and the associated value of "1995". This mechansim can also be used to exclude an intermediary SELECTION NAME/VALUE which leads to a child SELECTION structure. An example of this is excluding a set of standard age group selelctions for a given configuration/dataset. The rule works like this:

If the parent containers SELECTIONS element defines a DIMENSION_NAME element then this is considered an end leaf node selection set and the associated DIMENSION is used for the NAME/VALUE pairs to be compared against these specified SELECTION NAME/VALUE pairs.

Else the parent container's SELECTIONS SELECTION element's NAME/VALUE pair is used to be compared against these name/value pairs.

If either of the above matches these values specified, then that selection is NOT created by the builder XSLT code. The name/value pair's combination values MUST match exactly. If all selections are to be excluded then that's the same as excluding the parent container - either SELECTION element or the entire SECTION element. Note that the SELECTION to be excluded MUST be named. This NAME can be any valid HTML/XML element name and MUST be uniquely identify that selection set/selection item within the query module file.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/SELECTIONS/SELECTION/NAME

diagram
typexs:string
description Name of the SELECTION to be excluded (based on the name value pair). This value can match either a SELECTIONS/NAME, SELECTION/NAME, or DIMENSION/NAME.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/SELECTIONS/SELECTION/VALUE

diagram
typexs:string
description Value of the associated SELECTION to be excluded (based on the name value pair). This value can match either a SELECTION/VALUE or a DIMENSION/VALUE.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/DIMENSION_NAMES

diagram
childrenDIMENSION_NAME
description Optional container that contains a list of dimension names that will be excluded for this configuration on the builder page's group by option lists. Note that the builder XSLT code is not currently programmed to also remove the selection type dimensions from the builder page when a DIMENSION_NAME is excluded.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/DIMENSION_NAMES/DIMENSION_NAME

diagram
description Actual name of the dimension to be excluded from the builder page for this configuration. For this to work, the value MUST match exactly the DIMENSION/NAME element's text/value. The dimension can still be returned by IBIS-Q but this dimension will not be shown to the user in the builder page's group by selection section.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/GRAPHIC_NAMES

diagram
childrenALL_FLAG   GRAPHIC_NAME
description Optional container that contains a list of graphic/chart names that will be excluded for selection for this configuration from the builder and results page.

NOTE: excluding the graphic selections does NOT impact the default graphic selection for this configuration nor if the configuration is a map. The user will stil have the option to display the chart by adding the "?GraphicName=xyz" to the result page's URL.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/GRAPHIC_NAMES/ALL_FLAG

diagram
description Optional element that controls if any graphic type selection list options will be shown/built by the builder page. This also has a similar effect for the result's page left nav menu graphic selection options. The value of this element can be anything - even null - it simply needs to be present (like all other _FLAG type elements). This flag takes precedence over any GRAPHIC_NAME elements defined.

QUERY_MODULE/CONFIGURATIONS/CONFIGURATION/CRITERIA/EXCLUDE/GRAPHIC_NAMES/GRAPHIC_NAME

diagram
description Optional element that controls excluding specified chart type graphic selections for this configuration on the builder page and results page. The valid values are contained within the "xml/charts.xml" file with the CHART/NAME element serving as the key. To exclude a chart, set the GRAPHIC_NAME value to match exactly the CHART/NAME element to not be available as a selection option on the builder page or the results page.


QUERY_MODULE/CRITERIA

diagram
childrenOTHER_HTML_HEAD_CONTENT   OVERVIEWS   SECTIONS
description Container that controls the builder page's filtering and grouping criteria. This includes the overview(s) shown, the sections and selections, and special javascript used on the builder page.

QUERY_MODULE/CRITERIA/OTHER_HTML_HEAD_CONTENT

diagram
typexs:string
description Optional element that allows for any special HTML HEAD type elements to be inserted for this module. This is mostly used for special javascript functions which can be used by the pre submit javascript or if special CSS properties are wanted to bold or change colors on certain selections etc. Any text contained within MUST contain any and all needed HTML mark up (sans the HTML HEAD container element).

QUERY_MODULE/CRITERIA/OVERVIEWS

diagram
childrenOVERVIEW
description Optional container for a single or series of overview sections for this module. Overviews are text shown in the "Overview" step/section of the module's builder page. If multiple overviews exist the XSLT code automatically seperates with a blank line. Overviews are displayed/processed in the order they are placed within this container element.

QUERY_MODULE/CRITERIA/OVERVIEWS/OVERVIEW

diagram
childrenTITLE   TEXT
description Overview container element that contains the title and text elements.

QUERY_MODULE/CRITERIA/OVERVIEWS/OVERVIEW/TITLE

diagram
typexs:string
description Optional title associated with the text and TEXT element(s). If this element is present an HTML H3 element with the title's value will be created first before the actual overview text. If no TEXT elements are defined then this OVERVIEW is skipped.

QUERY_MODULE/CRITERIA/OVERVIEWS/OVERVIEW/TEXT

diagram
typexs:string
description Section of text that is displayed in the overview section of the builder page. If there are multiple TEXT elements, each is separated by a blank line.

QUERY_MODULE/CRITERIA/SECTIONS

diagram
childrenSECTION
description Main module filter criteria sections container. This is the beginning of all the builder page's steps, questions and answers. Note that the XSLT automatically numbers the steps and inserts them in the order in which they exist in the module XML file.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION

diagram
childrenNAME   TITLE   DESCRIPTION   SELECTIONS   SELECTED_DIMENSIONS
description Container element for a section definition. A section is shown on the builder page as a "Step".

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/NAME

diagram
typexs:string
description Optional name which is only needed for section exclusions. If the section has a name element and it matches the configuration's EXCLUDE/SECTION_NAMES/SECTION_NAME value then this section will be excluded from the builder page.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/TITLE

diagram
typexs:string
description Contents of this element are used to display to the user on the step bar and on mouse over for the top step selection bar. If a DESCRIPTION element is not present for the step, the TITLE element is also used as a default mouse over for the associated step bar.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/DESCRIPTION

diagram
typexs:string
description Optional element whose contents are used for the step's bar on mouse over contents.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/SELECTED_DIMENSIONS

diagram
childrenSELECTED_DIMENSION
description Optional container element whose contents specify which contained criteria selections are selected (for checkboxes, selection lists, and radio buttons) or the actual value (for those "fill in the blank" input selections). Once the user submits their selection, the Java controller code maintains the contents of this element. If this element is not found and nothing was selected for that step then the system by default uses all values.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/SELECTED_DIMENSIONS/SELECTED_DIMENSION

diagram
childrenNAME   VALUES
description Container element that specifies which end leaf node DIMENSION values are to be/were selected. This is done by specifying the associated DIMENSION's NAME and VALUE. In most cases these are dimensions but the mechanism may also be applied to SELECTION NAME/VALUE pairs. However, it should be noted that if applying to a SELECTION type selection and if that SELECTION element is an intermediary (non end leaf node value) then the builder page will only be able to dispaly that selection being selected on the initial time the user enters that builder page for that module. All modify query opterations from the results page will NOT be able to pick this value up as those subsequent calls are based on the user's previous selections (all non leaf node selections are cleared when the builder page is submitted and thus lost). For actual leaf node selections, all intermediary selections are automatically selected by the builder XSLT.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/SELECTED_DIMENSIONS/SELECTED_DIMENSION/NAME

diagram
description Selection's associated DIMENSION/NAME or SELECTION/NAME that is/was selected. Note that the NAME/VALUE MUST match/be found within this SECTION's SELECTION/VALUE or specified DIMENSION NAME/VALUE pair.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/SELECTED_DIMENSIONS/SELECTED_DIMENSION/VALUES

diagram
childrenVALUE
description Container for the selected/specified selection's values.

QUERY_MODULE/CRITERIA/SECTIONS/SECTION/SELECTED_DIMENSIONS/SELECTED_DIMENSION/VALUES/VALUE

diagram
description Selection's actual associated DIMENSION/VALUE or SELECTION/VALUE value that is/was selected or in the case of a fill in the blank definition the value that was entered or will be shown in the HTML INPUT element.


SELECTIONS

diagram
childrenTITLE   NAME   DIMENSION_NAME   DESCRIPTION   SELECTION_TYPE   HELP   SELECTION
used byQUERY_MODULE/CRITERIA/SECTIONS/SECTION   SELECTIONS/SELECTION
description Container element that defines a "question". The child SELECTION elements provide the "answer" type selection elements. This element is not shown as part of the CRITERIA/SECTION structure (with an explicit path). However, it is, and it does only exists within the CRITERIA element. The reason that this element is defined generically is because it can be nested within a SELECTION element thus creating a recursive element structure allowing as many question/answer/question/answer levels as needed.

SELECTIONS/TITLE

diagram
typexs:string
description Optional element that contains the text that is typically referred to as the question. If defined, the text will appear as a heading text above the associated selections/answers (child SELECTION elements for intermediary selections or associated DIMENSION elements when the SELECTIONS element references a DIMENSION_NAME to be used).

For nested sub SELECTION/SELECTIONS this element is typically not used as the container SELECTION element's TITLE/VALUE (answer) serves as the title for the sub question.

SELECTIONS/NAME

diagram
typexs:string
description Optional element which provides the name for this selections' SELECTION elements (answers on the builder page). When a name is provided, the builder XSLT code will create a set of HTML "input" elements or a "select" HTML element with the associated element's name attribute set to this value. Note that a the NAME and DIMENSION_NAME elements are mutually exclusive (only one can exist) and even if both are defined (which is illegal) the DIMENSION_NAME element's value will take precedence.

If the child SELECTION elements are used for a criteria/navigation filtering layer and none of the configurations need to exclude one or more of the selections, then this NAME element is not needed. If no NAME element is defined and if the child SELECTION/NAME element is not specified, then the HTML input element's name attribute value will be automatically created by the XSLT code according to it's internal ID. These intermediary selections (as well as any orphaned selections) will be cleared out by the Javascript code before the page is submitted to the server and thus will not be submitted to the backend IBIS-Q system.

CORRECT USAGE/RECOMMENDATIONS:
  • Define a SELECTIONS/NAME element IF the child SELECTION element needs to be excluded from the builder page for one of the module's given configurations.
  • If only one child SELECTION element is to be excluded then that SELECTION could contain a NAME element instead of defining the NAME at the SELECTIONS element level. This is not highly recommended but would be acceptable.
  • Do NOT define both a SELECTIONS/NAME and a SELECTIONS/DIMENSION_NAME element for a given SELECTIONS element. Only one is allowed and for intermediary selections the NAME is NOT required.
  • Do NOT define NAME elements for the main SELECTIONS container or the child SELECTION elements that are not needed by the backend IBIS-Q system or if the selelctions do not need to be "excluded" for a given module configuration.
  • Do use the DIMENSION_NAME element for the SELECTIONS element that wlil be submitted to the backend IBIS-Q system. See the DIMENSION_NAME definition for information about the DIMENSION_NAME element.
  • For end, leaf node the DIMENSION_NAME element should be used as described above. However, it is possible to define a series of child end leaf node SELECTION elements which can be submitted to the server. The one issue when doing this is that the resulting IBIS-Q XML must still match a module's DIMENSION element. Put another way, if the selection elements are used for the backend IBIS-Q system, it is critical that the names and values match/are recognized by the backend IBIS-Q system and that the returned query result XML matches the module's defined dimensions (name/value). This is NOT the recommended way but is an option.
  • If the selection elements are used for the backend IBIS-Q system, it is recommeded to define the NAME at the SELECTIONS level and NOT within each child SELECTION element. This provides easier maintenance and increased reliability for all the child SELECTION elements defined within the container SELECTIONS element.

SELECTIONS/DIMENSION_NAME

diagram
typexs:string
description Used in place of a series of child SELECTION elements to reference a defined DIMENSION via its NAME element so that all of its child VALUE elements can be used to produce the builder page's HTML user input selection type elements/tags.

SELECTIONS/DESCRIPTION

diagram
typexs:string
description Optional element whose contents are used for the selection's/question's on mouse over popup text.

SELECTIONS/SELECTION_TYPE

diagram
childrenSINGLE   MULTIPLE   LIST   TEXT_INPUTHIDDEN
description Container element that has child elements which control the type of selections that will be generated by the builder XSLT code. Valid child elements are: SINGLE, MULTIPLE, LIST, TEXT_INPUT. One and ONLY one may exist within this element. There is not a default and an error message will be shown for each SELECTION element if nothing is specified.

SELECTIONS/SELECTION_TYPE/SINGLE

diagram
typexs:string
description Null/blank flag type element that specifies/controls that the builder page creates radio buttons for all of the immdediate child SELECTION elements (or associated DIMENSION VALUE elements). When present, the builder XSLT produces a series of radio buttons all with the HTML name being the same and specified by the value of SELECTIONS/NAME or SELECTIONS/DIMENSION_NAME element. The value of the radio button is controlled/specified by the child SELECTION/VALUE element.

SELECTIONS/SELECTION_TYPE/MULTIPLE

diagram
typexs:string
description Null/blank flag type element that specifies/controls that the builder page show check boxes for all of the immdediate child SELECTION elements (or associated DIMENSION VALUE elements). When present, the builder XSLT produces a series of check boxes all with the HTML name being the same and specified by the value of SELECTIONS/NAME or SELECTIONS/DIMENSION_NAME element. The value of the radio button is controlled/specified by the child SELECTION/VALUE element.

SELECTIONS/SELECTION_TYPE/LIST

diagram
childrenSIZE   WIDTH   MULTIPLE
description Container element that specifies/controls that either a drop down list or an open option list will be built for all of the following answer type selections (each immediate child SELECTION or associated DIMENSION/VALUE element). This element also contains child elements which specify the other characteristics of a selection list. If present, the builder XSLT produces an HTML selection list with the HTML name being specified by the value of the DIMENSION_NAME (or SELECTIONS/NAME or SELECTION/NAME element if that is used). The SIZE element controls the number of rows to display and the MULTIPLE element controls if a user can make multiple selections.

IMPORTANT: These type of selection list answer should always be used as on end leaf nodes and not used for intermediary selections since there is not any mechanism in place to expand and contract the sub selection question/answers based on a selection list HTML object.

SELECTIONS/SELECTION_TYPE/LIST/SIZE

diagram
typexs:string
description Optional element that controls the vertical size of selection list. If this element is not specified, or if it's value is 1 then a drop down option list will be created (for those browsers/operating systems that support this - like IE on Windows). If the value is greater 1 then a scrollable list box is created with the specified number of rows showing.

SELECTIONS/SELECTION_TYPE/LIST/WIDTH

diagram
typexs:string
description Optional element that controls the width of answers selection list. If this element is not specified, the value specified in the css file is used. If a value is specified, then this value is used for that objects CSS style width property. Valid values are any valid css width/suffixes (like 300px for pixel, 300pt for point etc.)

SELECTIONS/SELECTION_TYPE/LIST/MULTIPLE

diagram
typexs:string
description Optional blank/null flag type element that controls if the option list's answers are a single select type list or a multiple selection type list. If this element is present the user will be allowed to select 1 or more of this items in the list (via the HTML list's "multiple" attribute). If this element is NOT present, then the default is to only allow the user to select one item in the list.

SELECTIONS/SELECTION_TYPE/TEXT_INPUT

diagram
childrenMAX_LENGTH   SIZE
description Container element that specifies/controls that and how the HTML text inputs will be created by the builder XSLT. The child elements refine the attributes of the HTML text input tag. If specified the module XSLT produces an HTML text input object with the HTML name being specified by the value of the SELECTION/NAME or SELECTIONS/NAME or the DIMENION/NAME value.

NOTE: There can only be one input type specified for a SELECTIONS element (SINGLE_SELECTION, MULTIPLE_SELECTION, LIST_SELECTION, TEXT_INPUT).

IMPORTANT: These type of text input answers should always be used as on end leaf nodes and not used for intermediary selections since there is not any mechanism in place to expand and contract the sub selection question/answers based on a text input type HTML object.

SELECTIONS/SELECTION_TYPE/TEXT_INPUT/MAX_LENGTH

diagram
typexs:integer
description Optional element that controls the maximum length of strings that can be entered for HTML text input answer types. The builder XSLT creates an HTML text input object with it's "maxlength" attribute set to this value specified.

SELECTIONS/SELECTION_TYPE/TEXT_INPUT/SIZE

diagram
typexs:integer
description Optional element that controls the HTML text input object's display width. The builder XSLT creates an HTML text input object with it's "size" attribute set to this value specified. This value is generalized to be the number of characters that will be shown without having to scroll in the text input field. It is NOT a pixel size. Note that there will be mixed results when comparing the display width with different browsers. This is due to the fact that each browser can potentially use different fonts will calculate the size needed differently (test, test, test).

SELECTIONS/SELECTION_TYPE/HIDDEN

diagram
typexs:string
description This mechanism provides an intermediary user selection to map 1:n hidden selections with one selection. This allows you to code a selection that when selected, will result in 1:n hidden selections being submitted for processing. This only works for one specified set of DIMENSION values per SELECTION. So for now you can't code it for when a user selects item "A" that they are actually selecting multiple dimension values like male, 18-30 years old, years 2000-2008. But you can code it that when a user selects item "A" that they are really selecting age groups 10-17, 18-30, and 50-55. Selection "B" could be coded to select a different setup of DIMENSION VALUEs. As in all cases, you need to be aware of your backend data and what makes sense for selections. In the case of a boolean survey question there's typically only 1 not associated value for that DIMENSION so it works with only specifying the dimension name. SELECTION TITLE=Optional title associated with the hidden selection(s). If not specified and exists the sub element's SELECTIONS/TITLE is used. Else the DIMENSION TITLE is used. Else CSV list of all the dimension's VALUE / TITLEs are used. SELECTIONS SELECTION_TYPE/HIDDEN DIMENSION_NAME=name_of_some_dim_that_has_1:n_value_elements What the above produces is a user selection with a title as outlined above that contains 1:n hidden HTML INPUT elements. These hidden elements have a "name" of DIMENSION / NAME with the "value" associated with the dimension's VALUE element. Only non NOT_ASSOCIATED and non EXCLUDED value elements are included. The code can also handle a subset of a DIMENSION's VALUEs by coding the sub SELECTIONS/NAME and SELECTION/VALUE elements (do NOT code using the DIMENSION_NAME). For this to work, the NAME MUST match a DIMENSION_NAME and the VALUE must match the DIMENSION's VALUE(s). Again this is only used when you have a dimension that has "n" selections and you want to specify a subset of those selections to be included.

SELECTIONS/SELECTION

diagram
childrenNAME   DIMENSION_NAME   VALUE   TITLE   DESCRIPTION   HELP   SELECTIONS
description Container element used for answer type definitions. This element is typically used/recommended to be used for intermediary selections and NOT for end, leaf node selections which should almost always be a named DIMENSION. The type of HTML user interface object created by the builder XSLT depends on the parent container's SELECTIONS element. The SELECTION elements control the text, what the answer is named and it's value.

NOTE: Only one name type element is allowed. This can be either a NAME or DIMENSION_NAME or nothing - a NAME and DIMENSION_NAME can NOT be defined for a given SELECTION element.

SELECTIONS/SELECTION/NAME

diagram
typexs:string
description Optional element that can be used to provide precise, unique name for a given selection. This value specifies a the HTML "name" attribute's value to be used (and what is submitted to the server). If not present and a NAME is defined in the parent container's SELECTIONS element then that value will be used. If not defined in the parent container or here, then the HTML tag's name attribute value will be automatically generated by the builder XSLT based on the builder XSLT's internal element ID. If the parent container's SELECTIONS element contains a NAME element and the SELECTION/NAME element exists the SELECTION/NAME value overrides the parent container's more general SELECTIONS/NAME value. The exception to this rule occurs when an option list is generated. In that case the SELECTIONS/NAME element is used to name the HTML select object (as it is impossible to name each selection list item). If NOT using the reommended DIMENSION_NAME mechanism, and if this SELECTION is a leaf node, then the NAME/VALUE is the actual name/value pair that is submitted to controls the IBIS-Q filtering and must match the backend IBISQ system as well as a DIMENSION with the same NAME/VALUE pair. This SELECTION NAME/VALUE pair can also be used by the exclusion mechanism.

Recommendation: It is highly recommended to name the intermediary SELECTION elements the with parent container SELECTIONS/NAME element. This saves developer time and is the safest and easiest way to maintain the module's selection names.

SELECTIONS/SELECTION/VALUE

diagram
typexs:string
description Required element (other than for text input type selections) that contains the text to be used for the HTML input object/HTML select option list selection's value attribute. This value is also needed for SELECTION exclusion. If the selection is of type text then this text will contain/provide the default value for that text input object. If it were not for the fact that sometimes it is desirable to have a "" value for text inputs, this element would be required.

It is possible for this element to not be required IF the answer is uniquely named (e.g. text input types) and there's only one of them or if it is a text input. For radio button groups, check boxes, selection option lists these values should be unique amoung the answer group (e.g. for all items using the same name). Also, if this a leaf node answer that controls IBIS-Q filtering or display parameters then the value MUST match exactly the value used by the IBIS-Q application to query the SAS dataset (of course this is highly discouraged as the SELECTIONS/DIMENSION_NAME mechanism should be used).

SELECTIONS/SELECTION/TITLE

diagram
typexs:string
description Highly recommended element that contains the text associated with the selection/answer. The contents of this element are used for the answer's title/prompt if a radio button, checkbox, or text input. It is the text shown in option list object for list type selections. If this element is not provided the VALUE element's text will be used.

SELECTIONS/SELECTION/DESCRIPTION

diagram
typexs:string
description Optional element that contains a description of this SELECTION element. This value provides a mouse over for this answer element on the builder page. Note that this is only available for radio, check box, or text input type answers.


QUERY_MODULE/DIMENSIONS

diagram
childrenDIMENSION
description Container element that defines all the module's dimension elements. A dimension is an attribute of the module's (and backend query result) available values like county, age group, gender etc. There is always at least one dimension needed for a defined module/measure. Each DIMENSION had a series of VALULE elements (contained within a VALUES element). The VALUE element contains the text of that value as well as an optional TITLE element. The CRITERIA SELECTIONS or SELECTION element refer to these DIMENSIONS for their end, leaf node selection definitions by using the DIMENSION's NAME element as a key. All query result elements return DIMENSION type elements. These returned query result DIMENSION elements also reference the module's DIMENSION elements to retrieve the optional associated VALUE TITLE text.

Note that the dimensions are defined at the MODULE level and not at the CONFIGURATION level. It was thought about making this mechanism consistent with the way IBIS-Q_APPLICATION_PARAMETERS were coded in which the general, common to all measures dimensions would be contained at the module level with the compliment of specific measure level dimensions added to the CONFIGURATION element. This was not done this way because the parameters are not seen by the user. Dimensions are seen and almost always the entire set is applicable to all configurations/measures. So to have to include a bunch of duplicate dimensions for each configuration and to have to specify their display order introduced more complexity than was wanted. To handle the exception dimensions, a consiguration dimension exclusion mechanism was implemented which removes specified dimensions for that configuration.

QUERY_MODULE/DIMENSIONS/DIMENSION

diagram
childrenNAME   TITLE   DESCRIPTION   PROXY_DIMENSION_NAME   DYNAMIC_VALUES_FLAG   VALUES
description Container element that contains the actual dimension definition element.

QUERY_MODULE/DIMENSIONS/DIMENSION/NAME

diagram
typexs:string
description Element that contains the dimension's name which serves as the key to this element and MUST be unique amoung all of that module's dimensions. This name (or the associated names) MUST match the dimension names returned by IBIS-Q query results XML and specified in the SELECTIONS/DIMENSION_NAME. Examples of dimension names include "Gender", "County", "AgeGrp", Year, etc.

QUERY_MODULE/DIMENSIONS/DIMENSION/TITLE

diagram
typexs:string
description Element that contains the dimension's title which is shown to the user when selecting a dimension to group by on the builder page. The dimension title is shown on the query result page in the criteria's group by section and also as a row/column header in the result's data table(s).

QUERY_MODULE/DIMENSIONS/DIMENSION/DESCRIPTION

diagram
typexs:string
description Optional element that contains a description of the dimension that is used on the result page when mousing over the dimension's title which is shown in the data result table.

QUERY_MODULE/DIMENSIONS/DIMENSION/PROXY_DIMENSION_NAME

diagram
typexs:string
description Optional element that contains the surrogate or associated parent dimension name for this dimension. This allows this dimension to rollup to a higher dimension or be considered part of a dimension group. An example is if this is a specific type of location like "county" or "local heath district" which can be represented and referred to as a general "Location" dimension. To designate this, the PROXY_DIMENSION_NAME would be used which contains the actual name of the general location's dimension ("Location" in this case for the "county" dimension). The proxy dimension does not contain any VALUEs - it is simply a place holder for the real dimensions.

QUERY_MODULE/DIMENSIONS/DIMENSION/DYNAMIC_VALUES_FLAG

diagram
typexs:string
description Optional element that is a blank or null flag type element. Currently the builder and result XSLT do NOT explicitly use or rely on this flag to signify that the resulting queried data contains values that are NOT defined within a dimension. The XSLTs are programmed to be more generic and if no matching TITLE is found then the VALUE is used. This was used primarily for user defined filtering criteria like custom ranges but still provides value to a module developer to know that the values are not/should not be specified.

QUERY_MODULE/DIMENSIONS/DIMENSION/VALUES

diagram
childrenVALUE
description Container for all valid dimension VALUE elements.

QUERY_MODULE/DIMENSIONS/DIMENSION/VALUES/VALUE

diagram
childrenTITLE   DESCRIPTION   NOT_ASSOCIATED_FLAG
description Container element for each defined DIMEINSION value.

QUERY_MODULE/DIMENSIONS/DIMENSION/VALUES/VALUE/TITLE

diagram
typexs:string
description Optional title to be dispalyed to the user as selections/answers on the builder page or in the data table on the results page. If no title is associated with the VALUE then the VALUE element's text will be by the XSLT code for the builder page's selections and the result page's data table.

QUERY_MODULE/DIMENSIONS/DIMENSION/VALUES/VALUE/DESCRIPTION

diagram
typexs:string
description Optional description that if exists is used for that value when moused over on the result page's data table or on the builder page's criteria filter selection.

QUERY_MODULE/DIMENSIONS/DIMENSION/VALUES/VALUE/NOT_ASSOCIATED_FLAG

diagram
typexs:string
description Optional null/blank flag type element that the builder XSLT code uses to exclude "unknown" type values from being put into the list of selectable items. If present, the builder page will not show this value as a selection but the query result data table can contain this value and will show this VALUE's TITLE element. This is mainly used for "99" type values where the value needs a title like "Unknown" or "Other" etc.


QUERY_MODULE/REQUEST

diagram
childrenCONFIGURATION_NAME   CONFIGURATION_PATH   MEASURE_NAME   GRAPHIC_NAME   QUERY_APPLICATION_URL   STARTED_DATE_TIME_STAMP   SUBMITTED_DATE_TIME_STAMP   FINISHED_DATE_TIME_STAMP   SERIAL_NUMBER   SELECTED_GROUP_BY   RESULT_GROUP_BY   ERROR
description Container for all the dynamically created elements that are associated with the user's query request. These elements are inserted and maintained by the Java controller code and help track such things like the current measure, graphic, group by selections etc.

QUERY_MODULE/REQUEST/CONFIGURATION_NAME

diagram
typexs:string
description Keeps the requested configuration name value. This is not really needed because all other CONFIGURATION elements are not included as part of the query module XML document when it is requested by a user - only the requested CONFIGURATION is present but this is an easy way to get this value and is good backup in case the standard module include processing XSLT is not used.

QUERY_MODULE/REQUEST/CONFIGURATION_PATH

diagram
typexs:string
description XSLT code uses this value to build appropriate navigation type HTML link elements.

QUERY_MODULE/REQUEST/MEASURE_NAME

diagram
typexs:string
description Tracks the current activly selected configuration measure name.

QUERY_MODULE/REQUEST/GRAPHIC_NAME

diagram
typexs:string
description Tracks the current activly selected graphic/chart name.

QUERY_MODULE/REQUEST/QUERY_APPLICATION_URL

diagram
typexs:string
description Contains the current/last used IBIS-Q query application URL.

QUERY_MODULE/REQUEST/STARTED_DATE_TIME_STAMP

diagram
typexs:string
description Time that this active query module was first requested by the user.

QUERY_MODULE/REQUEST/SUBMITTED_DATE_TIME_STAMP

diagram
typexs:string
description Time that the query was submitted to the backend IBIS-Q application.

QUERY_MODULE/REQUEST/FINISHED_DATE_TIME_STAMP

diagram
typexs:string
description Time that the query result was fully returned from the backend IBIS-Q application. This time does not include time needed to parse the data values or do any XSLT processing.

QUERY_MODULE/REQUEST/SERIAL_NUMBER

diagram
typexs:string
description Unique value that is appended as a URL parameter to all graphic/chart requests so that the browser or any upstream routers will not cache the requested query result chart.

QUERY_MODULE/REQUEST/SELECTED_GROUP_BY

diagram
childrenROW_DIMENSION_NAME   COLUMN_DIMENSION_NAME   OTHER_DIMENSION_NAME
description Container for the group by options values the user selected on the builder page.

QUERY_MODULE/REQUEST/SELECTED_GROUP_BY/ROW_DIMENSION_NAME

diagram
typexs:string
description Selected row group by dimension name value.

QUERY_MODULE/REQUEST/SELECTED_GROUP_BY/COLUMN_DIMENSION_NAME

diagram
typexs:string
description Selected column group by dimension name value.

QUERY_MODULE/REQUEST/SELECTED_GROUP_BY/OTHER_DIMENSION_NAME

diagram
typexs:string
description Selected other group by dimension name value.

QUERY_MODULE/REQUEST/RESULT_GROUP_BY

diagram
childrenROW_DIMENSION_NAME   COLUMN_DIMENSION_NAME   OTHER_DIMENSION_NAME
description Container for the group by options values that were actually used for the query. The following business rules are used to determine how these values are sent to the backend IBIS-Q application:

  1. The selected row group by is always the first group by dimension and is always sent to the backend as the "cross1" parameter.
  2. If the selected other group by is specified then this value is sent as "cross2". If the column group was specified then this value is sent as the "cross3" parameter.
  3. Else ("other" group by dimension not specified) and the selected column group by is specified then that value is sent to the backend IBIS-Q application as the "cross2" parameter.

QUERY_MODULE/REQUEST/RESULT_GROUP_BY/ROW_DIMENSION_NAME

diagram
typexs:string
description Actual row group by value used by the query application. This is commonly submitted as the "cross1" parameter.

QUERY_MODULE/REQUEST/RESULT_GROUP_BY/COLUMN_DIMENSION_NAME

diagram
typexs:string
description Actual column group by value used by the query application. This is commonly submitted as the "cross2" parameter.

QUERY_MODULE/REQUEST/RESULT_GROUP_BY/OTHER_DIMENSION_NAME

diagram
typexs:string
description Actual other/3rd dimension group by value used by the query application. This is commonly submitted as the "cross3" parameter.

QUERY_MODULE/REQUEST/ERROR

diagram
childrenTITLE   DESCRIPTION   RESPONSE
description Container element that holds any errors found while trying to retrieve the query data from the backend server and/or result XML processing exceptions.

QUERY_MODULE/REQUEST/ERROR/TITLE

diagram
typexs:string
description Short descriptive title as to the nature of the error.

QUERY_MODULE/REQUEST/ERROR/DESCRIPTION

diagram
typexs:string
description More detailed explanation of the problem. If a Java exception was thrown the exception message is usuaully contained here.

QUERY_MODULE/REQUEST/ERROR/RESPONSE

diagram
typexs:string
description The resultant XML string that was received by the view system from the IBIS-Q application.


QUERY_MODULE/IBIS-Q_QUERY_RESULT

diagram
childrenERROR   DEBUGS   PARAMETERS   RECORDS
description Main container element which contains the data returned by an IBIS-Q query request. If there was an error during processing the request an ERROR element is returned. The PARAMETERS element contains the parameters used by the query while the RECORDS contain the actual query result data records.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/ERROR

diagram
childrenCODE   DESCRIPTION
description Container element which is returned by IBIS-Q if there was any type of a problem. The UI displays the CODE and DESCRIPTION if this element is present. Currently it is unknown what all errors the IBIS-Q application can/will return.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/ERROR/CODE

diagram
typexs:string
description This is typically a numeric code value which is associated with the IBIS-Q error.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/ERROR/DESCRIPTION

diagram
typexs:string
description Text that describes the error.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/DEBUGS

diagram
childrenDEBUG
description Container element which contains all the query debug information elements.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/DEBUGS/DEBUG

diagram
childrenTYPE   VALUE   TITLE   TEXT
description Container element which is contains debug elements returned by the CGI IBIS-Q application. The bulk of the information is contained within the TEXT element.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/DEBUGS/DEBUG/TYPE

diagram
typexs:string
description Contains the type of debug information this element contains. sas = SAS debug info based on the "sas" parameter value passed to IBIS-Q. test = The test info based on the "test" parameter value passed to IBIS-Q.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/DEBUGS/DEBUG/VALUE

diagram
typexs:string
description Optional element which usually contains the value associated with the type of debug information returned from IBIS-Q. This information is also available in the VALUE element of the parameter with the NAME of "test" or "sas".

QUERY_MODULE/IBIS-Q_QUERY_RESULT/DEBUGS/DEBUG/TITLE

diagram
typexs:string
description Optional element that contains the debug section title which is shown to the user on the results page.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/DEBUGS/DEBUG/TEXT

diagram
typexs:string
description Text of the debug output request. This value is wrapped in an XML CDATA statement so that anything within goes.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS

diagram
childrenRECORD
description Container element for all query result records.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD

diagram
childrenDIMENSIONS   MEASURES
description Container element which houses one query result value. This record contains all "n" dimensions, the actual value, and limits. Only dimensions and the value element are required with IBIS-Q returning the numerator, denominator, and any associated limits if they exist.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/DIMENSIONS

diagram
childrenDIMENSION
description Container element that contains the record's dimension elements.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/DIMENSIONS/DIMENSION

diagram
childrenNAME   TITLE   VALUE
description Container element that contains the record's dimension data. A dimension is an attribute of the value like county, age group, gender etc. There is always at least one dimension returned with each IBIS-Q record. Currently, the results page will only the 2-d table when there are exactly 2 dimension. The data list table will display all dimensions contained within the IBIS-Q results XML. The QUERY_MODULE/DIMENSIONS/DIMENSION/VALUES/VALUE elements are used to match up with these values to retrieve the title to be displayed in the result data tables.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/DIMENSIONS/DIMENSION/NAME

diagram
typexs:string
description Element that contains the dimension name. This name MUST match a QUERY_MODULE/DIMENSIONS/DIMENSION/NAME value (or DIMENSION_PROXY_NAME). Examples of dimension names include "Gender, Year".

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/DIMENSIONS/DIMENSION/TITLE

diagram
typexs:string
description Element that contains the dimension's title. This value is returned by IBIS-Q but is not used by the results page.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/DIMENSIONS/DIMENSION/VALUE

diagram
childrenTITLE
description Contains this record's dimension's value. This value is combined with the DIMENSION/NAME element to lookup the associated dimension's VALUE title. An example of a typical value for the gender dimension would be "male", "female", "both", "unknown" (which would have DIMENSION VALUE/TITLEs of "Male", "Female", "Both", "Unknown").

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/DIMENSIONS/DIMENSION/VALUE/TITLE

diagram
typexs:string
description Element that contains the dimension's title. This value is returned by IBIS-Q but is only used by the results page if there is not a corresponding DIMENSION/VALUE/TTILE element which provides a matching title to use.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES

diagram
childrenMEASURE
description Container element that contains the record's measure elements.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE

diagram
childrenNAME   VALUE   NUMERATOR   DENOMINATOR   LOWER_CONFIDENCE_LIMIT   UPPER_CONFIDENCE_LIMIT
description Container element that contains the record's measure specific data. A measure is a statistical value which is dependent on the dimensions of that record. Each measure returned in the query result MUST have a corresponding measure in the selected configuration otherwise, the result XSLT will not display it. The NAME element is used as the key to lookup the associated configurations measure title and XSLT format pattern data.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/NAME

diagram
typexs:string
description Element that contains the measure name. This name MUST match a QUERY_MODULE/CONFIGURATION[selected measure]/MEASURE/NAME value.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/VALUE

diagram
childrenTITLE
description Contains the actual measure value in the element's text as well as the TITLE element.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/VALUE/TITLE

diagram
description Contains the title text associated with the value. This is the value which is shown to the user on the "old" IBIS-Q system. This value is not currently being used but could by used by the view system if a DIMENSION/VALUES/VALUE/TITLE can NOT be found.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/NUMERATOR

diagram
typexs:string
description Optional element that contains the numerator value for the associated record measure value. This element may or may not be returned by IBIS-Q. The XSLT format pattern and header title shown on the results page is specified in the configuration's/MEASURES/MEASURE/NUMERATOR element.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/DENOMINATOR

diagram
typexs:string
description Optional element that contains the numerator value for the associated record measure value. This element may or may not be returned by IBIS-Q. The XSLT format pattern and header title shown on the results page is specified in the configuration's/MEASURES/MEASURE/DENOMINATOR element.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/LOWER_CONFIDENCE_LIMIT

diagram
typexs:string
description Contains the lower confidence limit value for the associated record measure value. This element may or may not be returned by IBIS-Q.

QUERY_MODULE/IBIS-Q_QUERY_RESULT/RECORDS/RECORD/MEASURES/MEASURE/UPPER_CONFIDENCE_LIMIT

diagram
typexs:string
description Contains the upper confidence limit value for the associated record measure value. This element may or may not be returned by IBIS-Q



HELP

diagram
childrenTITLE   TEXT   URL   LOCAL_URL   USE_ALERT_FLAG
used bySELECTIONS/SELECTION   SELECTIONS
description Optional help container element. If this element is present, a "Help" button is displayed to the far right of the selection's text/title. This element is a little inconsistent when compared with other elements where the TITLE element is the main text shown to the user and the DESCRIPTION element is used for mouse overs. The reason for this is due to the fact that the HELP XSLT template is a general purpose template that resides in the Page.xslt stylesheet file.

For the HELP element, the following rules are used:
  • If a URL or LOCAL_URL exists then the XSLT code will produce an HTML link element using the URL. If LOCAL_URL then the application's context path will be used as a prefix to the supplied value. If URL then the standard complete or relative URL is assumed with its value being used as is.
  • If a URL does NOT exist but the USE_ALERT_FLAG element is present then the contents of the TEXT element will be displayed via a javascript alert box with the mouse over being the supplied TITLE element's value.
  • Otherwise, an HTML div popup is created by the code that contains the supplied text. This "div" is activated on mouse over and is controlled via CSS without any scripting being involved.

The HELP element really should be refactored with a DISPLAY_TYPE element that has valid values of: LOCAL_URL, URL, ALERT_BOX, and POPUP with the default being POPUP. The TITLE element could stay the same with a generic CONTENT element that would contain the URL, script text, or HTML DIV content text/tags. It was not refactored since other adopters have already started module development plus some HELP elements do an include of TEXT type elements which would have to also be reworked.

HELP/TITLE

diagram
typexs:string
description Optional element that is used for the help button's mouse over text. If the help is in the form of a TEXT or URL element then this text should describe what will happen and any other relevant information. When the default condition applies (no URL or alert flag) then the title is displayed within the mouse over popup div with the title's formatting being controlled by the CSS definitions.

HELP/TEXT

diagram
typexs:string
description Optional element(s) that is used if a URL or LOCAL_URL element is not present. If the USE_ALERT_FLAG element exists then the value of this element will be put inside a javascript alert box. If the USE_ALERT_FLAG is not present the the text within this element are copied into the an HTML div tag. Note that the text can contain any HTML formatting tags as long as the content is valid XML.

Javascript Alert Box Formatting:
Note that primitive formatting can be accomplished within this text. The module developer is limited to anything that exists in javascript string formatting and character escaping. Listed below are a few of the major escape strings and other issues to watch out for:
  • \" = double quote character. If a double or single quote character is used directly within the text the alert box message will not display correctly.
  • \' = single quote character (see message above).
  • \n = carriage return. If a blank line is desired then the module developer will need to include two of these e.g. \n\n.
  • \t = tab. This character does not work with Netscape.
  • &lt; = the less than character <. The standard XML rules apply to the text contained within.
  • &gt; = the greater than character >.
  • &amp; = the & character.

HELP/URL

diagram
typexs:string
description Optional element that, if present, will cause a new browser window to be opened using the specified URL.

HELP/LOCAL_URL

diagram
typexs:string
description Optional element that, if present, will cause a new browser window to be opened using the specified LOCAL_URL - which is partial URL that is prefixed with the full server and application context path. These URL values assume a trailing "/" after the context path so the LOCAL_URL value looks like a relative path that is starting from the application's root path.

HELP/USE_ALERT_FLAG

diagram
typexs:string
description Optional null/blank element that, if present, and if a URL or LOCAL_URL element does not exist will result in the XSLT code building a Javascript alert box.