v1.1 - 4 January, 2000Initial Release
v1.2 - 5 January, 2000added sections for the Form and User Data sets.
v1.3 - 5 January, 2000cleaned up HTML some - fixing tables.
v1.4 - 5 January, 2000fixed table borders.
This document describes the XML tags and attributes used by the gnuTaxes system.
|<gnuTaxes>||the root tag used in all gnuTaxes data files.|
There can be only one <gnuTaxes:interview> tag per document and this tag contains all the dialogs and action scripts of the interview process.
There can be one or more <dialogs> tags per interview. A <dialogs> tag contains a group of <dialog> blocks which prompt/display information from/to the user. The "id" attribute gives the dialog group a unique name that can be referenced from action scripts.
|<dialog>||id||title, body, input, button||
There can be one or more <dialog> block per <dialogs> group. Each <dialog> block details a specific dialog in the interview process.
The title displayed for the dialog.
Contains the text displayed to the user.
A paragraph in the <body> tag.
|<input>||id, type, caption, true, false, caption_true, caption_false||
Gets input from the user. "id" maps to a tag in the User Data file. "type" can be "text" or "boolean". If "type" is "text", "caption" contains the caption displayed to the user next to the prompt. If "type" is "boolean", "true" contains the text value stored as the value in the user data file if the corresponding checkbox is select, "false" contains the opposite value. "caption_true" and "caption_false" contain the captions displayed to the user next to the corresponding check boxes.
Displays a button to the user. Clicking the button fires the script named in "action".
Contains the custom defined actions specific to the parent dialog group.
Contains a script block fired with a <button> whose "action" attribute matches the "id" attribute. "language" tells the gnuTaxes application which scripting language is used in the script block. See the gnuTaxSL document for more information about the scripts.
There can be only one <gnuTaxes:forms> tag per document and this tag contains the form and all worksheets associated with that form.
|<form>||id, class||head, fields, scripts||
Each form or worksheet is defined in a <form> block. The "id" is a unique, but descriptive name for the form. The "class" can be either "form" or "worksheet". Generally there will only be one "form" class block to a <gnuTaxes:forms> block, but there may be several "worksheet" class forms associated with it.
Contains any descriptive information about a form.
Declares that a separate form (named in the "form" attribute) must be completed before this form can be started.
Contains all the individual field tags which make up a form.
|<field>||id, type, source, field, size, true, false||
A form field. "id" maps to a tag in the User Data file. "type" can be "text", "number", "money", "boolean", "import" or "compute". If "type" is "import", "source" and "field" point to the form and field to import data from. If "type" is "boolean", "true" contains the text value stored as the value in the user data file if the corresponding checkbox is select, "false" contains the opposite value. If "type" is "compute", a corresponding script from the <scripts> block will be executed. "size" is the size of the field and can be a number, or two numbers separated by a comma which indicates that the number has decimal places.
Contains all the scripts for computing values for a form.
Contains a script block fired by a <field> whose "type" is "compute" and whose "id" attribute matches. "language" tells the gnuTaxes application which scripting language is used in the script block. See the gnuTaxSL document for more information about scripts.
There can be only one <gnuTaxes:userdata> tag per document. Generally this tag is only used in a saved user data file. It contains all information specified or computed during the interview and computational processes.
This special set of tags contains information about the user such as name, address, tax id, information about dependents and spouse, etc..
This tag contains a the data from a filled in form or worksheet.
NOTE: To accommodate the universal nature of the gnuTaxes application, the <userinfo> and <form> blocks may contain any number of un-specified tags. Since each tax system will require different information, the layout of a User Data file must be as un-restricted as possible. The tags below <userinfo> and <form> directly map to the "id" attributes of <input> and <field> tags from the interview and forms sections.