<?xml version=“1.0” encoding=“UTF-8”?> <!– edited with XMLSpy v2006 sp1 U (www.altova.com) by Chuck Koscher (CrossRef) –> <!–

CrossRef query input 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

     (PDF) 3/31/2021 remove regex for email
 (PDF) 3/26/2014 added type attribute to standard_designator
 (PDF) 1/8/2014 added standard_designator, standards_body_name, and substitutionGroup 'name_choice' (to force choice btwn standards_body_name and institution_name)
 (PDF) 4/24/2013 added ORCID
 (CK) 5/8/2008  changed ISBN type to be 17 digits max to allow for 13 digit ISBNS with dashes

 2.0.9 (CK) 7/14/06  changed multi-hit attribute from boolean to enumerqated type to 
                     include one_hit_per_rule and multi_hit_per_rule

 2.0.8 (CK) 4/6/06   added report-number and ISO-std-ref to th <identifier> element

 2.0.7 (HS) 1/30/2005
 Added ECT support - institution_name and identifier elements

2.0.6  (CSK) 1/16/2006   Added search-all-authors attribute on the author
          element in a query

 2.0.5  (CSK) 10/20/2005   Changed base type of element <DOI> from
         xsd:anyURI to xsd:string (this was causing a problem processing
         Wiley SICI DOIs that have '<' and '>' in them)

 2.0.4 (HS) 4/8/2005
 Added article_title element to query

 2.0.3.  (HS) 4/8/2005
 Added two new attributes: list-components and expanded-results

 2.0.2   (HS) 9/27/2004
 Introduced proceedings_title element which acts the same as volume_title.

 2.0.1   (HS) 4/2/2004
 Modified year under <query> to be of of qfield_t type instead of xrefyear.
 This is to allow non-numeric years in queries (e.g. 1998a , 1999-2000)

 2.0   (CSK)  1/12/2004

 Added elements to support forward linking query requests. In forward linking queries users
 supply a list of DOIs for which they require a list of citing articles.

 1.0.1 (CSK) 1/5/04

 Changed the free text portion of the <query> element to use element
 <unstructured_citation> which was copied from common1.0.xsd. This now
 makes the query element identical to the <citation> element in the deposit
 and reference-only deposit schemas.

  ============================================================= -->

<!–

=============================================================
This file contains the XML schema definition (XSD) for CrossRef's XML query interface.
The XML query interface allowes greater control over CrossRef's query engine than
piped queries. Each element in the query data has a match attribute which can
be a combination of the following:
 - optional : Instructs the query engine that the query field may be dropped from the query.
 - fuzzy    : Instructs the query engine that the query field may be fuzzy matched.
 - null     : Instructs the query engine to match the query field with a NULL value. Note that
              this is very different from a wildcard search. It is useful when querying two
              articles with exactly the same metadata except one (author for example)
              that is NULL in the CrossRef database. If you want to query that DOI only
              then use null;
 - exact    : Instructs the query engine to perform an exact match on the query field, Note
              that in the case where the match attribute is defined as a list of
              NMTOKENs this is identical to match="" (i.e. not optional and not fuzzy).
              In This case the combination of exact with fuzzy or optional is illegal and
              will render the query as malformed.

Please look at crossref_query_output.xsd for the XML schema definition of query XML output.
=============================================================

–> <xsd:schema xmlns:xsd=“www.w3.org/2001/XMLSchema” xmlns=“www.crossref.org/qschema/2.0

    targetNamespace="http://www.crossref.org/qschema/2.0">
    <!--    ================== Common attribute    and    elements ============ -->
    <xsd:simpleType name="qfield_t">
            <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="256"/>
                    <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="query_batch">
            <xsd:complexType>
                    <xsd:sequence>
                            <xsd:element ref="head"/>
                            <xsd:element ref="body"/>
                    </xsd:sequence>
                    <xsd:attribute name="version" type="xsd:string" fixed="2.0"/>
            </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>
    <xsd:element name="body">
            <xsd:complexType>
                    <xsd:choice>
                            <xsd:element ref="query" minOccurs="0" maxOccurs="unbounded"/>
                            <xsd:element ref="fl_query" minOccurs="0" maxOccurs="unbounded"/>
                    </xsd:choice>
            </xsd:complexType>
    </xsd:element>
    <!-- =========================================================================== -->
    <!-- The fl_query element allows for the specification of one or more target DOIs for which
     the user desires the list of items that cite that target item. The attributes associated
     with a group of requested DOIs are as follows:

       alert: the user wishes to recieve automated updates of forward linking information for
              these target DOIs as that data is updated within CrossRef. These alert be emailed
              to the user at the addess specified above.
  start_date: users may request forward links that have been added to CrossRef during specific
              time intervals. this attribute identifies the beginning of the interval. All forward
              links added to CrossRef on or after this date will be returned.
  end_date  : specifies the end of the desired time interval. if start_date is present and end_date is
              absent the end of the interval is understood to be the current date.

              The dates is specified in the following form "CCYY-MM-DD" where:

                 CC indicates the century
                 YY indicates the year
                 MM indicates the month
                 DD indicates the day
                 Note: All components are required! e.g. '01' for January, not '1'

