Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Wednesday 26 January 2005 12:01 am, Josh Sled wrote: Quite - QSF will never write an invalid XML file, nor accept one for input. I was just waffling, as usual. Well -- and please correct me if I'm wrong on this -- it sounds like one can create a session which only contains only a subset

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Wednesday 26 January 2005 1:58 am, Josh Sled wrote: I'd prefer to keep the discussion on -devel if you don't mind...? Oops, it was getting late. It's when the list in CC: rather than To:, the email ends up in the wrong folder, when I'm tired, I'd miss that. So, if I define an object which

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Tuesday 25 January 2005 10:45 pm, Neil Williams wrote: QSF source files are included in src/backend/file and create their own library, gnucash/libqsf-backend-file.so I think the code should probably go into src/backend/qsf instead of backend/file. Also, the library should probably

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Derek Atkins
Neil Williams [EMAIL PROTECTED] writes: Which reminds me: Q. Where should I put user-edited files? In with the reports? These will be maps that the user edits - e.g. the example map has a default for the mileage rate to claim. That obviously needs to be user-editable. The modified map

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Derek Atkins
Neil Williams [EMAIL PROTECTED] writes: Ignore the patch I sent in yesterday, I'll send in a complete replacement patch later today. Done. :) -derek -- Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory Member, MIT Student Information Processing Board (SIPB)

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Wednesday 26 January 2005 3:18 pm, Derek Atkins wrote: Seeing as QOF will have to be installed either within GnuCash or as a library for the others? I'll change QSF_SCHEMA_DIR to ${share_dir}/qof/qsf QSF_SCHEMA_DIR='${GNC_SHAREDIR}/xml/qsf' in QOF QSF_SCHEMA_DIR=`eval echo

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Josh Sled
On Wed, 2005-01-26 at 03:58, Neil Williams wrote: All applications using QSF would have their own user editable maps to convert data to other applications. The maps are the real inter-operability stuff. Application maps come with the installation, user edited maps can go with the user

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Wednesday 26 January 2005 4:52 pm, Josh Sled wrote: I don't quite understand the user edited maps. I can see user-edited data values, but the applicationA-applicationB maps don't seem like user-edited content per-se...? But, yeah, you're basically trying to do a [meta-]application task as

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Josh Sled
On Wed, 2005-01-26 at 13:22, Neil Williams wrote: I disagree, I prefer validation because there's no reason to implement a sub-set of validation (just checking Doc-Root) when code exists to check the whole. After all, you just said to use other existing methods rather than implementing our

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Derek Atkins
Neil Williams [EMAIL PROTECTED] writes: Why? You know that a transaction note maps to kvp type=string path=/notes It'd be kvp type=kvp path=/notes because each object uses kvp as the definition for each of their *_KVP macros - at least so far. Then how do you differentiate the different

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Wednesday 26 January 2005 8:02 pm, Derek Atkins wrote: Neil Williams [EMAIL PROTECTED] writes: Why? You know that a transaction note maps to kvp type=string path=/notes It'd be kvp type=kvp path=/notes because each object uses kvp as the definition for each of their *_KVP macros -

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Derek Atkins
Neil Williams [EMAIL PROTECTED] writes: Then how do you differentiate the different kvp types? I'll get back to this next week - I'm planning on using a type= attribute to indicate frame, key or value. Uh, you don't need to indicate frames. Each entry needs a key, a type, and a value.

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-26 Thread Neil Williams
On Wednesday 26 January 2005 9:11 pm, Derek Atkins wrote: Neil Williams [EMAIL PROTECTED] writes: for QOF_TYPE_INT32, QOF_TYPE_DOUBLE, QOF_TYPE_CHAR and outline support for QOF_TYPE_KVP which will be finalised next week. Every other type is already supported - and tested what's more!

QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Neil Williams
I've got code in the patch just sent to gnucash-patches to correctly distinguish a QSF XML file from v1, v2 or the older binary GnuCash text formats and it loads using the QofBackendProvider mechanism rather than as a GnuCash module. The patch includes the QSF schema for object and map files,

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Derek Atkins
Neil, First, I'd like to say Nice Job! I know you've put a lot of hard work into this, so I hope my comments below don't discourage you... Also, I should note that I haven't looked at the patch -- I'm basing my comments below on your particular statements. Neil Williams [EMAIL PROTECTED]

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Neil Williams
On Tuesday 25 January 2005 9:18 pm, Derek Atkins wrote: Ignore that one about balance sheets - I had too many email windows open. Sorry. Neil, First, I'd like to say Nice Job! Thanks! I wasted a lot of time last year thinking around the problem of mapping objects between QOF applications -

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Josh Sled
I wanted to echo Derek's comments: nice job! :) On Tue, 2005-01-25 at 11:38, Neil Williams wrote: I've got code in the patch just sent to gnucash-patches to correctly distinguish a QSF XML file from v1, v2 or the older binary GnuCash text formats and it loads using the QofBackendProvider

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Neil Williams
On Tuesday 25 January 2005 10:35 pm, Josh Sled wrote: I wanted to echo Derek's comments: nice job! :) Thanks. On Tue, 2005-01-25 at 11:38, Neil Williams wrote: I've got code in the patch just sent to gnucash-patches to correctly distinguish a QSF XML file from v1, v2 or the older binary

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Neil Williams
On Tuesday 25 January 2005 10:35 pm, Josh Sled wrote: QSF uses UTC time throughout and uses this time format string: #define QSF_XSD_TIME %Y-%m-%dT%H:%M:%SZ The datestring must be timezone independent and include all specified fields. To clarify: The full reference from the

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Josh Sled
On Tue, 2005-01-25 at 18:29, Neil Williams wrote: The existing methods are used to identify the existing data file types. If those all fail, then I parse the document using one of the QSF schema and proceed from there. That happens in gnc-backend-file.c, lines 390 onwards: Got it; thanks.

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Derek Atkins
Neil Williams [EMAIL PROTECTED] writes: BTW. Derek - what do you think about enhancing the Doxygen output by tweaking the config a little? Wouldn't be the first time. Although the online docs are off of HEAD, not g2. I use: EXTRACT_STATIC = YES EXTRACT_LOCAL_CLASSES = YES and

Re: QSF XML file backend for gnucash-gnome2-dev branch

2005-01-25 Thread Derek Atkins
Neil Williams [EMAIL PROTECTED] writes: QOF_TYPE_INT64 and QOF_TYPE_NUMERIC support aren't as robust as I intended, but I can fix it. oops. :) At present, if prefix is given to autogen.sh as: --prefix=/opt/garfield/qof the schemas get installed to: /opt/garfield/qof/share/qsf/ for QOF.