Yes, Bruce, I'm still here.

I'm not much of a programmer either, but I do have some working on with me, and citeproc is within the scope of our work, the issue is when we can get to it.

I will try to contribute more, but for now I think that Python makes sense for the reasons you have given, the idea of using IronPython to talk to word is interesting, but a native Windows Python would probably work too.

One thing that particularly concerns me is Word to OpenDocument interchange (both  directions). My experience in our practical courseware publishing project is that we have to work at the level of standardised style names to interchange documents (this is the microformat approach). If you go ahead with an elaborate bibliographic data model built into OpenDocument then interchange will be very hard, won't it? Maybe using the forthcoming MS office with native XML it would be doable, but there are still lots of copies of Word 2000 and earlier running out there, with no compelling reason for people to upgrade.

I think we could probably go a long way using existing mechanisms like plain-old hyperlinks to allow people to insert citations which would point back to an outboard application using your new data model, that in turn could post-process documents to build a bibliography.

Anyway, I think the new ontological approach looks promising, and I will try to find the time to look at the foundation Python code you would need to process it; I'm thinking the first thing to get is an RDF library so we can read and write the RDF format you're proposing in and out of a data structure.

Peter



On 1/29/06, Bruce D'Arcus <[EMAIL PROTECTED]> wrote:
I, with some help from David, have been playing with porting citeproc
to Ruby. I also experimented a bit with Python, but I'm not much of a
programmer and so need all the help I can get, and Ruby is more
intuitive to me.

Anyway, the stage where I'm at is that this simple method call:

        reference_list.format

... generates this output:

Another Title (2000a)
Some Title (2000b)
X Title (2001)
Title (2001)
Other Title (2003)

... where:

1) the source data are reference objects and the processing handles all
sorting and grouping necessary to get the proper order and year
suffixes. It's all object-oriented in other words.

2) the formatting itself is generated from a CitationStyle object.

Here's an example of some code that does the formatting based on those
objects:

       style = csl.bibliography_item_layout.csl_defs
       result = ""
       style.each do |render|
         if render.prefix then
           result << render.prefix
         end
         # a clever way to generate the method call dynamically
         result << self.send(render.name)
         if render.name == "year" and bibparams[:suffix] then
           result << bibparams[:suffix]
         end
         if render.suffix then
           result << render.suffix
         end
       end
       puts result
     end

So I feel I know how to do this.

The fact remains I'm not much of an actual coder, though, and my time
is limited.  Anyone want to help make it happen?  I really don't care
where it's Python or Ruby, since both are object-oriented, and both are
easy to read.  Peter, you still there?

Python has two things in its favor though: better unicode support, and
a UNO binding. Actually, there's a third thing that Python might add:
IronPython, and potentially the ability to integrate with Word
solutions.

If we were to do this, I would probably host it at the xbiblio
sourceforge project, and we would write some little glue to integrate
into OOo. My goal has always been the citeproc and related work (in
whatever language) is independent of this OOo, but that we can still
use it.

I think now is a critical time for this project. We need to start
making things happen.

Bruce

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Peter (pt) Sefton
Toowoomba 4350
Queensland, Australia
Phone: +61 4 1032 6955
Web: http://ptsefton.com
Email: [EMAIL PROTECTED]

Reply via email to