Newer
Older
ade-outils-xml / dtd / Wileyml3gv20-rng / Wileyml3g-metadata.rng
@niederle niederle on 29 Dec 2015 76 KB 1er commit
<?xml version="1.0" encoding="UTF-8"?>
<!--
  =============================================================================================
  WileyML 3G
  
  A model for the content of John Wiley &amp; 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) 2011 John Wiley & Sons Inc. All rights reserved worldwide.
  
  $Id: Wileyml3g-metadata.rnc,v 1.61 2011/07/28 8:23:58 johnp Exp $
  =============================================================================================
-->
<grammar xmlns:cms="http://cms.wiley.com" 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">
  <!--
    Addition July 2015
      1. <supportingInfoItem>: added @showsPeerReview
  -->
  <!--
    Additions Jan 2015
      1. <fundingAgency>: added optional @fundRefName and @funderDoi
  -->
  <!--
    Corrections (Additions) Nov 2012
      1. <publicationMeta>: added @pagination
      2. <supportingInformation>: added @xml:id
      3. <supportingInfoItem>: added @xml:id
  -->
  <!--
    Changes for Version 2.0 Aug 2011
      1. <enrichedObject> and <enrichedObjectGroup>: new elements
      2. <contentMeta>: added <enrichedOjectGroup> to model
      3. <creator>: replaced @correspondenceRef by @correpsonding="yes|no"
      4. <correspondenceTo>: removed @xml:id
  -->
  <!--
    Changes for v1.0.3 Aug 2010
      1. added new elements attributeValueGroup and attributeValue, with
            attributeValueGroup added to publicationMeta
      2. <objectName>: added @iconRef and @presentation
      3. <objectName>: added @displayTitle
      4. <abstract>: added new element <useSectionTitles>, removed 
                      autoLevel1,2,3 values from @type, removed @autoStyle
      5. <subject>: made @href mandatory
      6. <correspondenceTo>: made @xml:id optional
  -->
  <!--
    Changed 3-3-2010:
      1. added description for copyright/@ownership
  -->
  <!--
    =============================================================================================
    abstract element
    =============================================================================================  
  -->
  <define name="wng.abstract.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <ref name="pattern.type.attribute"/>
    </interleave>
  </define>
  <define name="wng.abstract">
    <element name="wng:abstract">
      <aux:desc aux:cat="metadata">An abstract of an article, chapter, etc.</aux:desc>
      <ref name="wng.abstract.attlist"/>
      <optional>
        <ref name="pattern.model.fragment.titling"/>
      </optional>
      <optional>
        <ref name="wng.doi"/>
      </optional>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="wng.p"/>
            <ref name="wng.tabular"/>
            <ref name="wng.figure"/>
            <ref name="wng.block"/>
            <ref name="wng.useSectionTitles"/>
          </choice>
        </oneOrMore>
        <oneOrMore>
          <ref name="wng.section"/>
        </oneOrMore>
      </choice>
    </element>
  </define>
  <!--
    =============================================================================================
    abstractGroup element
    =============================================================================================  
  -->
  <define name="wng.abstractGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.abstractGroup">
    <element name="wng:abstractGroup">
      <aux:desc aux:cat="metadata">A container for one or more <xref xmlns="" linkend="wng_abstract"/>
+++s.</aux:desc>
      <ref name="wng.abstractGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.abstract"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    address element
    =============================================================================================  
  -->
  <define name="wng.address.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.address">
    <element>
      <name>wng:address</name>
      <aux:desc aux:cat="metadata">Address information in an affiliation.</aux:desc>
      <ref name="wng.address.attlist"/>
      <oneOrMore>
        <choice>
          <ref name="wng.street"/>
          <ref name="wng.city"/>
          <ref name="wng.countryPart"/>
          <ref name="wng.country"/>
          <ref name="wng.postCode"/>
        </choice>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    affiliation element
    =============================================================================================
  -->
  <define name="wng.affiliation.attlist">
    <interleave>
      <ref name="pattern.id.attribute"/>
      <optional>
        <ref name="pattern.countryCode.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.type.attribute">
          <aux:desc>the type of the affiliation (default value is organization)</aux:desc>
        </ref>
      </optional>
    </interleave>
  </define>
  <define name="wng.affiliation">
    <element name="wng:affiliation">
      <aux:desc aux:cat="metadata">The affiliation details of a creator.</aux:desc>
      <ref name="wng.affiliation.attlist"/>
      <optional>
        <ref name="wng.idGroup"/>
      </optional>
      <choice>
        <group>
          <zeroOrMore>
            <choice>
              <ref name="wng.orgName"/>
              <ref name="wng.orgDiv"/>
            </choice>
          </zeroOrMore>
          <optional>
            <ref name="wng.address"/>
          </optional>
          <optional>
            <ref name="wng.url"/>
          </optional>
        </group>
        <ref name="wng.unparsedAffiliation"/>
      </choice>
    </element>
  </define>
  <!--
    =============================================================================================
    affiliationGroup element
    =============================================================================================
  -->
  <define name="wng.affiliationGroup.attlist">
    <optional>
      <ref name="pattern.id.attribute"/>
    </optional>
  </define>
  <define name="wng.affiliationGroup">
    <element name="wng:affiliationGroup">
      <aux:desc aux:cat="metadata">A wrapper for <xref xmlns="" linkend="wng_affiliation"/>