-->
    <xsd:element name="fl_query">
            <xsd:complexType>
                    <xsd:sequence>
                            <xsd:element ref="doi"/>
                    </xsd:sequence>
                    <xsd:attribute name="alert" default="false">
                            <xsd:simpleType>
                                    <xsd:restriction base="xsd:boolean"/>
                            </xsd:simpleType>
                    </xsd:attribute>
                    <xsd:attribute name="start_date">
                            <xsd:simpleType>
                                    <xsd:restriction base="xsd:date"/>
                            </xsd:simpleType>
                    </xsd:attribute>
                    <xsd:attribute name="end_date">
                            <xsd:simpleType>
                                    <xsd:restriction base="xsd:date"/>
                            </xsd:simpleType>
                    </xsd:attribute>
        <xsd:attribute name="include_postedcontent" default="false">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:boolean"/>
                        </xsd:simpleType>
        </xsd:attribute>
            </xsd:complexType>
    </xsd:element>
    <!--
   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:all>
                            <xsd:element ref="issn" minOccurs="0"/>
                            <xsd:element ref="journal_title" minOccurs="0"/>
                            <xsd:element ref="author" minOccurs="0"/>
                            <xsd:element ref="ORCID" minOccurs="0"/>
                            <xsd:element ref="volume" minOccurs="0"/>
                            <xsd:element ref="issue" minOccurs="0"/>
                            <xsd:element ref="first_page" minOccurs="0"/>
                            <xsd:element ref="year" minOccurs="0"/>
                            <xsd:element ref="publication_type" minOccurs="0"/>
                            <xsd:element ref="doi" minOccurs="0"/>
                            <!-- book/conf.    specific elements -->
                            <xsd:element ref="isbn" minOccurs="0"/>
                            <xsd:element ref="series_title" minOccurs="0"/>
                            <xsd:element ref="volume_title" minOccurs="0"/>
                            <!-- proceedings_title is the same as volume_Title -->
                            <xsd:element ref="proceedings_title" minOccurs="0"/>
                            <xsd:element ref="edition_number" minOccurs="0"/>
                            <xsd:element ref="component_number" minOccurs="0"/>
                            <!-- The presence of institution_name or identifier activates ECT queries automatically -->
                            <xsd:element ref="name_choice" minOccurs="0"/>
                            <xsd:element ref="identifier" minOccurs="0"/>
                            <xsd:element ref="article_title" minOccurs="0"/>
                            <!-- Citation text as it appears in    the    article    , future placeholder -->
                            <xsd:element ref="unstructured_citation" minOccurs="0"/>
                            <xsd:element ref="standard_designator" minOccurs="0"/>
                    </xsd:all>
                    <xsd:attribute name="key" use="optional">
                            <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="128"/>
                                            <xsd:minLength value="1"/>
                                    </xsd:restriction>
                            </xsd:simpleType>
                    </xsd:attribute>
                    <xsd:attribute name="enable-multiple-hits" default="false">
                            <xsd:simpleType>
                                    <xsd:list>
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <xsd:enumeration value="true"/>
                                                            <xsd:enumeration value="false"/>
                                                            <xsd:enumeration value="one_hit_per_rule"/>
                                                            <xsd:enumeration value="multi_hit_per_rule"/>
                                                            <xsd:enumeration value="exact"/>
                                                            <!-- backward compatibility -->
                                                            <!-- CrossRef's QueryEngine (QE) has a set of rules. QE evaluates
                                 each rule in a serial manner. If a rule has more than one
                                 hit it is skipped. The system returns the DOI from the first
                                 rule that has a single DOI hit. enable-multi-hits="true" simply
                                 does not stop with the first single hit DOI, it moves on to the
                                 next rule. However, hits within the same rule are not returned.

                                 enable-multiple-hits="one_hit_per_rule" is the same as enable-multiple-hits=true
                                 enable-multiple-hits="multi_hit_per_rule" will add multiple hits from the SAME rule
                                 to the result.
                                 -->
                                                            <!-- Giving enable-mutltiple-hits="exact" causes the query engine to run
                                 a vanilla exact matching query. Any matching hints given on the individual
                                 elements of the query itself (e.g. match="fuzzy") are ignored. The result
                                 is capped at a maximum (default=40)-->
                                                    </xsd:restriction>
                                            </xsd:simpleType>
                                    </xsd:list>
                            </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="list-components" use="optional" default="false">
                            <xsd:simpleType>
                                    <xsd:restriction base="xsd:boolean"/>
                            </xsd:simpleType>
                    </xsd:attribute>
                    <xsd:attribute name="expanded-results" use="optional" default="false">
                            <xsd:simpleType>
                                    <xsd:restriction base="xsd:boolean"/>
                            </xsd:simpleType>
                    </xsd:attribute>
                    <xsd:attribute name="secondary-query" default="none">
                            <xsd:simpleType>
                                    <xsd:list>
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <xsd:enumeration value="none"/>
                                                            <xsd:enumeration value="author-title"/>
                                                            <xsd:enumeration value="multiple-hits"/>
                                                            <xsd:enumeration value="author-title-multiple-hits"/>

                                                            <!-- Query type is determined by what metadata is present in the request. Requests with
                               only author and article title are treated as author/title searches. When other fields are 
                               present the query is treated as a  metadata search. This flag allows a caller to request 
                               that a metadata query that fails to produce a hit subsequently be treated as an author/article-title
                               search as well -->
                                                    </xsd:restriction>
                                            </xsd:simpleType>
                                    </xsd:list>
                            </xsd:simpleType>
                    </xsd:attribute>
                    <!--
           The    combination    of (SubmitterID,doi_batch_id,key) must be unique
           if the attribute 'forward-match' is set to true
        -->
            </xsd:complexType>
    </xsd:element>
    <!--
   Publisher    generated item that    identifies the DOI submission batch.
 this, coupled with the submitter id    in CrossRef. will be used as the
 submission reference and be    used for various functions such    as error reporting,
 forward    matching and in    the    API    for    submission results download.
