Dear Martina, 

Perhaps the system we are experimenting with is of interest to you. Like you, we are using biblStruct for book sections, with analytic and monogr elements inside. Each biblStruct has its own record with its own URI. When we want a separate record for the book, we can link the book section to it by putting the URI of the book record as an idno type=“URI" in the biblStruct/monogr of the article.

The advantage of this is that we can maintain the book record separately. The monogr element in the book section can contain the biblScope, plus as much or as little other information as we want for readability (title and imprint with date elements are required, but can be empty). If needed, we can update the monogr information in the book section record from the book record using an xQuery script or we can just pull it in when we visualize it on our eXist-db server. 

Hope this helps,
Nathan

Nathan P. Gibson, Ph.D.

Postdoctoral Scholar in Syriac Studies and Digital Humanities
Vanderbilt University & Syriaca.org

Gastwissenschaftler
Institut für den Nahen und Mittleren Osten
Ludwig-Maximilians-Universität München

On Jul 27, 2016, at 4:09 PM, Martina Gödel <[log in to unmask]> wrote:

Dear all,

we are working on a large bibliography, listing articles, books and
journals.

For each article (bookSection) we are creating a single
biblStruct-element (<biblStruct type="bookSection">). While <analytic>
stores the title information for the article, <monogr> stores the
information for the superordinate book. If more than one article is part
of the same book, the information in <monogr> will be doubled for each
article (bookSection). We are looking for a way to avoid this redundant
storage of information. The monographic level information should be
maintained only in one place.
How are other projects dealing with this? Are there any best practice
solutions you could point us too?

See the following examples, where the information is doubled for two
articles contained by the same book:

bookSection 1

<biblStruct type="bookSection" status="published" xml:id="luhmann_1970_AB1">
<analytic>
<author><name
key="#luhmann_niklas"><forename>Niklas</forename><surname>Luhmann</surname></name></author>
<title level="a" type="main">Funktion und Kausalität</title>
<idno type="nl_bibl_dammann">1970_AB1</idno>
<textLang mainLang="de"/>
</analytic>
<monogr>
<title level="m" type="main">Soziologische Aufklärung. Aufsätze zur
Theorie sozialer Systeme</title>
<title level="m" type="sub"/>
<imprint>
<pubPlace>Köln/Opladen</pubPlace>
<publisher>Westdeutscher Verlag</publisher>
<date type="pubYear">1970</date>
<biblScope unit="page">9-30</biblScope>
</imprint>
</monogr>
</biblStruct>


booksection 2

<biblStruct type="bookSection" status="published" xml:id="luhmann_1970_AB2">
<analytic>
<author><name
key="#luhmann_niklas"><forename>Niklas</forename><surname>Luhmann</surname></name></author>
<title level="a" type="main">Funktionale Methode und Systemtheorie</title>
<idno type="nl_bibl_dammann">1970_AB2</idno>
<textLang mainLang="de"/>
</analytic>
<monogr>
<title level="m" type="main">Soziologische Aufklärung. Aufsätze zur
Theorie sozialer Systeme</title>
<title level="m" type="sub"/>
<imprint>
<pubPlace>Köln/Opladen</pubPlace>
<publisher>Westdeutscher Verlag</publisher>
<date type="pubYear">1970</date>
<biblScope unit="page">31-53</biblScope>
</imprint>
</monogr>
</biblStruct>

We are looking for a way to avoid these identical <monogr>-elements. Our
solution should be usable in the Author Mode of oXygen for a team of
editors. So far, we are making use of XInclude. See the
following examples:

article 1:

<biblStruct type="bookSection" status="published"
xml:id="luhmann_1970_AB1" corresp="#luhmann_1970_B1">
<analytic>
<author><name key="#luhmann_niklas"><forename>Niklas</forename>
<surname>Luhmann</surname></name></author>
<title level="a" type="main">Funktion und Kausalität</title>
<idno type="nl_bibl_dammann">1970_AB1</idno>
<textLang mainLang="de"/>
</analytic>
<xi:include href="luhmann_1970_B1.xml" parse="xml"
xpointer="monogr_luhmann_1970_B1"/>
<citedRange unit="page">9-30</citedRange>
</biblStruct>

superordinate book:

<biblStruct type="book" status="published" xml:id="luhmann_1970_B1">
<monogr xml:id="monogr_luhmann_1970_B1">
<author><name key="#luhmann_niklas"><forename>Niklas</forename>
<surname>Luhmann</surname></name></author>
<title level="m" type="main">Soziologische Aufklärung. Aufsätze zur
Theorie sozialer Systeme</title>
<title level="m" type="sub"/>
<idno type="nl_bibl_dammann">1970_B1</idno>
<textLang mainLang="de"/>
<editor><name key="#"><forename/><surname/></name></editor>
<edition/>
<imprint>
<pubPlace>Köln/Opladen</pubPlace>
<publisher>Westdeutscher Verlag</publisher>
<date type="pubYear">1970</date>
<biblScope unit="volume"></biblScope></imprint>
</monogr>

These are our problems:

* If we create one biblStruct-element for the article and one for the
book, the <monogr>-element of the superordinate book can be included in
the biblStruct element for the article using XInclude. The file is
validating and the Author Mode in oXygen shows the superordinate
information in detail. But we are facing problems in making this doable
for our editors (oXygen Author Mode cannot edit XInclude elements and
resolve them at the same time, naturally).

* If the monographic level information is externalized, the information
concerning the range of pages can no longer be placed within <monogr>,
because the information clearly links to the article. But <biblScope>
outside <monogr> isn't valid either. The use of <citedRange> could be an
alternative technically, but seems to a misuse here, with regards to
it’s intended meaning.

Any hints are welcome!
Thank you very much and best regards,

Martina

--
Martina Gödel - [log in to unmask]