+++s.</aux:desc>
      <ref name="wng.affiliationGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.affiliation"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    attributeValue element
    =============================================================================================
  -->
  <define name="wng.attributeValue.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <attribute name="element">
        <aux:desc>specifies an element for which an attribute value will be constrained</aux:desc>
      </attribute>
      <attribute name="attribute">
        <aux:desc>specifies an attribute for which an attribute value will be constrained</aux:desc>
      </attribute>
      <attribute name="value">
        <aux:desc>specifies an allowed value for a given element/attribute</aux:desc>
      </attribute>
      <optional>
        <attribute name="iconRef">
          <aux:desc>URI or IRI for an icon associated with this value</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="presentation">
          <aux:desc>presentational hint if associated icon should only appear in certain output types (print, online)</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:iconRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="purpose">
          <aux:desc>description of intended appearance or other information for this value</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.attributeValue">
    <element name="wng:attributeValue">
      <aux:desc aux:cat="metadata">Declares a value for a given attribute on a given element when the attribute is not constrained by controlled values and when the value is not a 'predefined' value.</aux:desc>
      <ref name="wng.attributeValue.attlist"/>
      <empty/>
    </element>
  </define>
  <!--
    =============================================================================================
    attributeValueGroup element
    =============================================================================================
  -->
  <define name="wng.attributeValueGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.attributeValueGroup">
    <element name="wng:attributeValueGroup">
      <aux:desc aux:cat="metadata">A wrapper for <xref xmlns="" linkend="wng_attributeValue"/>
