On Mar 25, 2006, at 11:11 PM, David Wilson wrote:

Some time ago, some one, it might have been  CPHennessy, asked about
bibliographic table (reference table) generation and if the current process
could work with the new Citeproc formating process.

I find worrying about the GUI at this point confusing.

What is a bibliography? It's just a list of formatted references (metadata descriptions).

A citation is a pointer to the references.

In some cases, however, there is no bibliography, and a citation is a full reference entry.

See, for example:

<http://xbiblio.sourceforge.net/citeproc/examples/chicago-note-a- en.html>

So the question of whether the existing support can just be adapted/extended rests on this question: how, internally, are the references currently formatted?

If there is something like a bibliographic reference class, and there are methods that format a reference object's contents independent of the bibliography, then my guess is it would work. We could just build on that.

In my Ruby citeproc port, I have two main classes:

1) ReferenceList

It's just an array, plus some methods to handle grouping, sorting, and formatting, where the last is mostly just calling a formatting method from ...

2) Reference

This is what it sounds like, and it has a formatting method that handles the formatting specific to an entry. Also, the content of this object might get modified based on processing within the ReferenceList.

I haven't yet gotten to citations, but it would work similarly.

3) CitationList

An array that contains a list o citation objects, which is in turn used to generate the ReferenceList object (1). This object is created by scanning the document for citations, of course, and so is part of what CPH is working on.

4) Citation

An array of biblioref objects. This needs to replace the current bibliography text field.

<http://api.openoffice.org/docs/common/ref/com/sun/star/text/textfield/ Bibliography.html>

5) Biblioref

Just contains the id for the reference, as well as optional additional information like page number(s), or local style.

In that sort of structure, then, you can have a process periodically update/regenerate these objects, and formatting a bibliography ought to just involve a simple method call that inserts the formatted list into the table/index.

Likewise for citations.

After having the written the above, I went back and hunted for the relevant API documentation (I started to do this awhile back, but got distracted).

Anyway, here's the relevant page:

<http://api.openoffice.org/docs/common/ref/com/sun/star/text/ BibliographyDataField.html>

OK, good news:

There is, in fact, a reference class. It's very limited, just being a series of key/values*, but at least it's there. I would hope that the current ODF TC discussions to enhance metadata support might end up with a better, more generic, mechanism for this, but that's not strictly necessary.

Bad news:

I might be wrong, but it seems that the current design assumes one would always have a bibliography. The description, for example, says:

These values define parts of bibliographic data. They are used to create a bibliography in a text document.

As I show above, this is not always the case.

Anyone (particularly from Sun) have any suggestions on how to tackle this?

Bruce

* Bibliographic metadata is relational in nature, so having simple attributes like "journal" that reflect a flat data structure is very limiting. Better is if that information is captured in something like a "partOf" attribute that stores a reference to another object, which happens to be a "journal."

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

Reply via email to