[sword-devel] Bibtex for modules

Trevor Jenkins trevor.jenkins at suneidesis.com
Tue Jan 11 17:36:22 MST 2011

On Tue, 11 Jan 2011, Greg Hellings <greg.hellings at gmail.com> wrote:

> > No no no. That way leaves to inconsistencies and corruption. Apply 3NF and
> > 4NF normalisation to this data. If the bibliographic data is to be there
> > put it there only once and then have some API layer to extract and present
> > it in what ever format the user needs.
> Did you read the rest of my email or did you stop to throw fire on one
> of a list of alternatives I gave?

The rest of your email posits multiple copies of the same bibliographic
data repeated in .conf files. Wrong, wrong, wrong. If there has to be
bibliographic data in there then it should be in a neutral format
(consistent with the rest of the .conf file syntax) not BibTeX mashed in

> 3NF, BCNF and 4NF are all fine and good when you're drawing out a
> database schema on a piece of paper.  In actual practice they often
> lead to massively more computation and upkeep than simply
> denormalizing the data.

Well of course one could have N1NF data in there and then there's is the
very great risk of inconsistencies within the multiple copies of the
bibliographic data. Think about the issues involved not the emotional
response to a specific but minority format.

> ... In this case, BibTeX is basically the same as
> what you are prescribing - each of the pieces of data split out into
> its own, separate field.

No the difference is that BibTeX would require the .conf parser to be
extended with a heavyweight parser dealing with the vagaries of BibTeX.
Sure sliplt the data in to fields but in existing .conf file format. Then
add API functions to extract format neutral data and present it in the
required formats.

> ... It is already a standardized, well built tool
> to handle all of the intricacies and details of creating the type of
> information the user has requested.  It is open and has a large array
> of tools which can process it into many different types of output
> format.

What you call "intricacies" I call vagaries. It isn't a well-documented
format. There's too much to go wrong.

Very true. I've used must of those tools over the years but not mashed up
and mixed in with other data. And to support this format you're going to
have to re-implement much of all of them simply to make it work.

> So which is it - do you want this data to be Normal Formed into the
> ground and then SWORD needs to know how to support the citation format
> du jour plus all the legacies?

I want single instance of data. I want neutral encodings. As to the
specific of bibliographic data (in any format) embedded in .conf files? I
remain to be convinced.

> ... Or shall we produce something that the end user, with a specific and
> pointed problem, can use?  I sure don't want to keep track of processing
> some arbitrary number of formats.  We have a person who has asked for
> BibTeX support - is there any reason for not supporting BibTeX other
> than, "Well I don't use it?"

Oh I use it. I never said I didn't. What I said was that to embedded
BibTeX in the .conf for one person (the obverse "Well I do use it") is
wrong. A more general and non-knee jerk solution is required.

Don't go parsing BibTeX citations when it isn't required. The issue is one
of generating bibliographic formatS from a single consistent set of data.
Don't make the .conf file overly complex. You will break it. Rememeber
KISS. The complication should be at a level where it can be managed safely
and without distrupting existing modules, that is NOT in the .conf
file parser.

Regards, Trevor

<>< Re: deemed!

More information about the sword-devel mailing list