-->
    <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 to send the results 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>
    <!--
   The ISSN must    consist    of eight digits    (where the last    digit may be an    X),    or
 it must    consist    of eight digits    in two groups of four with a hyphen    between
 the    two    groups.

 Match Attributes:

 ISSNs can only be optional.    There is no    fuzzy matching on ISSNs    nor    is there
 NULL matching since    no NULL    ISSNs exist    in the database.
-->
    <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" default="optional">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <xsd:enumeration value="optional"/>
                                                            <xsd:enumeration value="exact"/>
                                                    </xsd:restriction>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
 The    ISBN must be 10    digits (the    last digit may be 'X'),    or it must be four
 groups of digits, separated    by a hyphens or    spaces.    Although not required,
 the    ISBN number    should retain spaces or    hyphens    that appear    in the formatted
 number because they    aid    in human-readability.

 Match Attributes:
 same as    ISSN
-->
    <xsd:simpleType name="isbn_t">
            <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="17"/>
                    <xsd:minLength value="10"/>
                    <xsd:pattern value="\d[\d -]+[\dX]"/>
            </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="isbn">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="isbn_t">
                                    <xsd:attribute name="match" default="optional">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <xsd:enumeration value="optional"/>
                                                            <xsd:enumeration value="exact"/>
                                                    </xsd:restriction>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
Journal title can be    fuzzy matched and can be optional in the query.    It make    no sense
to query    a null value of    the    journal    title since    there are no null titles in    the    database.
-->
    <xsd:element name="journal_title">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
Series title    can    be fuzzy matched and can be    optional in    the    query. Series titles null value query are permissable
-->
    <xsd:element name="series_title">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="null"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
volume title    can    be fuzzy matched and can be    optional in    the    query. volume title null value query is permissable
-->
    <xsd:element name="volume_title">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!-- same as volume_title -->
    <xsd:element name="proceedings_title">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
Authors can be fuzzy    matched    and    can    be optional    in the query. It also can be
null    so a match="null" is permissable
-->
    <xsd:element name="author">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional    fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="null"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                                    <xsd:attribute name="search-all-authors" use="optional" default="false">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:boolean"/>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>

    <xsd:element name="ORCID"/>
    <!--
Match Attributes:
volume can be fuzzy matched and can be optional in the query
-->
    <xsd:element name="volume">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional    fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
issue can be    fuzzy matched, Optional if volume is optinal
-->
    <xsd:element name="issue">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="exact"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
