[bknr-devel] Problems with XML import/export, can't follow the tutorial

Frederico Muñoz fsmunoz at gmail.com
Tue May 25 20:02:24 UTC 2010


Hello,

2010/5/23 Hans Hübner <hans.huebner at gmail.com>:
> the XML import/export functionality has long regressed because it is
> unused, and I can't easily resurrect it.  I never used the import
> aspect of the XML impex facility and at some point switched to writing
> specialized exporters for those formats that I need (i.e.
> http://bknr.net/trac/browser/trunk/projects/bos/m2/export.lisp#L94).

For some odd reason I've been looking at the xml-impex code (well, one
of the reasons is that the documentation made it look really cool,
even if I'm not even sure if I'm actually going to use it :) ), and
have it kind of working... I'm using the tutorial output as a guide,
which makes it a bit easier. I've added some missing functions
(children-to-initforms, etc), massaged some cxml parameters here and
there (small API changes) and I've successfully imported objects,
which is, well, cool.

Now, since you don't use the facility I don't want to burden you with
doubts concerning a subsystem that you've deprecated; although my Lisp
skills are sub-par I'm more or less enjoying the code (even if it is a
bit hairy here and there, especially since I don't even have
experience with SAX).

I have one very general doubt though that perhaps you could eventually
(time permitting) address: I've been reading former revisions in order
to understand the changes, and there was a quite large rework some
time ago. Of particular importance is that it *seems* (and, again, the
compounding of my poor grasp of Lisp, XML, SAX and programming in
general could be at work here...) that the way to use it was actually
going to change in terms of the exporter: whereas before write-to-xml
was self-sufficient in terms of generating output (as in the
tutorial), I've noticed that code re-factoring seems to indicate that
with-xml-export/with-xml-export* would be the entry point for a user.
What's leading me to this conclusion is the fact that the cxml sink is
only created in those macros.

I also note the presence of an *objects-written* hash-table (which is
supposed to be updated, but isn't).

I've got the exporter also working (well, mildly, it at least produces
the expected output for the first part of the tutorial), but I was
hoping you could shed some light on what was your plan with the
changes above. I'm not asking for code, just a general idea of what
was the goal you were going for. Knowing that I can work on
implementing those changes, instead of somewhat reverting the code to
fit the tutorial (which could be changed).

Best regards,

Frederico




More information about the Bknr-devel mailing list