<!--  edited with XMLSpy v2006 sp1 U (http://www.altova.com) by Chuck Koscher (CrossRef)  --><!-- 
     CrossRef query output XSD.
     Developed for CrossRef (www.crossref.org) by:

     Atypon Systems
     Santa Clara, CA
     http://www.atypon.com
     info@atypon.com
 --><!--  =============================================================

                          Change History

    Changes record version, author initials, date, and comments
3.2 (PDF) 3/31/2021 remove regex for email_address per https://gitlab.com/crossref/user_stories/-/issues/476
3.1 (PDF) 3/31/21 updated regex for ISBN to allow 979  
3.0 (PDF) 8/28/14 added member-id to name attribute for crm-item
3.0 (PDF) 1/10/14 added values to status: none, stored-query-created, system-too-busy, system-unavailable, system-error
3.0 (PDF) 10/7/13 changed query key minimum value to '0', added values to crm-item (prefix-name, publisher-name)
3.0 (PDF) 8/28/12 Added item_number (to include article numbers in cited-by output)

	2.0.8 (CSK) 1/8/08  Added publication type to element DOI for return in forward links

  2.0.8 (CSK) 12/21/07  Added forward link count attributes

   2.0.8 (Atypon) 9/2007  Added support for ECT forward links

   2.0.8 (CK) 4/6/06   added report_number and ISO-std-ref to th <identifier> element
                                 added <contributors> as a choice to <author> to support the return
                                 of all authors.

   2.0.7 (CK) 3/17/06   Added 'type' attribute to ISBN element

   2.0.6 (CK) 1/25/06

        Added a type attribute to element <doi> to allow a more granular specification of what kind of item
        the DOI represents.

   2.0.5 (HS) 11/10/05

        ECT support - added institution_name

   2.0.4 (HS) 11/10/05

        Skipped version to sync w/ crossref_query_input2.0.xsd

   2.0.3 (HS) 4/8/05

         Added article_title to the query element
         Added component_list to query element

    2.0.2 (CK) 3/28/05

         Change max length of q_type to unbounded to match the size allowed for
         article titles in the deposit schema

    2.0.1 (CK) 3/3/05

         Modified ISSN to max count=2 and added type attribute

    2.0 (CSK) 1/12/04

         Modified to support the return of forward linking data in response to a
         forward linking query where the use supplies a DOI seeking the articles
         that site that DOI's article (without 'key' attribute).


        =============================================================  --><!-- 
     =============================================================
     This file contains the XML schema definition (XSD) for the XML output generated by
     CrossRef's query engine.

     Each field in the output XML result is associated with an attribute which specifies how
     the field was matched:
      - optional : means the field was not used in query resolution.
      - fuzzy    : means the field was fuzzy matched.
      - exact    : means the field was exactly matched (null value matches fall under exact)

     Please look at crossref_query_input.xsd for the XML schema definition of query XML input.
     =============================================================
 -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.crossref.org/qrschema/3.0" xmlns:fr="http://www.crossref.org/fundref.xsd" xmlns:ai="http://www.crossref.org/AccessIndicators.xsd" xmlns:jats="http://www.ncbi.nlm.nih.gov/JATS1" targetNamespace="http://www.crossref.org/qrschema/3.0"><!--     ================== Common attribute    and    elements ============  -->
  <xsd:simpleType name="qfield_t">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="xrefYear">
    <xsd:restriction base="xsd:positiveInteger">
      <xsd:maxInclusive value="2200"/>
      <xsd:minInclusive value="1400"/>
      <xsd:totalDigits value="4"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="pubType">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="abstract_only"/>
      <xsd:enumeration value="full_text"/>
      <xsd:enumeration value="bibliographic_record"/>
    </xsd:restriction>
  </xsd:simpleType><!--     ============= End of common    attribute and elements ============     --><!-- 
   ================================================================
   XSD schema for CrossRef XML based queries.
   Developed for CrossRef by Atypon    Systems    (http://www.atypon.com)
   ================================================================
    --><!-- 
   Values that might appear in the match attribute of a query field:

     optional: The field is allowed to be dropped from the query to try and match it.
     fuzzy:    The field will be fuzzy matched.
    -->
  <xsd:element name="crossref_result">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="query_result" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
      <xsd:attribute name="version" type="xsd:string" fixed="3.0"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="query_result">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="head"/>
        <xsd:element ref="body"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="head">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="email_address" minOccurs="0"/>
        <xsd:element ref="doi_batch_id"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element><!--  =========================================================================================  --><!--  The body element provides for the return:
         normal DOI or meta-data queries data is returned in the 'query' elements
         forward linking  data is returned in the 'forward_link' elements

         -->
  <xsd:element name="body">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="query" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="forward_link" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="crossref_metadata" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element><!--  ===============================================  --><!--  The CrossRef system generates matadata about its DOIs, as such it is not the same as the publisher's
            metadata which is about the item pointed to by the DOI
         -->
  <xsd:element name="crossref_metadata">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="doi"/>
        <xsd:element ref="crm-item" minOccurs="1" maxOccurs="unbounded"/>
        <xsd:element ref="doi_record" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="doi_record">
    <xsd:complexType>
      <xsd:sequence minOccurs="1" maxOccurs="1">
        <xsd:any namespace="http://www.crossref.org/xschema/1.1 http://www.crossref.org/xschema/1.0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="crm-item">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="name" use="required">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="citation-id"/>
                <xsd:enumeration value="journal-title"/>
                <xsd:enumeration value="journal-id"/>
                <xsd:enumeration value="book-id"/>
                <xsd:enumeration value="series-id"/>
                <xsd:enumeration value="deposit-timestamp"/>
                <xsd:enumeration value="owner-prefix"/>
                <xsd:enumeration value="prime-doi"/>
                <xsd:enumeration value="owner"/>
                <xsd:enumeration value="last-update"/>
                <xsd:enumeration value="citedby-count"/>
                <xsd:enumeration value="publisher-name"/>
                <xsd:enumeration value="prefix-name"/>
                <xsd:enumeration value="member-id"/>
                <xsd:enumeration value="created"/>
                <xsd:enumeration value="relation"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
          <xsd:attribute name="type" use="required">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="element"/>
                <xsd:enumeration value="string"/>
                <xsd:enumeration value="number"/>
                <xsd:enumeration value="date"/>
                <xsd:enumeration value="doi"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
          <xsd:attribute name="claim" use="optional">
            <xsd:simpleType>
              <xsd:restriction base="xsd:string">
                <xsd:maxLength value="128"/>
                <xsd:minLength value="0"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!--  ====================================================================================  --><!--  The foward_link element will contain the list of items that cite a given article.
     Users supply the DOI of the target article (article being cited) and this DOI is
     returned in the first child element with <forward_link>. Following the DOI will be
     listed the journal articles, conference proceedings and books which cite the target DOI.
     Sufficient information is supplied for each citing item to allow the construction of
     a valid bibleographic reference. Note: since the DOI is unique it also serves as the 'key'
     for the query results (e.g. users can match requested forward citations based on the target's DOI)

     The element msg will a message to the user (such as an alert message or an error msg)
 -->
  <xsd:element name="forward_link">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="journal_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="conf_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="book_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="dissertation_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="report_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="standard_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="database_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="postedcontent_cite" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="msg" minOccurs="0"/>
      </xsd:sequence>
      <xsd:attribute name="doi" type="xsd:string" use="required"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="journal_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="issn" minOccurs="0" maxOccurs="2"/>
        <xsd:element ref="journal_title" minOccurs="0"/>
        <xsd:element ref="journal_abbreviation" minOccurs="0"/>
        <xsd:element ref="article_title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="volume" minOccurs="0"/>
        <xsd:element ref="issue" minOccurs="0"/>
        <xsd:element ref="first_page" minOccurs="0"/>
        <xsd:element ref="item_number" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="publication_type"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="conf_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="issn" minOccurs="0"/>
        <xsd:element ref="isbn" minOccurs="0"/>
        <xsd:element ref="series_title" minOccurs="0"/>
        <xsd:element ref="volume_title" minOccurs="0"/>
        <xsd:element ref="paper_title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="volume" minOccurs="0"/>
        <xsd:element ref="issue" minOccurs="0"/>
        <xsd:element ref="first_page" minOccurs="0"/>
        <xsd:element ref="item_number" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="publication_type"/>
        <xsd:element ref="edition_number" minOccurs="0"/>
        <xsd:element ref="component_number" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="book_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="issn" minOccurs="0"/>
        <xsd:element ref="isbn" minOccurs="0"/>
        <xsd:element ref="series_title" minOccurs="0"/>
        <xsd:element ref="volume_title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="volume" minOccurs="0"/>
        <xsd:element ref="issue" minOccurs="0"/>
        <xsd:element ref="first_page" minOccurs="0"/>
        <xsd:element ref="item_number" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="publication_type"/>
        <xsd:element ref="edition_number" minOccurs="0"/>
        <xsd:element ref="component_number" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="dissertation_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="isbn" minOccurs="0"/>
        <xsd:element ref="title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="institution_name" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="report_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="issn" minOccurs="0"/>
        <xsd:element ref="isbn" minOccurs="0"/>
        <xsd:element ref="series_title" minOccurs="0"/>
        <xsd:element ref="volume_title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="institution_name" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="edition_number" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="standard_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="issn" minOccurs="0"/>
        <xsd:element ref="isbn" minOccurs="0"/>
        <xsd:element ref="series_title" minOccurs="0"/>
        <xsd:element ref="volume_title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="institution_name" minOccurs="0"/>
        <xsd:element ref="volume" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="edition_number" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="database_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="institution_name" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="postedcontent_cite">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="year" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="fl_count">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="article_title">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="paper_title">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="title">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="contributors">
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="organization" maxOccurs="unbounded"/>
        <xsd:element ref="contributor" maxOccurs="unbounded"/>
      </xsd:choice>
      <xsd:attribute name="et-al" default="false">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="true"/>
            <xsd:enumeration value="false"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="contributor">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="given_name" minOccurs="0"/>
        <xsd:element ref="surname"/>
        <xsd:element ref="suffix" minOccurs="0"/>
        <xsd:element ref="ORCID" minOccurs="0"/>
      </xsd:sequence>
      <xsd:attribute name="first-author" use="optional">
        <xsd:simpleType>
          <xsd:restriction base="xsd:boolean"/>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attributeGroup ref="contributor.atts"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:attributeGroup name="contributor.atts">
    <xsd:attribute name="sequence" use="optional">
      <xsd:simpleType>
        <xsd:restriction base="xsd:NMTOKEN">
          <xsd:enumeration value="first"/>
          <xsd:enumeration value="additional"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute name="contributor_role" use="optional">
      <xsd:simpleType>
        <xsd:restriction base="xsd:NMTOKEN">
          <xsd:enumeration value="author"/>
          <xsd:enumeration value="editor"/>
          <xsd:enumeration value="chair"/>
          <xsd:enumeration value="translator"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
  </xsd:attributeGroup><!-- 
    The suffix of an author name, e.g. junior or senior.
  -->
  <xsd:element name="suffix">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:maxLength value="10"/>
        <xsd:minLength value="1"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>
  <xsd:simpleType name="organization_t">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="511"/>
      <xsd:minLength value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:element name="organization">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="organization_t">
          <xsd:attributeGroup ref="contributor.atts"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="given_name">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="surname">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ORCID">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:maxLength value="37"/>
        <xsd:minLength value="33"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element><!--  ============================================================================================  --><!--  The query element is used to return the results for meta data (meta-data in / DOI return) or
        DOI (DOI in / meta-data return) queries.                                                      --><!-- 
      The presense of any of the following elements    makes this a book/conf.    query:
      1. isbn
      2. series_title
      3. volume_title
      4. edition_number
      5. component_number
    -->
  <xsd:element name="query">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="doi" minOccurs="1" maxOccurs="1"/><!--  msg holds verious information about the query (such as error msg if it malformed)  -->
        <xsd:element ref="msg" minOccurs="0" maxOccurs="1"/>
        <xsd:choice>
          <xsd:sequence>
            <xsd:element ref="issn" minOccurs="0" maxOccurs="2"/>
            <xsd:element ref="isbn" minOccurs="0" maxOccurs="6"/><!--  book/conf. elements  -->
            <xsd:element ref="series_title" minOccurs="0"/><!--  book/conf. elements  -->
            <xsd:element ref="journal_title" minOccurs="0"/>
            <xsd:element ref="volume_title" minOccurs="0"/><!--  book/conf. elements  -->
            <xsd:choice>
              <xsd:element ref="author" minOccurs="0"/>
              <xsd:element ref="contributors" minOccurs="0"/><!--  supply all contibutors when expanded-results=true  -->
            </xsd:choice>
            <xsd:element ref="volume" minOccurs="0"/>
            <xsd:element ref="issue" minOccurs="0"/>
            <xsd:element ref="first_page" minOccurs="0"/>
            <xsd:element ref="item_number" minOccurs="0"/>
            <xsd:element ref="last_page" minOccurs="0"/>
            <xsd:element ref="edition_number" minOccurs="0"/><!--  book/conf. elements  -->
            <xsd:element ref="component_number" minOccurs="0"/><!--  book/conf. elements  -->
            <xsd:element ref="year" minOccurs="0" maxOccurs="6"/>
            <xsd:element ref="publication_type" minOccurs="0"/>
            <xsd:element ref="article_title" minOccurs="0"/><!--  ECT  -->
            <xsd:element ref="institution_name" minOccurs="0"/>
            <xsd:element ref="identifier" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="component_list" minOccurs="0"/>
          </xsd:sequence>
          <xsd:sequence>
            <xsd:element ref="crm-item" minOccurs="1" maxOccurs="unbounded"/>
            <xsd:element ref="doi_record" minOccurs="0" maxOccurs="1"/>
          </xsd:sequence>
        </xsd:choice>
      </xsd:sequence>
      <xsd:attribute name="key" use="optional">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:maxLength value="128"/>
            <xsd:minLength value="0"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="enable-multiple-hits" default="false">
        <xsd:simpleType>
          <xsd:restriction base="xsd:boolean"/>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="forward-match" default="false">
        <xsd:simpleType>
          <xsd:restriction base="xsd:boolean"/>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="status">
        <xsd:simpleType>
          <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="resolved"/>
            <xsd:enumeration value="unresolved"/>
            <xsd:enumeration value="multiresolved"/>
            <xsd:enumeration value="malformed"/>
            <xsd:enumeration value="none"/>
            <xsd:enumeration value="stored-query-created"/>
            <xsd:enumeration value="system-too-busy"/>
            <xsd:enumeration value="system-unavailable"/>
            <xsd:enumeration value="system-error"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="fl_count" use="optional">
        <xsd:simpleType>
          <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
      </xsd:attribute><!--  Number of times this DOI is cited within CrossRef by another DOI  --><!-- 
            The    combination    of (SubmitterID,doi_batch_id,key) must be unique
            if the attribute 'forward-match' is set to true
          -->
      <xsd:attribute name="query_mode" use="optional">
        <xsd:simpleType>
          <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="metadata"/>
            <xsd:enumeration value="author-title"/>
            <xsd:enumeration value="formatted-citation"/>
            <xsd:enumeration value="refxpress"/>
            <xsd:enumeration value="doi"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element><!-- 
     contains the original doi_batch_id supplied by the publisher.
    -->
  <xsd:element name="doi_batch_id">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:maxLength value="100"/>
        <xsd:minLength value="4"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element><!--     The    email address results are sent to  -->
  <xsd:element name="email_address">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:maxLength value="200"/>
        <xsd:minLength value="6"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element><!-- 
      Match attributes:
      ISSNs are never fuzzy matched. However, they might be dropped from the query.
    -->
  <xsd:simpleType name="issn_t">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="9"/>
      <xsd:minLength value="8"/>
      <xsd:pattern value="\d{4}-?\d{3}[\dX]"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:element name="issn">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="issn_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
          <xsd:attribute name="type">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="print"/>
                <xsd:enumeration value="electronic"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
    Match Attributes:
    ISBNs are never fuzzy matched. However, they might be dropped from the query
    -->
  <xsd:simpleType name="isbn_t">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="17"/>
      <xsd:minLength value="10"/>
      <xsd:pattern value="(97(8|9)-)?\d[\d \-]+[\dX]"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:element name="isbn">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="isbn_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
          <xsd:attribute name="type" use="required">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="print"/>
                <xsd:enumeration value="electronic"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   Journal title might be fuzzy matched and might be dropped from the query.
    -->
  <xsd:element name="journal_title">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!--  Element journal_abbreviation added to support forward linking query results   -->
  <xsd:element name="journal_abbreviation">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   Series titles might be fuzzy matched and might be dropped from the query.
    -->
  <xsd:element name="series_title">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   Volume titles might be fuzzy matched and might be dropped from the query
    -->
  <xsd:element name="volume_title">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   Authors might be fuzzy matched and might be dropped from the query.
    -->
  <xsd:element name="author">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   Volumes might be fuzzy matched and might be dropped from the query
    -->
  <xsd:element name="volume">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   issue might be fuzzy matched.
    -->
  <xsd:element name="issue">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes:
   Pages are not fuzzy matched but they might be dropped from the query.
    -->
  <xsd:element name="first_page">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
                <xsd:enumeration value="fuzzy"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="last_page">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
                <xsd:enumeration value="fuzzy"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:simpleType name="item_number_t">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="32"/>
      <xsd:minLength value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:element name="item_number">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="item_number_t">
          <xsd:attribute name="item_number_type" type="xsd:string" use="optional"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
		Match Attributes:
		year is not fuzzy matched but might be dropped from the query
	 -->
  <xsd:element name="year">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xrefYear">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
                <xsd:enumeration value="fuzzy"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
          <xsd:attribute name="media_type" default="print">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="print"/>
                <xsd:enumeration value="electronic"/>
                <xsd:enumeration value="online"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes
   Edition number can be dropped from the query.
    -->
  <xsd:element name="edition_number">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match" default="optional">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
                <xsd:enumeration value="fuzzy"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
   Match Attributes
   component numbers can be    dropped from the query.
    -->
  <xsd:element name="component_number">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match" default="optional">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="exact"/>
                <xsd:enumeration value="fuzzy"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element><!-- 
     Match Attributes:
     Institution names might be fuzzy matched and might be dropped from the query
      -->
  <xsd:element name="institution_name">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t">
          <xsd:attribute name="match">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="optional"/>
                <xsd:enumeration value="fuzzy"/>
                <xsd:enumeration value="exact"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="identifier">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="id_type" use="required">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="dai"/>
                <xsd:enumeration value="Z39.23"/>
                <xsd:enumeration value="contract_number"/>
                <xsd:enumeration value="report_number"/>
                <xsd:enumeration value="ISO-std-ref"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="publication_type">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="pubType"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="doi">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="type" use="optional">
            <xsd:simpleType>
              <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="journal_title"/>
                <xsd:enumeration value="journal_issue"/>
                <xsd:enumeration value="journal_volume"/>
                <xsd:enumeration value="journal_article"/>
                <xsd:enumeration value="conference_title"/>
                <xsd:enumeration value="conference_series"/>
                <xsd:enumeration value="conference_paper"/>
                <xsd:enumeration value="book_title"/>
                <xsd:enumeration value="book_series"/>
                <xsd:enumeration value="book_content"/>
                <xsd:enumeration value="component"/>
                <xsd:enumeration value="dissertation"/>
                <xsd:enumeration value="report-paper_title"/>
                <xsd:enumeration value="report-paper_series"/>
                <xsd:enumeration value="report-paper_content"/>
                <xsd:enumeration value="standard_title"/>
                <xsd:enumeration value="standard_series"/>
                <xsd:enumeration value="standard_content"/>
                <xsd:enumeration value="prepublication"/><!-- 
                                <xsd:enumeration value="database_title"/>
                                <xsd:enumeration value="content_item"/>
                                <xsd:enumeration value="dataset"/>
                                 -->
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="msg">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:maxLength value="5012"/>
        <xsd:minLength value="10"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>
  <xsd:element name="component_list">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="component" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element><!--  component:  The element for a component's metadata. All descriptive elements are
                    optional allowing for the creation of simple anonymous DOIs.
                    The 'parent_relation' attribute is mandatory and referes to the DOI
                    described in the <component> element's direct parent.
     -->
  <xsd:element name="description">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="format">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="qfield_t"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="component">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="title" minOccurs="0"/>
        <xsd:element ref="contributors" minOccurs="0"/>
        <xsd:element ref="description" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="format" minOccurs="0"/>
        <xsd:element ref="doi"/>
      </xsd:sequence>
      <xsd:attribute name="parent_relation" use="required">
        <xsd:simpleType>
          <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="isPartOf"/>
            <xsd:enumeration value="isReferencedBy"/>
            <xsd:enumeration value="isRequiredBy"/>
            <xsd:enumeration value="isTranslationOf"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name="component_size">
        <xsd:simpleType>
          <xsd:restriction base="xsd:nonNegativeInteger"/>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>