Proposal to clarify and rationalize encoding of pagination in bibliographic citations


Statement of problem

P5 is currently unclear on how to encode page ranges in bibliographic citations. While <extent> and <biblScope> are both used in P5 for pagination, it's not clear when to choose which.

Furthermore, section prescribes use of <biblScope> within <imprint> in the case of a journal article—a practice which has become widespread in our community but lacks a solid bibliographic foundation (since the cited pages do not relate to publication or distribution of a bibliographic item). We assume this was inserted into the Guidelines so that you could use <biblStruct> to encode a typical citation to a journal article and still keep all of the components of the citation in the same order as in common citation formats, but we think this use confuses the matter greatly.


We would like to allow those encoding structured citations to:

  1. be explicit about whether a page range is for an entire bibliographic item or for just a cited portion
  2. have the page ranges be encoded in a sensible place in the citation's element hierarchy—that is, they should be related to their parent element


To meet these goals, we would revise the Guidelines prose and element specifications as follows:

  1. We would prescribe use of <extent> for a page range for an entire bibliographic item (journal article, chapter, etc.), and prescribe use of biblScope type="pp" for just those pages that are cited.
  2. Since biblScope type="pp" is currently widely used for the range of an entire bibliographic item instead of <extent> , we would deprecate this use of biblScope type="pp".
  3. We would remove the guidance in section to put <biblScope> inside <imprint> for journal articles since we think it doesn't make sense. We would deprecate use of <biblScope> inside of <imprint> and plan to remove it in P6.
  4. In <biblStruct> citations, we would recommend that <extent> and <biblScope> only be used as children of the <analytic> , <monogr> , or <series> for the bibliographic item to which they relate. This would require the following schema modifications:
    1. Add <extent> to <analytic> .
    2. Add <extent> to <series> .
    3. Add <biblScope> to <analytic> .
  5. Since <extent> has till now been used to give a total number of pages, volumes, etc. instead of page ranges, we would add attributes to this element to make it similar to <biblScope> :
    1. Add @from and @to to <extent> . Since the attributes would function the same on both elements, a new class would be created, att.biblRange, containing these two attributes. Both <extent> and <biblScope> would become members of this attribute class.
    2. Add <extent> to att.typed and recommend the use of @type with the same suggested values as for <biblScope> .


This would affect <bibl> , <biblStruct> , and <biblFull> differently.


For <bibl> s without nested <bibl> s, this is quite straightforward. Just use <extent> or biblScope type="pp" as appropriate.

If you nest <bibl> s, insert <extent> and <biblStruct> in the <bibl> of the bibliographic item to which it relates.


Since we would like page ranges to be children of a logical parent element, here are the possible locations of the elements and their intended meanings (when including a page range) under the proposal:

XPath explanation sample usage (element content varies by citation style)
analytic/extent[@type='pp'] page range of a whole journal article, book chapter, etc.
<extent type="ppfrom="37to="52">pp. 37–52</extent>
analytic/biblScope[@type='pp'] page or page range cited from a journal article, book chapter, etc.
<biblScope type="pp">34</biblScope>
<biblScope type="ppfrom="34to="35">34–35</biblScope>
monogr/extent[@type='pp'] total number of pages in a book
<extent type="pp">342 p.</extent>
monogr/biblScope[@type='pp'] page or page range cited from a book
<biblScope type="pp">34</biblScope>
<biblScope type="ppfrom="34to="35">34–35</biblScope>
monogr/imprint/extent never has and still will not be allowed
monogr/imprint/biblScope[@type='pp'] no longer recommended in any circumstances
series/extent[@type='pp'] Unlikely to be used for a total number of pages in a series (but is more likely to be used for the number of volumes in a series, e.g.,
<extent type="total">3 vols.</extent>
series/biblScope[@type='pp'] Though allowed in P5, it never has been recommended by P5 and would still not be recommended. (Note that series/biblScope would still be recommended for citing a particular volume number of a series, as it is now in P5.)


<biblFull> already allows <extent> as a child, so this can be used for the total number of pages for the bibliographic item.

<biblFull> , like <fileDesc> , is derived from the International Standard for Bibliographic Description, which, being designed as the basis for library catalogs, has rarely been concerned with cited page ranges. Though there is a way to do this in ISBD, there is no element in TEI that corresponds to this component of the ISBD in the way there are for other components of the ISBD. While TEI users creating a <teiHeader> would probably chose to include a cited page range either within <sourceDesc> or possibly in <samplingDecl> , we are content not to try to solve the problem of how to include a cited page range in either <biblFull> or <fileDesc> .

Copyright TEI Consortium. Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 Unported license and a BSD 2-Clause license.
Last recorded change to this page: 2012-08-05  •  For corrections or updates, contact webmaster AT