ofx_preproc.cpp File Reference

Preprocessing of the OFX files before parsing. More...

Go to the source code of this file.

## Macros

#define | DIRSEP "/"
#define | LIBOFX_DEFAULT_INPUT_ENCODING "CP1252"
#define | LIBOFX_DEFAULT_OUTPUT_ENCODING "UTF-8"

## Functions

int | ofx_proc_file (LibofxContextPtr ctx, const char *p_filename)
| File pre-processing of OFX AND for OFC files. More...
string | sanitize_proprietary_tags (string input_string)
| Removes proprietary tags and comments. More...
std::string | find_dtd (LibofxContextPtr ctx, const std::string &dtd_filename)
| Find the appropriate DTD for the file version. More...

## Variables

const int | DTD_SEARCH_PATH_NUM = 3
| The number of different paths to search for DTDs.
const char * | DTD_SEARCH_PATH [DTD_SEARCH_PATH_NUM]
| The list of paths to search for the DTDs. More...
const unsigned int | READ_BUFFER_SIZE = 1024

## Detailed Description

Preprocessing of the OFX files before parsing.

Implements the pre-treatement of the OFX file prior to parsing: OFX header striping, OFX proprietary tags and SGML comment striping, locating the appropriate DTD.

Definition in file ofx_preproc.cpp.

## Function Documentation

std::string find_dtd | ( | LibofxContextPtr | ctx,
|  | const std::string & | dtd_filename
| ) |  |

Find the appropriate DTD for the file version.

This function will try to find a DTD matching the requested_version and return the full path of the DTD found (or an empty string if unsuccessful)

Please note that currently the function will ALWAYS look for version 160, since OpenSP can't parse the 201 DTD correctly

It will look, in (order)

1- The environment variable OFX_DTD_PATH (if present) 2- On windows only, a relative path specified by get_dtd_installation_directory() 3- The path specified by the makefile in MAKEFILE_DTD_PATH, thru LIBOFX_DTD_DIR in configure (if present) 4- Any hardcoded paths in DTD_SEARCH_PATH

Definition at line 569 of file ofx_preproc.cpp.

Referenced by ofx_proc_file().

int ofx_proc_file | ( | LibofxContextPtr | ctx,
|  | const char * | p_filename
| ) |  |

File pre-processing of OFX AND for OFC files.

ofx_proc_file process an ofx or ofc file.

Takes care of comment striping, dtd locating, etc.

Definition at line 81 of file ofx_preproc.cpp.

Referenced by libofx_proc_file().

string sanitize_proprietary_tags | ( | string | input_string | ) |

Removes proprietary tags and comments.

This function will strip all the OFX proprietary tags and SGML comments from the SGML string passed to it

Definition at line 417 of file ofx_preproc.cpp.

Referenced by ofx_proc_file().

## Variable Documentation

const char* DTD_SEARCH_PATH[DTD_SEARCH_PATH_NUM]

Initial value:
=
{
"/usr/local/share/libofx/dtd",
"/usr/share/libofx/dtd",
"~"
}

The list of paths to search for the DTDs.

Definition at line 66 of file ofx_preproc.cpp.

Referenced by find_dtd().