Data Templates

Many of the programs in the BASIC Web Utility depend on data definitions found in string templates for data formatting and conversion. HTML, however, is a text format, with no provision to convert data to or from binary formats, or to filter invalid data before it is passed to or received from the server.

The BASIC Web Utility automatically performs translations to convert data between HTML text and the internal format used by Business BASIC. This is controlled with the data templates, both through the data type included with each template data field, and through user-defined attributes.

The following user-defined attributes may be used to allow the BASIC Web Utility to properly handle data stored in various formats:

Text Fields

Field

Description

case=upper case=lower case=proper

Force text case on input and output.

caption=phrase

This caption is used by default when generating forms or HTML documents using the utfrmgen.wbb and uthtmgen.wbb programs. Captions may not contain spaces because of the way user attributes are accessed. Therefore, the BASIC Web Utility converts underscores to spaces ("Customer_Name" becomes "Customer Name").

mask=format

Use the STR(data:"format") for output, and utcstr.wbb option to map input for text values such as zip codes or phone numbers, where there is formatted external presentation but unformatted internal storage.

passthru=y

If set to "y", then output data is NOT scanned for correction of HTML entity markup characters. This allows HTML-formatted text to be included in the data.

image=y

If set to "y", then output is formatted as a HTML <img src=data> tag.

keys=item-list

The uthtmgen.wbb and utfrmgen.wbb programs can format check lists, radio buttons, and selection lists from the formtype, keys, vals and sep values. These can be placed in the field tags parsed by these programs or can be set to the defaults in the data template. item-list is a list of items keys, with no spaces (use underscores for spaces), delimited by the sepchar value or a semicolon if no sepchar is specified.

vals=desc-list

desc-list is a list of descriptions associated with the keys in item-list. The descriptions cannot contain spaces (use underscores for spaces). Each description is delimited by the sepchar value or a semicolon if no sepchar is specified.

sep=sepchar

sepchar species the delimiter character or characters used in the item-list and desc-list. If the value begins and ends with a "$", it is assumed to be a hexadecimal value.

formtype=form entry type

form-entry-type can be text, memo, radio, checkbox, list, mlist, image, file, or hidden. This serves as the default entry type in form generation. Hidden values are suppressed from text generated by uthtmout.wbb.

wrap=value

For "memo" type fields, adds a wrap=value option to the <textarea> tag.

multisep=sepval

If the data field can store multiple occurrences, sepval defines the separator character used to delimit individual occurrences. If sepval starts and ends with a "$", it is assumed to be a hexadecimal value.

border=pixels

Specifies that a table used to format checkbox and radio button columns and rows have a border around each cell.

cols=columns

Specifies the default number of columns when generating checkbox, radio buttons, or memo fields in form generation.

rows=rows

Specifies the default number or rows when generating checkbox, radio buttons, selection lists, or memo fields in form generation.

Numeric Fields

Field

Description

scale=n

Scale number by n decimal places. The internal number 10000 becomes 100.00 when n is 2. The external number 10.01 becomes 1001 when stored.

mask=format

Use format for output. All numerics not interpreted as dates are processed with utcnum.wbb on input.

Caption=phrase

See Text Fields, above.

Date Fields

Dates default to Julian integer format. If format is anything other than a known format, Julian storage is assumed. Custom formats include:

mdy

(MMDDYY)

mdyy

(MMDDYYYY)

ymd

(YYMMDD)

yymd

(YYYYMMDD)

dmy

(DDMMYY)

dmyy

(DDMMYYYY)

aon

(ADD+ON OEM format)

soa

(State of the Art OEM format)

jul

(julian integer)

dtm

(julian date with time precision)