+++s.</aux:desc>
      <ref name="wng.attributeValueGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.attributeValue"/>
      </oneOrMore>
    </element>
  </define>
  <!-- ============================================================================================= -->
  <!--
    biographyInfo
    =============================================================================================
  -->
  <define name="wng.biographyInfo.attlist">
    <optional>
      <ref name="pattern.id.attribute"/>
    </optional>
  </define>
  <define name="wng.biographyInfo">
    <element name="wng:biographyInfo">
      <aux:desc aux:cat="metadata">A wrapper for biographical information about an article, chapter, or book creator (typically an author).</aux:desc>
      <ref name="wng.biographyInfo.attlist"/>
      <choice>
        <group>
          <oneOrMore>
            <ref name="wng.p"/>
          </oneOrMore>
          <optional>
            <choice>
              <ref name="wng.mediaResource"/>
              <ref name="wng.mediaResourceGroup"/>
            </choice>
          </optional>
        </group>
        <choice>
          <ref name="wng.mediaResource"/>
          <ref name="wng.mediaResourceGroup"/>
        </choice>
      </choice>
    </element>
  </define>
  <!--
    =============================================================================================
    city element
    =============================================================================================
  -->
  <define name="wng.city.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.city">
    <element name="wng:city">
      <aux:desc aux:cat="metadata">In metadata, a city (part of an <xref xmlns="" linkend="wng_address"/>
+++).</aux:desc>
      <ref name="wng.city.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    contactDetails element
    =============================================================================================
  -->
  <define name="wng.contactDetails.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.contactDetails">
    <element name="wng:contactDetails">
      <aux:desc aux:cat="metadata">In metadata, a creator's contact details.</aux:desc>
      <ref name="wng.contactDetails.attlist"/>
      <zeroOrMore>
        <ref name="wng.email"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.url"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.phone"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.fax"/>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    contentMeta element
    =============================================================================================
  -->
  <define name="wng.contentMeta.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.contentMeta">
    <element name="wng:contentMeta">
      <aux:desc aux:cat="high">A container element for chapter/article-level metadata that is inherent to the article/chapter, not an artifact of its publication.</aux:desc>
      <ref name="wng.contentMeta.attlist"/>
      <optional>
        <ref name="wng.unparsedEditorialHistory"/>
      </optional>
      <optional>
        <ref name="wng.countGroup"/>
      </optional>
      <ref name="wng.titleGroup"/>
      <optional>
        <ref name="wng.creators"/>
      </optional>
      <optional>
        <ref name="wng.affiliationGroup"/>
      </optional>
      <zeroOrMore>
        <ref name="wng.keywordGroup"/>
      </zeroOrMore>
      <optional>
        <ref name="wng.enrichedObjectGroup"/>
      </optional>
      <optional>
        <ref name="wng.MeSHterms"/>
      </optional>
      <zeroOrMore>
        <ref name="wng.fundingInfo"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.dedication"/>
      </zeroOrMore>
      <optional>
        <ref name="wng.supportingInformation"/>
      </optional>
      <optional>
        <ref name="wng.abstractGroup"/>
      </optional>
    </element>
  </define>
  <!--
    =============================================================================================
    copyright element
    =============================================================================================
  -->
  <define name="wng.copyright.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute>
          <name ns="">ownership</name>
          <aux:desc>the entity that owns the copyright (default value is publisher)</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.copyright">
    <element name="wng:copyright">
      <aux:desc aux:cat="metadata">In metadata, a copyright statement.</aux:desc>
      <ref name="wng.copyright.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    correspondenceTo element
    =============================================================================================
  -->
  <define name="wng.correspondenceTo.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.correspondenceTo">
    <element name="wng:correspondenceTo">
      <aux:desc aux:cat="metadata">In metadata for a journal article, information about the corresponding author(s).</aux:desc>
      <ref name="wng.correspondenceTo.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="wng.email"/>
          <ref name="wng.url"/>
          <ref name="wng.lineatedText"/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    count element
    =============================================================================================
  -->
  <define name="wng.count.attlist">
    <interleave>
      <attribute>
        <name ns="">type</name>
        <aux:desc>the type of item or property being counted</aux:desc>
      </attribute>
      <attribute name="number">
        <aux:desc>the numeric value</aux:desc>
      </attribute>
      <ref name="pattern.global.attributes">
        <aux:desc>the number (count) of that type of item</aux:desc>
      </ref>
    </interleave>
  </define>
  <define name="wng.count">
    <element name="wng:count">
      <aux:desc aux:cat="metadata">In metadata, a count of a particular type of item.</aux:desc>
      <ref name="wng.count.attlist"/>
    </element>
  </define>
  <!--
    =============================================================================================
    countGroup element
    =============================================================================================
  -->
  <define name="wng.countGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.countGroup">
    <element name="wng:countGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for <xref xmlns="" linkend="wng_count"/>
 elements.</aux:desc>
      <ref name="wng.countGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.count"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    country element
    =============================================================================================
  -->
  <define name="wng.country.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.country">
    <element name="wng:country">
      <aux:desc aux:cat="metadata">In metadata, a country (part of an <xref xmlns="" linkend="wng_address"/>
+++).</aux:desc>
      <ref name="wng.country.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    countryPart element
    =============================================================================================
  -->
  <define name="wng.countryPart.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.countryPart">
    <element name="wng:countryPart">
      <aux:desc aux:cat="metadata">In metadata, a state, county, province or other national sub-entity (part of an <xref xmlns="" linkend="wng_address"/>
+++).</aux:desc>
      <ref name="wng.countryPart.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    coverDate
    =============================================================================================
  -->
  <define name="wng.coverDate.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <attribute name="startDate">
        <aux:desc>cover start date in ISO 8601 format (see http://www.w3.org/TR/NOTE-datetime)</aux:desc>
      </attribute>
    </interleave>
  </define>
  <define name="wng.coverDate">
    <element name="wng:coverDate">
      <aux:desc aux:cat="journal-specific">The cover date of a journal issue.</aux:desc>
      <ref name="wng.coverDate.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    creator element
    =============================================================================================
  -->
  <define name="wng.creator.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.id.attribute"/>
      <optional>
        <attribute name="creatorRole">
          <aux:desc>the creator's role (default value is author)</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="currentRef">
          <aux:desc>points to the current affiliation of the creator if this is different from their affiliation when they authored the content</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:currentRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="responsibleForRef">
          <aux:desc>points to the parts of the document authored by this creator if the creator is not responsible for the whole document</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="corresponding">
          <aux:desc>is this an author for correspondence? (default value is no)</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:responsibleForRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="affiliationRef">
          <aux:desc>points to the affiliation(s) for this creator</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:affiliationRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="groupRef">
          <aux:desc>points to a participated-in collaboration(s) for this creator</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:groupRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="noteRef">
          <aux:desc>points to a note(s) for this creator</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:noteRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.creator">
    <element name="wng:creator">
      <aux:desc aux:cat="metadata">In metadata, a creator (e.g., author) of the document's content.</aux:desc>
      <ref name="wng.creator.attlist"/>
      <optional>
        <ref name="wng.idGroup"/>
      </optional>
      <choice>
        <ref name="wng.personName"/>
        <ref name="wng.unparsedName"/>
        <ref name="wng.groupName"/>
      </choice>
      <zeroOrMore>
        <ref name="wng.nameAlternative"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.jobTitle"/>
      </zeroOrMore>
      <optional>
        <ref name="wng.biographyInfo"/>
      </optional>
      <optional>
        <ref name="wng.contactDetails"/>
      </optional>
    </element>
  </define>
  <!--
    =============================================================================================
    creators
    =============================================================================================
  -->
  <define name="wng.creators.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.creators">
    <element name="wng:creators">
      <aux:desc aux:cat="metadata">In metadata, the creators (e.g., authors) of the document's content.</aux:desc>
      <ref name="wng.creators.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="wng.creator"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    dedication element
    =============================================================================================
  -->
  <define name="wng.dedication.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.dedication">
    <element>
      <name>wng:dedication</name>
      <aux:desc aux:cat="metadata">In content metadata, typically for a journal article, a dedication.</aux:desc>
      <ref name="wng.dedication.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.p"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    degrees element
    =============================================================================================
  -->
  <define name="wng.degrees.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.degrees">
    <element name="wng:degrees">
      <aux:desc aux:cat="metadata">In metadata, part of a person's structured name showing their degrees and qualifications.</aux:desc>
      <ref name="wng.degrees.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    doi element
    =============================================================================================
  -->
  <define name="wng.doi.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="origin">
          <aux:desc>who registered the DOI (defaults to wiley)</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="registered">
          <aux:desc>whether the DOI is registered</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.doi">
    <element name="wng:doi">
      <aux:desc aux:cat="shared">In metadata, a Digital Object Identifier.</aux:desc>
      <ref name="wng.doi.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    email element
    =============================================================================================
  -->
  <define name="wng.email.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="normalForm">
          <aux:desc>usable form of the email address if the element content differs from this (e.g., if anti-spam obscured or if the email address contains character entities)</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.email">
    <element name="wng:email">
      <aux:desc aux:cat="shared">An email address.</aux:desc>
      <ref name="wng.email.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    enrichedObject element
    =============================================================================================
  -->
  <define name="wng.enrichedObject.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.id.attribute"/>
      <optional>
        <attribute name="relevance">
          <aux:desc>When a compound should receive special treatment, use relevance='primary'. If 'primary' is used, then 'secondary' must be used on other enrichedObjects.</aux:desc>
          <choice>
            <value>primary</value>
            <value>secondary</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="associatedDataRef">
          <aux:desc>A space-separated list of URIs identifying information about the object, such as a region of a graphic or a section of text.</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.enrichedObject">
    <element name="wng:enrichedObject">
      <aux:desc aux:cat="metadata">Detailed information about a chemical compound or (in future) other types of objects.</aux:desc>
      <ref name="wng.enrichedObject.attlist"/>
      <optional>
        <ref name="wng.label"/>
      </optional>
      <zeroOrMore>
        <ref name="wng.accessionId"/>
      </zeroOrMore>
      <optional>
        <choice>
          <ref name="wng.mediaResource"/>
          <ref name="wng.mediaResourceGroup"/>
        </choice>
      </optional>
    </element>
  </define>
  <!--
    =============================================================================================
    enrichedObjectGroup element
    =============================================================================================
  -->
  <define name="wng.enrichedObjectGroup.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
    </interleave>
  </define>
  <define name="wng.enrichedObjectGroup">
    <element name="wng:enrichedObjectGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for <xref xmlns="" linkend="wng_enrichedObject"/>
+++s.</aux:desc>
      <ref name="wng.enrichedObjectGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.enrichedObject"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    event element
    =============================================================================================
  -->
  <define name="wng.event.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
      <attribute name="date">
        <aux:desc>the date (and optionally, time) of the event in ISO 8601 format (see http://www.w3.org/TR/NOTE-datetime)</aux:desc>
      </attribute>
      <optional>
        <attribute name="agent">
          <aux:desc>who/what effected the event</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.event">
    <element name="wng:event">
      <aux:desc aux:cat="metadata">In metadata, an event, its date, and optionally the agent (human or system) that performed the action.</aux:desc>
      <ref name="wng.event.attlist"/>
    </element>
  </define>
  <!--
    =============================================================================================
    eventGroup element
    =============================================================================================
  -->
  <define name="wng.eventGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.eventGroup">
    <element name="wng:eventGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for <xref xmlns="" linkend="wng_event"/>
+++s.</aux:desc>
      <ref name="wng.eventGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.event"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    familyName element
    =============================================================================================
  -->
  <define name="wng.familyName.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.familyName">
    <element name="wng:familyName">
      <aux:desc aux:cat="metadata">In metadata or in a citation, part of a person's structured name.</aux:desc>
      <ref name="wng.familyName.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    familyNamePrefix element
    =============================================================================================
  -->
  <define name="wng.familyNamePrefix.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.familyNamePrefix">
    <element name="wng:familyNamePrefix">
      <aux:desc aux:cat="metadata">In metadata or in a citation, prefix to the family name of  a person.</aux:desc>
      <ref name="wng.familyNamePrefix.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    fax element
    =============================================================================================
  -->
  <define name="wng.fax.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.fax">
    <element name="wng:fax">
      <aux:desc aux:cat="metadata">In metadata, a fax number.</aux:desc>
      <ref name="wng.fax.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    fundingAgency element
    =============================================================================================
  -->
  <define name="wng.fundingAgency.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="fundRefName">
          <aux:desc>the funding agency's name as given in the controlled FundRef taxonomy</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="funderDoi">
          <aux:desc>the DOI assigned by FundRef for the funding agency</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.fundingAgency">
    <element name="wng:fundingAgency">
      <aux:desc aux:cat="metadata">The name of an organization (contract/grant sponsor) that provided sponsorship for the work.</aux:desc>
      <ref name="wng.fundingAgency.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    fundingInfo element
    =============================================================================================
  -->
  <define name="wng.fundingInfo.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.fundingInfo">
    <element name="wng:fundingInfo">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for information about the funding of an article (e.g., contract or grant sponsors; contract or grant numbers).</aux:desc>
      <ref name="wng.fundingInfo.attlist"/>
      <ref name="wng.fundingAgency"/>
      <zeroOrMore>
        <ref name="wng.fundingNumber"/>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    fundingNumber element
    =============================================================================================
  -->
  <define name="wng.fundingNumber.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.fundingNumber">
    <element name="wng:fundingNumber">
      <aux:desc aux:cat="metadata">In metadata, a contract or grant number that supported some or all of the work described.</aux:desc>
      <ref name="wng.fundingNumber.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    givenNames element
    =============================================================================================
  -->
  <define name="wng.givenNames.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.givenNames">
    <element name="wng:givenNames">
      <aux:desc aux:cat="metadata">In metadata or in a citation, part of a person's structured name.</aux:desc>
      <ref name="wng.givenNames.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    groupName element
    =============================================================================================
  -->
  <define name="wng.groupName.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.groupName">
    <element name="wng:groupName">
      <aux:desc aux:cat="metadata">In metadata or in a citation, the name of a creator or an authoring entity that is not a person (e.g., groups, collaborations, corporations, etc.).</aux:desc>
      <ref name="wng.groupName.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    honorifics element
    =============================================================================================
  -->
  <define name="wng.honorifics.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.honorifics">
    <element name="wng:honorifics">
      <aux:desc aux:cat="metadata">In metadata, part of a person's structured name.</aux:desc>
      <ref name="wng.honorifics.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    id element
    =============================================================================================
  -->
  <define name="wng.id.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
      <attribute>
        <name ns="">value</name>
        <aux:desc>the identifier value</aux:desc>
      </attribute>
    </interleave>
  </define>
  <define name="wng.id">
    <element name="wng:id">
      <aux:desc aux:cat="metadata">In metadata, an identifier associated with the content.</aux:desc>
      <ref name="wng.id.attlist"/>
    </element>
  </define>
  <!--
    =============================================================================================
    idGroup element
    =============================================================================================
  -->
  <define name="wng.idGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.idGroup">
    <element name="wng:idGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for id elements.</aux:desc>
      <ref name="wng.idGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.id"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    jobTitle element
    =============================================================================================
  -->
  <define name="wng.jobTitle.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.jobTitle">
    <element name="wng:jobTitle">
      <aux:desc aux:cat="metadata">In metadata, a <xref xmlns="" linkend="wng_creator"/>
+++'s job title.</aux:desc>
      <ref name="wng.jobTitle.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    isbn element
    =============================================================================================
  -->
  <define name="wng.isbn.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
    </interleave>
  </define>
  <define name="wng.isbn">
    <element name="wng:isbn">
      <aux:desc aux:cat="shared">In metadata, an ISBN (International Standard Book Number).</aux:desc>
      <ref name="wng.isbn.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    issn element
    =============================================================================================
  -->
  <define name="wng.issn.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
    </interleave>
  </define>
  <define name="wng.issn">
    <element name="wng:issn">
      <aux:desc aux:cat="shared">In metadata, an ISSN (International Standard Serial Number).</aux:desc>
      <ref name="wng.issn.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    keyword element
    =============================================================================================
  -->
  <define name="wng.keyword.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.id.attribute"/>
    </interleave>
  </define>
  <define name="wng.keyword">
    <element name="wng:keyword">
      <aux:desc aux:cat="metadata">In metadata, a keyword associated with the document's content.</aux:desc>
      <ref name="wng.keyword.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.accessionId"/>
          <ref name="wng.infoAsset"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    keywordGroup element
    =============================================================================================
  -->
  <define name="wng.keywordGroup.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.keywordGroup">
    <element name="wng:keywordGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for <xref xmlns="" linkend="wng_keyword"/>
 elements.</aux:desc>
      <ref name="wng.keywordGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.keyword"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    learningObjective element
    =============================================================================================
  -->
  <define name="wng.learningObjective.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <optional>
        <attribute name="appliesToRef">
          <aux:desc>the content to which this learning objective applies</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:appliesToRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.learningObjective">
    <element name="wng:learningObjective">
      <aux:desc aux:cat="metadata">In metadata, a learning objective associated with some or all of a document's content.</aux:desc>
      <ref name="wng.learningObjective.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
          <ref name="wng.accessionId"/>
          <ref name="wng.infoAsset"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    learningObjectiveGroup element
    =============================================================================================
  -->
  <define name="wng.learningObjectiveGroup.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.learningObjectiveGroup">
    <element name="wng:learningObjectiveGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for <xref xmlns="" linkend="wng_learningObjective"/>
 elements.</aux:desc>
      <ref name="wng.learningObjectiveGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.learningObjective"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    legalStatement element
    =============================================================================================
  -->
  <define name="wng.legalStatement.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.legalStatement">
    <element name="wng:legalStatement">
      <aux:desc aux:cat="metadata">In metadata, a legal statement (disclaimer, etc).</aux:desc>
      <ref name="wng.legalStatement.attlist"/>
      <oneOrMore>
        <ref name="wng.p"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    linkGroup element
    =============================================================================================
  -->
  <define name="wng.linkGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.linkGroup">
    <element name="wng:linkGroup">
      <aux:desc aux:cat="metadata">A collection of links to resources associated with a product, unit, or exercise.</aux:desc>
      <ref name="wng.linkGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.link"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    MedLinePubType element
    =============================================================================================
  -->
  <define name="wng.MedLinePubType.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.MedLinePubType">
    <element>
      <name>wng:MedLinePubType</name>
      <aux:desc aux:cat="metadata">In metadata, a MedLine publication type.</aux:desc>
      <ref name="wng.MedLinePubType.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    MeSHcheckWord element
    =============================================================================================
  -->
  <define name="wng.MeSHcheckWord.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.MeSHcheckWord">
    <element>
      <name>wng:MeSHcheckWord</name>
      <aux:desc aux:cat="metadata">In metadata, a Medical Subject Heading check word.</aux:desc>
      <ref name="wng.MeSHcheckWord.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    MeSHheading element
    =============================================================================================
  -->
  <define name="wng.MeSHheading.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.MeSHheading">
    <element>
      <name>wng:MeSHheading</name>
      <aux:desc aux:cat="metadata">In metadata, a container for Medical Subject Heading descriptor and qualifiers.</aux:desc>
      <ref name="wng.MeSHheading.attlist"/>
      <ref name="wng.MeSHdescriptor"/>
      <zeroOrMore>
        <ref name="wng.MeSHqualifier"/>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    MeSHdescriptor element
    =============================================================================================
  -->
  <define name="wng.MeSHdescriptor.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <attribute name="majorTopic">
        <aux:desc>set to 'yes' for focus headings that consist of the descriptor only</aux:desc>
        <ref name="pattern.boolean.tokens"/>
      </attribute>
    </interleave>
  </define>
  <define name="wng.MeSHdescriptor">
    <element>
      <name>wng:MeSHdescriptor</name>
      <aux:desc aux:cat="metadata">In metadata, a Medical Subject Heading descriptor.</aux:desc>
      <ref name="wng.MeSHdescriptor.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    MeSHqualifier element
    =============================================================================================
  -->
  <define name="wng.MeSHqualifier.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <attribute name="majorTopic">
        <aux:desc>set to 'yes' for focus headings that consist of the descriptor plus the qualifier</aux:desc>
        <ref name="pattern.boolean.tokens"/>
      </attribute>
    </interleave>
  </define>
  <define name="wng.MeSHqualifier">
    <element>
      <name>wng:MeSHqualifier</name>
      <aux:desc aux:cat="metadata">In metadata, a Medical Subject Heading qualifier.</aux:desc>
      <ref name="wng.MeSHqualifier.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    MeSHterms element
    =============================================================================================
  -->
  <define name="wng.MeSHterms.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.MeSHterms">
    <element>
      <name>wng:MeSHterms</name>
      <aux:desc aux:cat="metadata">In metadata, a wrapper for  <ulink xmlns="" url="http://www.nlm.nih.gov/mesh">MeSH</ulink>
(Medical Subject Headings) semantics.</aux:desc>
      <ref name="wng.MeSHterms.attlist"/>
      <optional>
        <ref name="wng.MedLinePubType"/>
      </optional>
      <group>
        <zeroOrMore>
          <ref name="wng.MeSHcheckWord"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="wng.MeSHheading"/>
        </oneOrMore>
      </group>
    </element>
  </define>
  <!--
    =============================================================================================
    nameAlternative element
    =============================================================================================
  -->
  <define name="wng.nameAlternative.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.nameAlternative">
    <element>
      <name>wng:nameAlternative</name>
      <aux:desc aux:cat="metadata">In metadata, an alternative form of a <xref xmlns="" linkend="wng_creator"/>
+++'s name, such as presentation in Chinese characters.</aux:desc>
      <ref name="wng.nameAlternative.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    nameSuffix element
    =============================================================================================
  -->
  <define name="wng.nameSuffix.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.nameSuffix">
    <element name="wng:nameSuffix">
      <aux:desc aux:cat="metadata">In metadata or in a citation, a generational suffix on a name.</aux:desc>
      <ref name="wng.nameSuffix.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    numbering
    =============================================================================================
  -->
  <define name="wng.numbering.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.type.attribute"/>
      <optional>
        <attribute name="number">
          <aux:desc>the arabic form of the number, if its printed form differs</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.numbering">
    <element name="wng:numbering">
      <aux:desc aux:cat="journal-specific">In metadata, numbering information, such as a journal volume or page number.</aux:desc>
      <ref name="wng.numbering.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    numberingGroup
    =============================================================================================
  -->
  <define name="wng.numberingGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.numberingGroup">
    <element name="wng:numberingGroup">
      <aux:desc aux:cat="journal-specific">In metadata, a wrapper for <xref xmlns="" linkend="wng_numbering"/>
 information.</aux:desc>
      <ref name="wng.numberingGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.numbering"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    objectName element
    =============================================================================================
  -->
  <define name="wng.objectName.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <attribute name="elementName">
        <aux:desc>the name of the element whose type is constrained</aux:desc>
      </attribute>
      <optional>
        <attribute name="displayTitle">
          <aux:desc>hint to rendering application whether to display the name (default value is 'yes')</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="iconRef">
          <aux:desc>URI or IRI for an icon associated with this object name</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="presentation">
          <aux:desc>presentational hint if object or associated icon should only appear in certain output types (print, online)</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:iconRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.objectName">
    <element name="wng:objectName">
      <aux:desc aux:cat="metadata">In metadata, a permitted name for certain types of objects.</aux:desc>
      <ref name="wng.objectName.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="wng.sub"/>
          <ref name="wng.sup"/>
          <ref name="wng.fc"/>
          <ref name="wng.fi"/>
          <ref name="wng.fr"/>
          <ref name="wng.span"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    objectNameGroup element
    =============================================================================================
  -->
  <define name="wng.objectNameGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.objectNameGroup">
    <element name="wng:objectNameGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for <xref xmlns="" linkend="wng_objectName"/>
 elements.</aux:desc>
      <ref name="wng.objectNameGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.objectName"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    orgDiv element
    =============================================================================================
  -->
  <define name="wng.orgDiv.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.orgDiv">
    <element name="wng:orgDiv">
      <aux:desc aux:cat="metadata">In metadata, an organizational division within an affiliation, such as a university department.</aux:desc>
      <ref name="wng.orgDiv.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    orgName element
    =============================================================================================
  -->
  <define name="wng.orgName.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.orgName">
    <element name="wng:orgName">
      <aux:desc aux:cat="metadata">In metadata, an organization's name.</aux:desc>
      <ref name="wng.orgName.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    pageFirst element
    =============================================================================================
  -->
  <define name="wng.pageFirst.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.pageFirst">
    <element name="wng:pageFirst">
      <aux:desc aux:cat="bib">In citations, the first page of a cited item.</aux:desc>
      <ref name="wng.pageFirst.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    pageLast element
    =============================================================================================
  -->
  <define name="wng.pageLast.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.pageLast">
    <element name="wng:pageLast">
      <aux:desc aux:cat="bib">In citations, the last page of the cited item.</aux:desc>
      <ref name="wng.pageLast.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    personName element
    =============================================================================================
  -->
  <define name="wng.personName.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.personName">
    <element>
      <name>wng:personName</name>
      <aux:desc aux:cat="metadata">In metadata, the name of a person.</aux:desc>
      <ref name="wng.personName.attlist"/>
      <group>
        <optional>
          <ref name="wng.honorifics"/>
        </optional>
        <choice>
          <group>
            <ref name="wng.givenNames"/>
            <optional>
              <ref name="wng.familyNamePrefix"/>
            </optional>
            <ref name="wng.familyName"/>
          </group>
          <group>
            <optional>
              <ref name="wng.familyNamePrefix"/>
            </optional>
            <ref name="wng.familyName"/>
            <optional>
              <ref name="wng.givenNames"/>
            </optional>
          </group>
        </choice>
        <optional>
          <ref name="wng.nameSuffix"/>
        </optional>
        <optional>
          <ref name="wng.titlesAfterNames"/>
        </optional>
        <optional>
          <ref name="wng.degrees"/>
        </optional>
      </group>
    </element>
  </define>
  <!--
    =============================================================================================
    publicationMeta
    =============================================================================================
  -->
  <define name="wng.publicationMeta.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <attribute name="level">
        <aux:desc>the level of publication being described</aux:desc>
      </attribute>
      <optional>
        <attribute name="position">
          <aux:desc>sequences/positions the object indicated by the 'level' attribute within the publication</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="accessType">
          <aux:desc>indicates the access type of the article</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="status">
          <aux:desc>production status</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="pagination">
          <aux:desc>pagination type (default is 'contiguous')</aux:desc>
          <choice>
            <value>contiguous</value>
            <value>unit</value>
            <value>none</value>
          </choice>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.publicationMeta">
    <element name="wng:publicationMeta">
      <aux:desc aux:cat="metadata">A container for metadata about the publication, as distinct from its content.</aux:desc>
      <ref name="wng.publicationMeta.attlist"/>
      <optional>
        <ref name="wng.publisherInfo"/>
      </optional>
      <optional>
        <ref name="wng.doi"/>
      </optional>
      <zeroOrMore>
        <ref name="wng.isbn"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.issn"/>
      </zeroOrMore>
      <optional>
        <ref name="wng.idGroup"/>
      </optional>
      <optional>
        <ref name="wng.countGroup"/>
      </optional>
      <optional>
        <ref name="wng.titleGroup"/>
      </optional>
      <zeroOrMore>
        <ref name="wng.copyright"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.legalStatement"/>
      </zeroOrMore>
      <optional>
        <ref name="wng.eventGroup"/>
      </optional>
      <optional>
        <ref name="wng.numberingGroup"/>
      </optional>
      <optional>
        <ref name="wng.creators"/>
      </optional>
      <optional>
        <ref name="wng.correspondenceTo"/>
      </optional>
      <optional>
        <ref name="wng.affiliationGroup"/>
      </optional>
      <optional>
        <ref name="wng.subjectInfo"/>
      </optional>
      <optional>
        <ref name="wng.coverDate"/>
      </optional>
      <optional>
        <ref name="wng.selfCitationGroup"/>
      </optional>
      <optional>
        <ref name="wng.objectNameGroup"/>
      </optional>
      <optional>
        <ref name="wng.attributeValueGroup"/>
      </optional>
      <optional>
        <ref name="wng.learningObjectiveGroup"/>
      </optional>
      <optional>
        <ref name="wng.linkGroup"/>
      </optional>
    </element>
  </define>
  <!--
    =============================================================================================
    publisherInfo element
    =============================================================================================
  -->
  <define name="wng.publisherInfo.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.publisherInfo">
    <element name="wng:publisherInfo">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for information about the publisher.</aux:desc>
      <ref name="wng.publisherInfo.attlist"/>
      <ref name="wng.publisherName"/>
      <optional>
        <ref name="wng.publisherLoc"/>
      </optional>
    </element>
  </define>
  <!--
    =============================================================================================
    publisherLoc element
    =============================================================================================
  -->
  <define name="wng.publisherLoc.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.publisherLoc">
    <element name="wng:publisherLoc">
      <aux:desc aux:cat="metadata">In metadata or a citation, a publisher's location.</aux:desc>
      <ref name="wng.publisherLoc.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    publisherName element
    =============================================================================================
  -->
  <define name="wng.publisherName.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.publisherName">
    <element name="wng:publisherName">
      <aux:desc aux:cat="metadata">In metadata or a citation, a publisher's name.</aux:desc>
      <ref name="wng.publisherName.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    phone element
    =============================================================================================
  -->
  <define name="wng.phone.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.phone">
    <element name="wng:phone">
      <aux:desc aux:cat="metadata">In metadata, a telephone number for an author, editor, or other creator.</aux:desc>
      <ref name="wng.phone.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    postCode element
    =============================================================================================
  -->
  <define name="wng.postCode.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.postCode">
    <element name="wng:postCode">
      <aux:desc aux:cat="metadata">In metadata, a postal code or ZIP code (part of an <xref xmlns="" linkend="wng_address"/>
+++).</aux:desc>
      <ref name="wng.postCode.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    selfCitationGroup element
    =============================================================================================
  -->
  <define name="wng.selfCitationGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.selfCitationGroup">
    <element name="wng:selfCitationGroup">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for different forms of citation pertaining to the article itself.</aux:desc>
      <ref name="wng.selfCitationGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.citation"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    street element
    =============================================================================================
  -->
  <define name="wng.street.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.street">
    <element name="wng:street">
      <aux:desc aux:cat="metadata">In metadata, a line of an <xref xmlns="" linkend="wng_address"/>
+++.</aux:desc>
      <ref name="wng.street.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    subject element
    =============================================================================================
  -->
  <define name="wng.subject.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <attribute name="href">
        <aux:desc>a URI identifying the subject</aux:desc>
      </attribute>
      <optional>
        <attribute name="appliesToRef">
          <aux:desc>the content to which this subject applies</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:appliesToRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.subject">
    <element name="wng:subject">
      <aux:desc aux:cat="metadata">In metadata, subject information.</aux:desc>
      <ref name="wng.subject.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.model.fragment.para.model"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    subjectInfo element
    =============================================================================================
  -->
  <define name="wng.subjectInfo.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.subjectInfo">
    <element name="wng:subjectInfo">
      <aux:desc aux:cat="metadata">In metadata, a wrapper for subject information.</aux:desc>
      <ref name="wng.subjectInfo.attlist"/>
      <oneOrMore>
        <choice>
          <ref name="wng.subject"/>
          <ref name="wng.subjectInfo"/>
        </choice>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    supportingInformation element
    =============================================================================================
  -->
  <define name="wng.supportingInformation.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.supportingInformation">
    <element name="wng:supportingInformation">
      <aux:desc aux:cat="metadata">Details of supporting information (supplementary material) for an article or chapter.</aux:desc>
      <ref name="wng.supportingInformation.attlist"/>
      <zeroOrMore>
        <ref name="wng.p"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="wng.supportingInfoItem"/>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    supportingInfoItem element
    =============================================================================================
  -->
  <define name="wng.supportingInfoItem.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <attribute name="showsPeerReview">
          <aux:desc>Used for EMBO journals. Presence of this attribute indicates that this supportingInfoItem concerns the peer review process. The value 'yes' indicates that the item shows the reviews (without reviewer names) and the value 'no' means it is a statement that the peer reviews are not public.</aux:desc>
          <ref name="pattern.boolean.tokens"/>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.supportingInfoItem">
    <element name="wng:supportingInfoItem">
      <aux:desc aux:cat="metadata">An item of supporting information (supplementary material).</aux:desc>
      <ref name="wng.supportingInfoItem.attlist"/>
      <ref name="wng.mediaResource"/>
      <ref name="wng.caption"/>
    </element>
  </define>
  <!--
    =============================================================================================
    titleGroup element
    =============================================================================================
  -->
  <define name="wng.titleGroup.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.titleGroup">
    <element name="wng:titleGroup">
      <aux:desc aux:cat="core">A wrapper for different forms of title.</aux:desc>
      <ref name="wng.titleGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.title"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    titlesAfterNames element
    =============================================================================================
  -->
  <define name="wng.titlesAfterNames.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.titlesAfterNames">
    <element name="wng:titlesAfterNames">
      <aux:desc aux:cat="metadata">In metadata, part of a person's structured name.</aux:desc>
      <ref name="wng.titlesAfterNames.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    unparsedAffiliation 
    =============================================================================================  
  -->
  <define name="wng.unparsedAffiliation.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.unparsedAffiliation">
    <element>
      <name>wng:unparsedAffiliation</name>
      <aux:desc aux:cat="metadata">In metadata, a creator's unstructured affiliation. DEPRECATED: ONLY FOR USE IN LEGACY CONTENT.</aux:desc>
      <ref name="wng.unparsedAffiliation.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.model.fragment.common.inlines"/>
          <ref name="wng.orgName"/>
          <ref name="wng.orgDiv"/>
          <ref name="wng.street"/>
          <ref name="wng.city"/>
          <ref name="wng.countryPart"/>
          <ref name="wng.country"/>
          <ref name="wng.postCode"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    unparsedEditorialHistory 
    =============================================================================================  
  -->
  <define name="wng.unparsedEditorialHistory.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.unparsedEditorialHistory">
    <element name="wng:unparsedEditorialHistory">
      <aux:desc aux:cat="metadata">In metadata, unstructured editorial information. DEPRECATED: ONLY FOR USE IN LEGACY CONTENT.</aux:desc>
      <ref name="wng.unparsedEditorialHistory.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    unparsedName 
    =============================================================================================  
  -->
  <define name="wng.unparsedName.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="inverted"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.unparsedName">
    <element>
      <name>wng:unparsedName</name>
      <aux:desc aux:cat="metadata">In metadata, an unstructured name. DEPRECATED: ONLY FOR USE IN LEGACY CONTENT.</aux:desc>
      <ref name="wng.unparsedName.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.minimal.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    useSectionTitles element
    =============================================================================================
  -->
  <define name="wng.useSectionTitles.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <attribute name="level">
          <aux:desc>the number of levels of section headings to use (default is 1)</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.useSectionTitles">
    <element name="wng:useSectionTitles">
      <aux:desc aux:cat="metadata">In <xref xmlns="" linkend="wng_abstract"/>
+++s, this expands to a listing of section titles, down to a given level.</aux:desc>
      <ref name="wng.useSectionTitles.attlist"/>
      <empty/>
    </element>
  </define>
</grammar>