page    is not fuzzy matched but can be    optional in    the    query. It also can be
null    so a match="null" is permissable
-->
    <xsd:element name="first_page">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="null"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes:
year    is not fuzzy matched and can't be null.    However, it can be optional in the query.
-->
    <xsd:element name="year">
            <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:restriction>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes
Edition numbers are fuzzy matched.
-->
    <xsd:element name="edition_number">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <xsd:enumeration value="fuzzy"/>
                                                            <xsd:enumeration value="exact"/>
                                                    </xsd:restriction>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--
Match Attributes
component numbers can be fuzzy matched.
-->
    <xsd:element name="component_number">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <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="institution_name" substitutionGroup="name_choice">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <xsd:element name="identifier">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="exact optional">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                                    <xsd:attribute name="id_type" use="required">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <xsd:enumeration value="pii"/>
                                                            <xsd:enumeration value="sici"/>
                                                            <xsd:enumeration value="doi"/>
                                                            <xsd:enumeration value="dai"/>
                                                            <xsd:enumeration value="Z39.23"/>
                                                            <xsd:enumeration value="ISO-std-ref"/>
                                                            <xsd:enumeration value="report-number"/>
                                                            <xsd:enumeration value="other"/>
                                                    </xsd:restriction>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <xsd:element name="article_title">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                            <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="publication_type">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="pubType"/>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <xsd:element name="doi">
            <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="2048"/>
                            <xsd:minLength value="6"/>
                    </xsd:restriction>
            </xsd:simpleType>
    </xsd:element>

    <!--elements used for standards as of deposit schema v. 4.3.3-->
    <xsd:element name="standards_body_name" substitutionGroup="name_choice">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="match" default="optional fuzzy">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="optional"/>
                                                                            <xsd:enumeration value="fuzzy"/>
                                                                            <xsd:enumeration value="exact"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <xsd:element name="standard_designator">
            <xsd:complexType>
                    <xsd:simpleContent>
                            <xsd:extension base="qfield_t">
                                    <xsd:attribute name="type" default="as_published">
                                            <xsd:simpleType>
                                                    <xsd:list>
                                                            <xsd:simpleType>
                                                                    <xsd:restriction base="xsd:NMTOKEN">
                                                                            <xsd:enumeration value="as_published"/>
                                                                            <xsd:enumeration value="supersedes"/>
                                                                            <xsd:enumeration value="adopted_from"/>
                                                                            <xsd:enumeration value="revision_of"/>
                                                                    </xsd:restriction>
                                                            </xsd:simpleType>
                                                    </xsd:list>
                                            </xsd:simpleType>
                                    </xsd:attribute>
                            </xsd:extension>
                    </xsd:simpleContent>
            </xsd:complexType>
    </xsd:element>
    <!--name_choice created to force a choice between institution_name and standards_body_name in queries-->
    <xsd:element name="name_choice" abstract="true"/>
    <!--
   The following are basic data types for face markup. Face markup that appears
   in the title, subtitle, and original_language_title elements should be
   retained when depositing metadata. Face markup in other elements (e.g. small
   caps in author names) must be dropped. Face markup support includes bold (b),
   italic (i), underline (u), over-line (ovl), superscript (sup), subscript (sub),
   small caps (scp), and typewriter text (tt).
-->
    <xsd:complexType name="xrefFaces" mixed="true">
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:group ref="face_markup"/>
            </xsd:choice>
    </xsd:complexType>
    <xsd:group name="face_markup">
            <xsd:choice>
                    <xsd:element ref="b"/>
                    <xsd:element ref="i"/>
                    <xsd:element ref="u"/>
                    <xsd:element ref="ovl"/>
                    <xsd:element ref="sup"/>
                    <xsd:element ref="sub"/>
                    <xsd:element ref="scp"/>
                    <xsd:element ref="tt"/>
            </xsd:choice>
    </xsd:group>
    <xsd:element name="b" type="xrefFaces"/>
    <xsd:element name="i" type="xrefFaces"/>
    <xsd:element name="u" type="xrefFaces"/>
    <xsd:element name="ovl" type="xrefFaces"/>
    <xsd:element name="sup" type="xrefFaces"/>
    <xsd:element name="sub" type="xrefFaces"/>
    <xsd:element name="scp" type="xrefFaces"/>
    <xsd:element name="tt" type="xrefFaces"/>
    <xsd:element name="unstructured_citation">
            <xsd:complexType mixed="true">
                    <xsd:choice minOccurs="0" maxOccurs="unbounded">
                            <xsd:group ref="face_markup"/>
                    </xsd:choice>
            </xsd:complexType>
    </xsd:element>

</xsd:schema>