<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:z="http://www.daisy.org/ns/z3998/annotations/#" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" ns="http://www.daisy.org/ns/z3998/authoring/">
<info xmlns="http://docbook.org/ns/docbook" xml:lang="en">
<title>The bibliography module </title>
<annotation annotates="/">
<para>This module defines the bibliography element used to structure bibliographic sections. </para>
<para>More information about this module is available at http://www.daisy.org/z3998/2012/auth/cm/#z3998.bibliography.module</para>
</annotation>
<author>
<personname>Markus Gylling</personname>
<email>mgylling@daisy.org</email>
</author>
<author>
<personname>Matt Garrish</personname>
</author>
<copyright>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2012</year>
<holder>DAISY Consortium</holder>
</copyright>
<legalnotice>
<para>This module is licensed under a Creative Commons Attribution 3.0 license, a copy of which is available at
<link xlink:href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</link>
</para>
<para>For complete licensing information, please refer to the LICENSE file that came with this distribution, a copy of which is also available from the DAISY web site at
<link xlink:href="http://www.daisy.org">www.daisy.org</link>
</para>
</legalnotice>
<revhistory>
<revision>
<date>2012-12-19</date>
<authorinitials>MGy</authorinitials>
<revdescription>
<para>Initial version</para>
</revdescription>
</revision>
</revhistory>
</info>
<div>
<define name="z3998.bibliography">
<element name="bibliography">
<a:documentation>The bibliography element represents a bibliography, discography, filmography or other bibliographic section. The entries in an bibliography may be grouped into sections by topic, work, alphabetic letter or other means. </a:documentation>
<ref name="z3998.bibliography.attlist"/>
<ref name="z3998.bibliography.content"/>
</element>
</define>
<define name="z3998.bibliography.attlist">
<ref name="z3998.Section.attrib"/>
</define>
<define name="z3998.bibliography.content">
<ref name="z3998.bibliography.model"/>
</define>
<define name="z3998.bibliography.model">
<interleave>
<optional>
<ref name="z3998.h"/>
</optional>
<zeroOrMore>
<choice>
<ref name="z3998.bibliography.extra.class"/>
</choice>
</zeroOrMore>
</interleave>
<choice>
<group>
<interleave>
<oneOrMore>
<ref name="z3998.bibliography.entry"/>
</oneOrMore>
<zeroOrMore>
<ref name="z3998.bibliography.extended.entry.class"/>
</zeroOrMore>
</interleave>
<zeroOrMore>
<ref name="z3998.bibliography.section"/>
</zeroOrMore>
</group>
<group>
<zeroOrMore>
<ref name="z3998.bibliography.entry"/>
</zeroOrMore>
<oneOrMore>
<ref name="z3998.bibliography.section"/>
</oneOrMore>
</group>
</choice>
</define>
<define name="z3998.bibliography.extra.class">
<choice>
<ref name="z3998.Block.basic.model"/>
<ref name="z3998.Global.extra.class"/>
</choice>
</define>
<define name="z3998.bibliography.extended.entry.class">
<choice>
<ref name="z3998.hd"/>
<ref name="z3998.Global.extra.class"/>
</choice>
</define>
</div>
<div>
<define name="z3998.bibliography.section">
<element name="section">
<a:documentation>The bibliography section element represents a major structural division of a bibliography . The bibliography section element is a specialization of the section element that provides a content model to fit the unique requirements of bibliographic divisions. The republishing of documents often requires the insertion of content that was not a part of the original source document. For example, in the case of indexes, bibliographies and other ordered sections, this requirement may take the form of placeholder sections to mark gaps in the alphabetic list of entries. To indicate that an element presents content that is a deviation from the source, the role attribute can be used with the value custom. No behaviors are defined for how a processing agent should handle sections so identified, however. </a:documentation>
<ref name="z3998.bibliography.attlist"/>
<ref name="z3998.bibliography.model"/>
</element>
</define>
</div>
<div>
<define name="z3998.bibliography.entry">
<element name="entry">
<a:documentation>The bibliography entry element represents a single unique entry in a bibliography . </a:documentation>
<ref name="z3998.bibliography.entry.attlist"/>
<ref name="z3998.bibliography.entry.content"/>
<sch:rule context="default:entry[ancestor::default:bibliography]">
<sch:assert test="normalize-space(.) or *">The entry element must neither be empty nor contain only whitespace. </sch:assert>
</sch:rule>
</element>
</define>
<define name="z3998.bibliography.entry.attlist">
<ref name="z3998.Block.attrib"/>
</define>
<define name="z3998.bibliography.entry.content">
<ref name="z3998.Flow.choice.model"/>
</define>
</div>
<div>
<a:documentation>bibliography - default content model contribution </a:documentation>
<define name="z3998.frontmatter.content.class" combine="choice">
<ref name="z3998.bibliography"/>
</define>
<define name="z3998.section.Section.content.class" combine="choice">
<ref name="z3998.bibliography"/>
</define>
<define name="z3998.backmatter.content.class" combine="choice">
<ref name="z3998.bibliography"/>
</define>
</div>
</grammar>