Newer
Older
ade-outils-xml / dtd / Wileyml3gv20-rng / Wileyml3g-bib.rng
@niederle niederle on 29 Dec 2015 18 KB 1er commit
<?xml version="1.0" encoding="UTF-8"?>
<!--
  =============================================================================================
  WileyML 3G
  
  A model for the content of John Wiley & Sons. 
  
  This file conforms to ISO/IEC 19757-2:2003 AMENDMENT 1 (RELAX NG Compact Syntax). The
  collection of these files normatively defines the XML grammar for WileyNG instances.
  
  Copyright (c) 2010 John Wiley & Sons Inc. All rights reserved worldwide.
  
  $Id: Wileyml3g-bib.rnc,v 1.28 2010/08/16 16:21:14 johnp Exp $
  =============================================================================================
-->
<grammar xmlns:wng="http://www.wiley.com/namespaces/wiley" xmlns:aux="http://www.wiley.com/namespaces/wiley/aux" xmlns="http://relaxng.org/ns/structure/1.0">
  <!--
    Additions (Feb 2013)
      1. <eLocator>: new element, added to model for <citation> (via pattern)
  -->
  <!--
    Changes for v1.0.3 (Aug 2010):
      1. <bookTitle>: added @original and @xml:lang
  -->
  <!--
    Changes for v1.0.1 (Sep 2009):
      1. made xml:id mandatory on <citation> (for online linking)
  -->
  <!--
    =============================================================================================
    articleTitle
    =============================================================================================
  -->
  <define name="wng.articleTitle.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <attribute name="original">
          <aux:desc>whether the title uses the original publication language (default value is yes)</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.articleTitle">
    <element name="wng:articleTitle">
      <aux:desc aux:cat="bib">In a citation, the title of an article, encyclopedia entry, proceedings paper, or other item in a non-book publication.</aux:desc>
      <ref name="wng.articleTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.infoAsset"/>
          <ref name="wng.accessionId"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    author
    =============================================================================================
  -->
  <define name="wng.author.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.author">
    <element name="wng:author">
      <aux:desc aux:cat="bib">In a citation, an author's name.</aux:desc>
      <ref name="wng.author.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.model.fragment.inline.name.elements.bib"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    bib
    =============================================================================================
  -->
  <define name="wng.bib.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.id.attribute"/>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.autonumber.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.bib">
    <element name="wng:bib">
      <aux:desc aux:cat="bib">A wrapper for one or more <xref xmlns="" linkend="wng_citation"/>
+++s in a <xref linkend="wng_bibliography"/>
+++.</aux:desc>
      <ref name="wng.bib.attlist"/>
      <optional>
        <ref name="wng.label"/>
      </optional>
      <oneOrMore>
        <ref name="wng.citation"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    bibliography
    =============================================================================================
  -->
  <define name="wng.bibliography.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="cited">
          <aux:desc>whether the items in this bibliography are cited in the article (default value is yes)</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <attribute name="style">
          <aux:desc>bibliography style hint (default value is numbered)</aux:desc>
          <choice>
            <value>numbered</value>
            <value>nameDate</value>
          </choice>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.bibliography">
    <element name="wng:bibliography">
      <aux:desc aux:cat="bib">A bibliography.</aux:desc>
      <ref name="wng.bibliography.attlist"/>
      <optional>
        <ref name="pattern.model.fragment.titling"/>
      </optional>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="wng.bib"/>
            <ref name="wng.p"/>
          </choice>
        </oneOrMore>
        <oneOrMore>
          <ref name="wng.bibSection"/>
        </oneOrMore>
      </choice>
    </element>
  </define>
  <!--
    =============================================================================================
    bibSection
    =============================================================================================
  -->
  <define name="wng.bibSection.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <attribute name="cited">
          <aux:desc>whether the items in this section are cited in the article</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="style">
          <aux:desc>bibliography style hint</aux:desc>
          <choice>
            <value>numbered</value>
            <value>nameDate</value>
          </choice>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.bibSection">
    <element name="wng:bibSection">
      <aux:desc aux:cat="bib">A division of the bibliography.</aux:desc>
      <ref name="wng.bibSection.attlist"/>
      <optional>
        <ref name="pattern.model.fragment.titling"/>
      </optional>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="wng.bib"/>
            <ref name="wng.p"/>
          </choice>
        </oneOrMore>
        <oneOrMore>
          <ref name="wng.bibSection"/>
        </oneOrMore>
      </choice>
    </element>
  </define>
  <!--
    =============================================================================================
    bookSeriesTitle
    =============================================================================================
  -->
  <define name="wng.bookSeriesTitle.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.bookSeriesTitle">
    <element name="wng:bookSeriesTitle">
      <aux:desc aux:cat="bib">In a book citation, a series title.</aux:desc>
      <ref name="wng.bookSeriesTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.infoAsset"/>
          <ref name="wng.accessionId"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    bookTitle
    =============================================================================================
  -->
  <define name="wng.bookTitle.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <attribute name="original">
          <aux:desc>whether the title uses the original publication language (default value is yes)</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.bookTitle">
    <element name="wng:bookTitle">
      <aux:desc aux:cat="bib">In a book citation, the book title.</aux:desc>
      <ref name="wng.bookTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.infoAsset"/>
          <ref name="wng.accessionId"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    chapterTitle
    =============================================================================================
  -->
  <define name="wng.chapterTitle.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.chapterTitle">
    <element name="wng:chapterTitle">
      <aux:desc aux:cat="bib">In a citation, the title of a chapter.</aux:desc>
      <ref name="wng.chapterTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.infoAsset"/>
          <ref name="wng.accessionId"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    citation
    =============================================================================================
  -->
  <define name="wng.citation.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
      <ref name="pattern.id.attribute"/>
    </interleave>
  </define>
  <define name="wng.citation">
    <element name="wng:citation">
      <aux:desc aux:cat="bib">A citation in a <xref xmlns="" linkend="wng_bibliography"/>
