Liam Magee wrote:
> However I'm not particularly familiar with the details of these
(although I
> have done some work with DocBook and BibTeX).
I see two approaches on which to base it:
1) the CSL model (which is more output oriented)
2) the RDF ontology that some of us have been working on, and which
has inspired a bit of the current class design.
<http:bibliontology.com <http://bibliontology.com>>
We ought to be releasing a draft of that soon-ish, BTW.
Each approach has its advantages and disadvantages. What's your
preference?
I like the idea of using the bibliontology - presumably by
‘disadvantages’ you mean the scope is somewhat larger than using the CSL
model?
Correct.
This looks like potentially two, related projects: one to model
bibliontology in Ruby, the other to apply a fomatting language like CSL
to it.
Right.
What I was describing as an InputFilter would then be something
like a loss-less (ideally) conversion utility from BibTeX, DocBook and
other schemas to bibliontology. This is probably non-trivial to
establish a proper set of test cases for, but worth considering (you get
a fully fledged, largely interoperable and semi-standardised(?) domain
model for the trouble). Another consideration would be using a Ruby RDF
library to load and store the model as RDF - though this is probably
getting off-topic.
Maybe, though certainly worth keeping in mind.
When I was working on the model, I was trying to think of it being used
in potentially a variety of different kinds of contexts, where the
backend might be the typical Rails-ORM-RDBMS, or text files, or an RDF
store (since I personally am increasingly interested in citations and
bibliographic management as a perfect use case for semantic web ideas;
e.g. there’s still tons of room left for really useful innovation).
In reviewing CSL more thoroughly, another approach is to use ERB to
develop a CSL-like language (something like RCSL?). This by-passes the
need for parsing and emulating XSL-like transformations in code - but at
the cost of expressivity and compatibility with the existing CSL files
(which it looks like a lot of work has gone into). I’ve done a quick
test of this, with a simplified citation and ERB file - this is
certainly a much easier path to go down.
It may be easier is the short-run, but probably not the long-term.
The intent behind CSL has always been that language-independence is
crucial. Right now, there aren’t that many styles, but as we start to
build them up, and as we start to see GUI editors (or wizards) for the
styles, this is going to change. It would suck to have to recreate the
styles in two different formats.
In any case, I’ll keep looking into this - I am looking at refining a
lightweight citation management system, and both interoperability and
variable formatting are key requirements.
What would be the backend?
Bruce