Re: Biblioentry markup standards -- identifying the type of entry

Peter Flynn <[email protected]> Thu, 11 Jun 2020 00:40:23 +0100
Newsgroups gmane.text.docbook.misc
Message-ID <[email protected]>
On 10/06/2020 22:51, Richard Hamilton wrote:
> Background: I’ve been using bibliomixed for XML Press publications. I
> would like to move to using biblioentry, so I can cover more than one
> output style. We primarily use the Chicago Manual of Style as our
> guide, but I would like to be able to easily use other styles.

Should be no problem. I use biblioentry for all our bibliographic entries.

> My objective is to create (over time) customizations that would take
> a biblioentry in a consistent format and generate output that
> conforms to Chicago, APA, and other styles.

That is virtually trivial if you use biblatex to do the formatting. I 
have XSLT which transforms biblioentries to BiBTeX format, and I just 
let XeLaTeX do the heavy lifting with biblatex and biber (because that 
takes care of UTF-8, which the old bibtex program gags on). Mail me 
directly if you want details or code.

> As part of that effort, I decided first to look for and create test
> examples for a variety of cases and begin creating guidelines.

That would be very useful. Our business rules are not yet codified :-)
One thing I do try to enforce is that articles, conference papers, and 
chapters in books (all items that occur *inside* something else) use

<biblioentry>
   <biblioset relation="article">
    ...author[s] and title and page number...
   </biblioset>
   <biblioset relation="journal">
    ...journal-related stuff...
   </biblioset>
</biblioentry>

and any mutiple authors or editors go inside authorgroup. This just 
avoids a mess of ambiguity later.

> This first issue I’ve uncovered is the question of how to identify
> what kind of entry an instance is (e.g., book, article, etc.).

You can use the list in section 2.1 of the biblatex documentation at 
http://ftp.heanet.ie/mirrors/ctan.org/tex/macros/latex/contrib/biblatex/doc/biblatex.pdf#page=8

Every bibliographic software system uses a fractionally different 
terminology (some call an article a journal, for example) but the 
biblatex list is the most comprehensive I have seen. I define a new 
attribute on biblioentry, @type, which is the list of valid types from 
biblatex. Or you could hijack @role or @xreflabel or something. Give 
each one an ID:

<biblioentry xml:id="smith1996" type="article">

> I can find no standard method for doing that in DocBook, including 
> the Publisher’s schema..

DocBook is a little reticent about bibliographic citation and reference.

The biblioref element type, for example, defines @linkend as IDREF
instead of IDREFS, which you need in writing when you want to make
multiple citations at a single point.

> The ISO690 extension uses the role attribute on the biblioentry 
> element.
We could argue forever about whether the type of document is a role :-)
I've never been shy about abusing someone else's DTD :-)

> Certain types can be guessed at by looking at biblioset (if it’s
> used) or the pubwork attribute on citetitle (if citetitle is used
> rather than title).

Better to state it unambiguously in the biblioentry.

> Both of these apply only if you use those elements. However, there
> are plenty of examples where biblioset is not needed 

All types except those where the work is published inside something else.

> and would just add complexity. And citetitle seems not to be the best
> choice for expressing a title in this context (especially if you want
> to separate out a subtitle).

citetitle is for citing titles in the body of the document. I use the 
@linkend attribute to point at the relevant biblioentry and leave the 
element empty because I'm lazy: the ID/IDREF mechanism will tell me if 
anything doesn't match, and it's easy to transclude the element with the 
title when you transform the document.

> So, am I missing something here, or is there no standard method for
> defining the type of a biblioentry?

You are correct. Any good librarian will tell you there are lots of
categorisation systems and none of them are as good as the one you
invent yourself. But I prefer to re-use someone else's expert labour.

> If there isn’t an established method, does anyone have any ideas on
> how best to do this?

After 30+ years, I haven't found anything that beats the combination of 
SGML/XML and LaTeX/BiBTeX, so I'm heavily biased.

Peter