Ulf Martin <ulfmartin <at> web.de> writes:

> I think the crucial point for any TeX community is the ability to use 
> the rather huge amount of BibTeX legacy DBs.
> 
> How about the state of CSL (or RDF) to BibTeX converters?

I don't care about BibTeX myself, so such things aren't my focus.
However, I think a good XML/RDF data format makes it pretty easy
to downconvert to formats like BibTeX. Indeed, it took me 30 minutes 
or so to write a decent XSLT to convert MODS to the RDF/XML I'm 
using. That was only targeted at book descriptions, so it would take 
more time for a comprehensive version, but it shows it's not hard. 

The hard part, in fact, is the logic for conversion, and most of that 
is clearly documented in the bibutils source code.
 
> bibutils uses MODS as its native intermediate format and converts from 
> and to BibTeX (not always 100% correct, though).

Correct, though it's actually more complicated than that. It uses 
a C-based internal format that is based on lessons from MODS and from 
converting the other legacy formats.

> Summary
> -------
> 
> So, at present we already have:
> 
> (1)  MODS <-(bibutils)-> BibTeX -(bibmod)-> ConTeXt
> 
> For an XML-based format in a ConTeXt context we would like to have:
> 
> (2)  BibTeX <-(a)-> XML -(b)-> ConTeXt

*We* wouldn't include me. I deal much more with RIS or Endnote 
formats than I do with BibTeX. But I don't use ConTeXt for authoring 
either ;-)

> using the rather nice XML processing capabilities of ConTeXt for
> step (b).
> 
> Now, there is an XML markup for BibTeX: BibTeXML
> http://bibtexml.sourceforge.net/
> This isn't too bad, in my experience (it is, at least, lossless, 
> contrary to bibutils). Thus
> 
> (3)  BibTeX <-(bibtexml)-> BibTeXML -(b')-> ConTeXt
> 
> would be an instance of (2).

Yes, but BibTeXML still has all the problems of the BibTeX model.
 
> CSL could use XSL transformer:
> 
> (4)  BibTeXML <-(XSLT)-> CSL -(b")-> ConTeXt

All CSL is is a language-angostic XML config language. You could 
write a CSL engine in whatever language you want: TeX, Lua, Perl, 
Ruby, C. *I* wrote mine in XSLT 2.0, but that's mostly because of 
limited skills with other langauges.

I also designed citeproc, BTW, to have both an input and output 
driver system. So while I use an RDF/XML representation 
internally, it wouldn't be too hard to write other inout drivers. 
A next-generation mbib module probably ought to do the same, so 
that while it might have a richer core format, it could still be 
fed BibTeX, or even MODS.

Bruce



_______________________________________________
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to