The first few directives define the layout the physical file itself:
The field delimiter defines the character(s) that separate the fields in the rows of data inside the XCSV file. Common field delimiters are commas and tabs. (referred to as "comma separated values" and "tab separated values")
FIELD_DELIMITER COMMA FIELD_DELIMITER ~
The directive FIELD_DELIMITER is parsed for STYLE CONSTANTS as defined in the table above.
The record delimiter defines that character(s) that separate ROWS of data (FIELDS) in the XCSV file. The most common record delimiters are NEWLINE and CR (carriage return).
RECORD_DELIMITER NEWLINE RECORD_DELIMITER |
The directive RECORD_DELIMITER is parsed for STYLE CONSTANTS as defined in the table above.
Bad characters are things that should *never* be written into the XCSV file as data on output. GPSBabel automatically includes any non-blank FIELD_DELIMITER and RECORD_DELIMITER characters as BADCHARS by default.
BADCHARS COMMA BADCHARS ~|
The directive BADCHARS is parsed for STYLE CONSTANTS as defined in the table above.
A prologue is basically constant data that is written to the output file BEFORE any waypoints are processed. PROLOGUE can be defined multiple times in the style file, once for each "line" before the data begins. This is commonly used in XCSV files as a "header" row.
PROLOGUE OziExplorer Waypoint File Version 1.1 PROLOGUE WGS 84 PROLOGUE Symbol,Name,Latitude,Longitude