Section 4. magnetic card data parsing, Goals, Assumptions – Elo TouchSystems 1525L User Manual
Page 118
115
SECTION 4. MAGNETIC CARD DATA PARSING
This section describes the flexible data parsing language to be used by the MagTek device
drivers to parse specific fields from magnetic card data and expose those fields as properties
which may be retrieved by an application using the /get command. The data parsing language is
flexible in that it can define both standard and custom formats to be parsed by the driver.
GOALS
For most MagTek devices, the MTD drivers completely hide the device-specific commands and
peculiarities, thereby allowing applications to use the same command set and logic for all
devices.
Up to this point, the above mentioned encapsulation has not been applied to the data returned by
the device when a magnetic card is swiped. It has been left to the application to interpret the
card data. This can become troublesome because the track formats and or/data contained on each
track vary depending on the type of card (e.g., ATM or Drivers License).
The goals for the flexible data parsing are:
• easy to specify formats
• allow parsing of standard formats
• allow extending formats with custom fields
• allow detection of format and applying different parsing
• allow for missing tracks and missing fields by setting the corresponding property to empty
• allow presets to be loaded from the registry
• to expose parsed fields to applications via the /get command
• allow MagTek or system integrators to define formats in the driver installation file
(OEMSETUP.INF).
ASSUMPTIONS
• The driver validates the format template and rules for syntax, but it cannot validate the
format string for correctness in relation to parsing the fields of data. For example, if the
format string specifies that a field has a fixed size of 3 and it actually has a fixed size of 4,
the driver will not detect this.
• There is no backward parsing (i.e., field identifiers come before the field). For example, if A
identifies an account number, it cannot follow the account number (e.g., 12344556A). It
must come before the account number (e.g., A12344556).
• Beginning and end sentinels are specified in the format string for magnetic data formats.
• The terminating separator that follows a variable length property field is included in the
format string as a literal.
• There are no parsing interdependencies between fields of data and/or format rules.