Item identifiers in CSL

I think it’s clear that having some extra item identifiers as variables in
CSL would be helpful. This was recently discussed on the Zotero forums, but
I’ve still got some questions that belong here. In my mind, some important
(missing) identifiers are:

ISSN (note that single resources can have multiple ISSNs, one for each
medium, with print and online being the most common media)
ISSN-L (newly invented to clean up some of the ISSN mess,
http://www.issn.org/2-22637-What-is-an-ISSN-L.php; in most cases ISSN-L
seems to be the same as the print ISSN)
PMID (PubMed Identifier, http://en.wikipedia.org/wiki/PMID)
PMCID (PubMed Central Identifier, especially important as the NIH requires
it in stuff like grant proposals)

My questions are:

  • in addition to the list above, is there any benefit of changing the
    support for ISBN, as actually two ISBN types exists (ISBN10 and ISBN13)?
    Currently CSL only has the isbn-variable. After my post on the Zotero forums
    (
    http://forums.zotero.org/discussion/7139/help-creating-a-citation-style/?Focus=32012#Comment_32012),
    I took a look at BIBO, and (behold) in the BIBO proposal there are fields
    for isbn10 and isbn13. Of course, the use of BIBO is storing data, whereas
    CSL is used to present this data. At the moment I think that just having the
    isbn variable is enough, because:
  • it makes no sense to cite both the ISBN10 and ISBN13 of a book, as they’re
    redundant (and ISBN10 can be easily converted to ISBN13 without the need of
    a lookup table)
  • ISBN10 has been deprecated in favor of ISBN13, so if an item data contains
    both ISBN10 and ISBN13 information (e.g. as could be the case with the BIBO
    data model), the CSL processor should just use the ISBN13
  • the alternatives would make things rather complex, while the gains would
    be limited: either CSL could be limited to the isbn10 and isbn13 variables,
    dumping the current isbn variable, which would be backward-incompatible and
    require the CSL processor to be able to parse incoming ISBNs, or the isbn10
    and isbn13 variables could be added while preserving the isbn variable,
    which would either require more complex styles, e.g.:

to get preferential use of ISBN13.

  • do we need a way to distinguish between the media types of the different
    ISSNs (print, online), and should be add support for ISSN-L?
    CSL currently lacks any support for ISSN(-L)s. BIBO currently lists eissn
    (online) and issn (print), as does PRISM. This limits things to print and
    electronic/online media, but these are by far the most common types. We
    could add issnl to that. It would require a bit of substitution logic in the
    styles, but that’s probably already required to choose between the issn and
    eissn, e.g.:

So in short, I think we should add the variables “issnl”, “eissn”, “issn”,
“pmid” and “pmcid” to CSL, but before I write a patch I’d like to hear
everyone’s (=Bruce’s? :P) opinion.

Rintze

My questions are:

  • in addition to the list above, is there any benefit of changing the
    support for ISBN, as actually two ISBN types exists (ISBN10 and ISBN13)?
    Currently CSL only has the isbn-variable. After my post on the Zotero forums
    (Help creating a citation style - Zotero Forums),
    I took a look at BIBO, and (behold) in the BIBO proposal there are fields
    for isbn10 and isbn13. Of course, the use of BIBO is storing data, whereas
    CSL is used to present this data. At the moment I think that just having the
    isbn variable is enough, because:
  • it makes no sense to cite both the ISBN10 and ISBN13 of a book, as they’re
    redundant (and ISBN10 can be easily converted to ISBN13 without the need of
    a lookup table)

What do you mean by “easily converted … without need of a lookup
table”? Is there some code that you can show?

  • ISBN10 has been deprecated in favor of ISBN13, so if an item data contains
    both ISBN10 and ISBN13 information (e.g. as could be the case with the BIBO
    data model), the CSL processor should just use the ISBN13

“Has been deprecated” by whom? If someone uses an ISBN13, can they
find the book at Amazon, or in their library?

  • the alternatives would make things rather complex, while the gains would
    be limited: either CSL could be limited to the isbn10 and isbn13 variables,
    dumping the current isbn variable, which would be backward-incompatible and
    require the CSL processor to be able to parse incoming ISBNs, or the isbn10
    and isbn13 variables could be added while preserving the isbn variable,
    which would either require more complex styles, e.g.:

to get preferential use of ISBN13.

No; definitely don’t like that (using substitute). If this was even
needed, I’d use a conditional/macro instead.

  • do we need a way to distinguish between the media types of the different
    ISSNs (print, online), and should be add support for ISSN-L?
    CSL currently lacks any support for ISSN(-L)s. BIBO currently lists eissn
    (online) and issn (print), as does PRISM. This limits things to print and
    electronic/online media, but these are by far the most common types. We
    could add issnl to that. It would require a bit of substitution logic in the
    styles, but that’s probably already required to choose between the issn and
    eissn, e.g.:

So in short, I think we should add the variables “issnl”, “eissn”, “issn”,
“pmid” and “pmcid” to CSL, but before I write a patch I’d like to hear
everyone’s (=Bruce’s? :P) opinion.

Bruce

  • it makes no sense to cite both the ISBN10 and ISBN13 of a book, as
    they’re
    redundant (and ISBN10 can be easily converted to ISBN13 without the need
    of
    a lookup table)

What do you mean by “easily converted … without need of a lookup
table”? Is there some code that you can show?

As an example, a book can have:
ISBN-10: 1-56619-909-3
ISBN-13: 978-1-56619-909-4

For ISBN-13 a prefix has been added to expand the address space of ISBN. The
accompanying ISBN-13 of a ISBN-10 always has the prefix 978. When the
address space of ISBN-10 is depleted, new books will only have a ISBN-13,
with a different prefix. The last digit is different because it is a
checksum digit, which takes into account the prefix.

  • ISBN10 has been deprecated in favor of ISBN13, so if an item data
    contains
    both ISBN10 and ISBN13 information (e.g. as could be the case with the
    BIBO
    data model), the CSL processor should just use the ISBN13

“Has been deprecated” by whom? If someone uses an ISBN13, can they
find the book at Amazon, or in their library?

The ISBN page: “After January 1, 2007, the ISBN-13 officially becomes the
“ISBN”; and the use of the ISBN-10 should be phased out. However, since
customers may continue to order using ISBN-10 beyond that date, publishers
and wholesalers should plan to maintain the capability to transact using the
ISBN-10, while actively discouraging its use.”

My main point is that you don’t really lose any information by dropping the
ISBN-10 and just using the ISBN-13.

  • the alternatives would make things rather complex, while the gains
    would
    be limited: either CSL could be limited to the isbn10 and isbn13
    variables,
    dumping the current isbn variable, which would be backward-incompatible
    and
    require the CSL processor to be able to parse incoming ISBNs, or the
    isbn10
    and isbn13 variables could be added while preserving the isbn variable,
    which would either require more complex styles, e.g.:

to get preferential use of ISBN13.

No; definitely don’t like that (using substitute). If this was even
needed, I’d use a conditional/macro instead.

Right. I guess that wouldn’t change the logic though.

Rintze