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]