ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Bruce D'Arcus <bdarcus.lists@gmail.com>
Subject: Re: bib amd mods
Date: Tue, 20 Jun 2006 17:40:53 +0000 (UTC)	[thread overview]
Message-ID: <loom.20060620T192908-251@post.gmane.org> (raw)
In-Reply-To: <44982E1F.6000003@web.de>

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

      reply	other threads:[~2006-06-20 17:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-20 14:17 Hans Hagen
2006-06-20 15:19 ` Ulf Martin
2006-06-20 16:01 ` Bruce D'Arcus
2006-06-20 16:59   ` Hans Hagen
2006-06-20 17:25     ` Bruce D\'Arcus
2006-06-20 17:19   ` Ulf Martin
2006-06-20 17:40     ` Bruce D'Arcus [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=loom.20060620T192908-251@post.gmane.org \
    --to=bdarcus.lists@gmail.com \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).