Re: OFX versions

Benoit GrĂ©goire <[email protected]> Wed, 2 Mar 2005 14:27:22 -0500
Newsgroups gmane.comp.finance.libofx.devel
Organization Technologie Coeus
Message-ID <[email protected]>
On Wednesday 02 March 2005 06:07, Alan Jenkins wrote:
> The README says the library is based on version 1.6 of the
> specification, and I notice there are dtds for 1.6 and 2.01
>
> Version 2.02 of the spec is now available, but I'm not bothered about
> this since my bank (NatWest, a UK bank), uses version 1.02.
>
> I haven't encountered any problems using libofx on these files (it uses
> the 1.6 dtd), but I am curious as to whether it would be desirable
> and/or possible to go the whole hog and provide dtds for every single
> version of the published specification.
>
> I think version 1.6 is when the switch from SGML to XML occurred (my
> files are "OFXSGML").

<=1.6 is SGML, >=2.0 is XML

> Obviouslly the file format maintains a high degree of inter-version
> compatability (I'm not sure whether the phrase I'm looking for is
> forwards compatability or backwards compatability), so its probably not
> important.

De facto, OFX 1.6 is completely backward compatible and mostly forward 
compatible.  Ofx 2.0 isn't backward compatible.

> I ask because I'm working on a personal accounting program.  I'm trying
> to write it in python, so I need to decide between making bindings for
> libofx, parsing the results of ofxdump, or writing my own
> implementation.  Flexibility is not a key concern - I just want

Parsing the results of ofxdump is a really bad idea, they aren't meant to be 
machine-readable.  If you really want to go that route, you're better off 
parsing the results of ofx2qif.

If python has a SGML parser you could write your own implementation, but that 
would probably be no simpler than writing bindings for libofx (libofx 0.7 
should make this much easier that before)
-- 
Benoit Grégoire, http://benoitg.coeus.ca/
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQBCJhOcmZ6zzPlLuwMRAgLtAJ9HW3nboNcyC6NW6pLZKoY19RfNHwCdGvid
qGJ7sQCyepe4HC+cKFC2vFE=
=c4n6
-----END PGP SIGNATURE-----