Conventions
The conventions used in the tag descriptions include the following:
-
Required tags are in bold. Regular face indicates tags that are optional. Required means that a client must always include the tag in a request, and a server must always include the tag in a response.
-
Required tags occur once unless noted as one or more in the description, in which case the specification allows multiple occurrences.
-
Optional tags occur once if present unless noted as zero or more in the description, in which case the specification allows multiple occurrences.
-
A-n or N-n specify those values that take an alphanumeric or numeric type value, where n indicates the maximum size.
-
Common value types, such as a dollar amount, are referenced by name. Chapter 3 lists value types that are referenced by name.
-
Tag
|
Description
|
|
Required tag (1 or more)
|
|
Required tag that occurs only once
|
|
Optional tag; this tag can occur multiple times (0 or more)
|
|
Values are A, B, and C
|
|
Takes an alphanumeric value up to 32 characters, A-32
| -
This chapter describes the basic structure of an Open Financial Exchange request and response. Structure includes headers, basic syntax, and the Signon request and response. This chapter also describes how Open Financial Exchange encodes external data, such as bit maps.
Open Financial Exchange data consists of some headers plus one Open Financial Exchange data block. This block consists of a signon message and zero or more additional messages. When sent over the Internet using HTTP, standard HTTP and multi-part MIME headers and formats surround the Open Financial Exchange data. A simple file that contained only Open Financial Exchange data would have the following form:
HTTP headers
MIME type application/x-ofx
Open Financial Exchange headers
Open Financial Exchange SGML block
A more complex file that contained additional Open Financial Exchange data would have this form:
HTTP headers
MIME type multipart/x-mixed-replace; boundary =--boundary—
---boundary---
MIME type application/x-ofx
Open Financial Exchange headers
Open Financial Exchange SGML block
---boundary---
MIME type image/jpeg
FI logo
HTTP Headers
These status codes are not required for Active Statements.
Open Financial Exchange Headers
The contents of an Open Financial Exchange file consist of a simple set of headers followed by contents defined by that header
The Open Financial Exchange headers are in a simple tag:value syntax and terminated by a blank line. Open Financial Exchange always sends headers unencrypted, even if application-level encryption is used for the remaining contents. The language and character set used for the headers is the same as the preceding MIME headers.
A valid Active Statements header can be created for Money 98 and Money 99 as follows.
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
For complete information about OFX headers, refer to the OFX specification.
SGML Details -
SGML is the basis for Open Financial Exchange. A DTD formally defines the SGML wire format for Open Financial Exchange. However, Open Financial Exchange is not completely SGML-compliant because the specification allows unrecognized tags to be present. Clients and servers must skip over the unrecognized tags. That is, if a client or server does not recognize , it must ignore the tag and its enclosed data. A fully-compliant SGML parser would not validate a document that contains tags that the DTD does not define.
Although SGML is the basis for the specification, and the specification is largely compliant with SGML, do not assume Open Financial Exchange supports any SGML features not documented in this specification.
Valid SGML Characters
Open Financial Exchange tags that require a value can be set to any sequence of SGML characters. To be valid, a value must contain at least one character that is not a blank character. In other words, a value cannot contain only white space.
Special Characters
For the purposes of Open Financial Exchange, a few characters must be handled as special characters. To represent a special character, use the corresponding escape sequence.
-
Character
|
Escape sequence
|
< (less than)
|
<
|
> (greater than)
|
>
|
& (ampersand)
|
&
|
For example, the string “AT&T” encodes “AT&T.”
NOTE: Escape sequences are not required when these special characters are used in tag values that accept HTML-formatted strings (for instance, e-mail records). These tags accept SGML-marked section syntax that hides the HTML from the Open Financial Exchange parser. You must prefix the HTML-formatted strings with “.” Within these bounds, treat the above characters literally without an escape. See Chapter 9 for an example.
Comments Not Supported
For explanatory purposes, the examples in this specification contain comments. However, Open Financial Exchange files cannot contain comments.
|