+++, <xref linkend="wng_selfCitationGroup"/>
+++, or as an inline reference.</aux:desc>
      <ref name="wng.citation.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.model.fragment.bib.common"/>
          <ref name="pattern.formatting.nomath"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    defendant
    =============================================================================================
  -->
  <define name="wng.defendant.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.defendant">
    <element name="wng:defendant">
      <aux:desc aux:cat="bib">In a legal case <xref xmlns="" linkend="wng_citation"/>
+++, the name of the defendant.</aux:desc>
      <ref name="wng.defendant.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    edition
    =============================================================================================
  -->
  <define name="wng.edition.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="number"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.edition">
    <element name="wng:edition">
      <aux:desc aux:cat="bib">In a book citation, the edition.</aux:desc>
      <ref name="wng.edition.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    editor
    =============================================================================================
  -->
  <define name="wng.editor.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="isSeriesEditor">
          <aux:desc>whether the editor is an editor of a series (absence does not imply either value)</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.editor">
    <element name="wng:editor">
      <aux:desc aux:cat="bib">In a citation, an editor's name.</aux:desc>
      <ref name="wng.editor.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.model.fragment.inline.name.elements.bib"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    eLocator
    =============================================================================================
  -->
  <define name="wng.eLocator.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.eLocator">
    <element name="wng:eLocator">
      <aux:desc aux:cat="bib">In a citation, an ID for citing an electronic publication.</aux:desc>
      <ref name="wng.eLocator.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    isbn
    =============================================================================================
    wng.isbn.attlist = pattern.global.attributes
    wng.isbn =
     [ aux:desc [ aux:cat = "bib" "In the bibliography, an ISBN." ] ]
     element wng:isbn { wng.isbn.attlist, text }
    =============================================================================================
    issue
    =============================================================================================
  -->
  <define name="wng.issue.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="number">
          <aux:desc>the numeric value</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.issue">
    <element name="wng:issue">
      <aux:desc aux:cat="bib">In a citation, an issue or supplement number.</aux:desc>
      <ref name="wng.issue.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    journalTitle
    =============================================================================================
  -->
  <define name="wng.journalTitle.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.journalTitle">
    <element name="wng:journalTitle">
      <aux:desc aux:cat="bib">In a journal citation, the journal title.</aux:desc>
      <ref name="wng.journalTitle.attlist"/>
      <zeroOrMore>
        <text/>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    otherTitle
    =============================================================================================
  -->
  <define name="wng.otherTitle.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <attribute name="original">
          <aux:desc>whether the title uses the original publication language (default value is 'yes')</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.otherTitle">
    <element name="wng:otherTitle">
      <aux:desc aux:cat="bib">In a citation, the title of a publication that is not one of the specific citation types.</aux:desc>
      <ref name="wng.otherTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.infoAsset"/>
          <ref name="wng.accessionId"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    plaintiff
    =============================================================================================
  -->
  <define name="wng.plaintiff.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.plaintiff">
    <element name="wng:plaintiff">
      <aux:desc aux:cat="bib">In a legal case citation, a plaintiff.</aux:desc>
      <ref name="wng.plaintiff.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    pubYear
    =============================================================================================
  -->
  <define name="wng.pubYear.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <attribute name="year">
        <aux:desc>the year in YYYY format</aux:desc>
      </attribute>
    </interleave>
  </define>
  <define name="wng.pubYear">
    <element name="wng:pubYear">
      <aux:desc aux:cat="bib">In a citation, the publication year.</aux:desc>
      <ref name="wng.pubYear.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    statuteTitle
    =============================================================================================
  -->
  <define name="wng.statuteTitle.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.statuteTitle">
    <element name="wng:statuteTitle">
      <aux:desc aux:cat="bib">In a statute citation, a statute title.</aux:desc>
      <ref name="wng.statuteTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.infoAsset"/>
          <ref name="wng.accessionId"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    vol
    =============================================================================================
  -->
  <define name="wng.vol.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="number">
          <aux:desc>the numeric value</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.vol">
    <element name="wng:vol">
      <aux:desc aux:cat="bib">In the bibliography, a volume number.</aux:desc>
      <ref name="wng.vol.attlist"/>
      <text/>
    </element>
  </define>
</grammar>