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

CrossRef  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.0.1.2  8/26/08 Changed URL to string from anyURI since the DB is full of junk
3.0.1.2   9/11/07  Added owner attribute to DOI record
3.0.1.1   12/13/06  Added <series> element to allow a series title under publication
3.0.1  (CK) 4/25/06   Added datestamp to the <doi_record> element which is the date the DOi was last modified
 3.0.0 (CK) 10/26/05
       Changed element "query" to use the base type cr_metadata_t
       Added new "publication" element to allow for forward link and XML files containing all that type
          of data in single XML files. (forawd link dump files and local host medium-weight XML)
 2.0.4 (CK) 7/18/05
       Added match attribte to article title
 2.0.3 (HS) 4/8/05
       Added article_title to the 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 metadata distribution processes, which include:
           - query engine
           - local host metadata feed
           - forward link metadata feed
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=“www.w3.org/2001/XMLSchema

         xmlns="http://www.crossref.org/output/3.0" targetNamespace="http://www.crossref.org/output/3.0" 
         xmlns:ai="http://www.crossref.org/AccessIndicators.xsd">
     <xsd:import namespace="http://www.crossref.org/AccessIndicators.xsd"
                     schemaLocation="AccessIndicators.xsd"/>
     <!--    ================== 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:integer">
                     <xsd:maxInclusive value="2400"/>
                     <xsd:minInclusive value="0"/>
                     <xsd:totalDigits value="4"/>
             </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="xrefMonth">
             <xsd:restriction base="xsd:positiveInteger">
                     <xsd:maxInclusive value="99"/>
                     <xsd:minInclusive value="01"/>
                     <xsd:totalDigits value="2"/>
             </xsd:restriction>
     </xsd:simpleType>
     <xsd:simpleType name="xrefDay">
             <xsd:restriction base="xsd:positiveInteger">
                     <xsd:maxInclusive value="31"/>
                     <xsd:minInclusive value="01"/>
                     <xsd:totalDigits value="2"/>
             </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:enumeration value="title"/>
                     <xsd:enumeration value="other"/>
             </xsd:restriction>
     </xsd:simpleType>
     <xsd:attributeGroup name="contributor.atts">
             <xsd:attribute name="sequence" use="required">
                     <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="required">
                     <xsd:simpleType>
                             <xsd:restriction base="xsd:NMTOKEN">
                                     <xsd:enumeration value="author"/>
                                     <xsd:enumeration value="editor"/>
                                     <xsd:enumeration value="chair"/>
                                     <xsd:enumeration value="translator"/>
                                     <xsd:enumeration value="reviewer"/>
                                     <xsd:enumeration value="review-assistant"/>
                                     <xsd:enumeration value="stats-reviewer"/>
                                     <xsd:enumeration value="reviewer-external"/>
                                     <xsd:enumeration value="reader"/>
                                     <xsd:enumeration value="translator"/>
                             </xsd:restriction>
                     </xsd:simpleType>
             </xsd:attribute>
             <xsd:attribute name="name-style" use="optional">
                     <xsd:simpleType>
                             <xsd:restriction base="xsd:token">
                                     <xsd:enumeration value="western"/>
                                     <xsd:enumeration value="eastern"/>
                                     <xsd:enumeration value="islensk"/>
                                     <xsd:enumeration value="given-only"/>
                             </xsd:restriction>
                     </xsd:simpleType>
             </xsd:attribute>
             <xsd:attributeGroup ref="language.atts"/>
     </xsd:attributeGroup>
     <xsd:attributeGroup name="language.atts">
             <xsd:annotation>
                     <xsd:documentation>language attributes are based on iso 639</xsd:documentation>
             </xsd:annotation>
             <xsd:attribute name="language" use="optional">
                     <xsd:simpleType>
                             <xsd:restriction base="xsd:NMTOKEN">
                                     <xsd:enumeration value="aa"/>
                                     <xsd:enumeration value="ab"/>
                                     <xsd:enumeration value="af"/>
                                     <xsd:enumeration value="am"/>
                                     <xsd:enumeration value="ar"/>
                                     <xsd:enumeration value="as"/>
                                     <xsd:enumeration value="ay"/>
                                     <xsd:enumeration value="az"/>
                                     <xsd:enumeration value="ba"/>
                                     <xsd:enumeration value="be"/>
                                     <xsd:enumeration value="bg"/>
                                     <xsd:enumeration value="bh"/>
                                     <xsd:enumeration value="bi"/>
                                     <xsd:enumeration value="bn"/>
                                     <xsd:enumeration value="bo"/>
                                     <xsd:enumeration value="br"/>
                                     <xsd:enumeration value="ca"/>
                                     <xsd:enumeration value="co"/>
                                     <xsd:enumeration value="cs"/>
                                     <xsd:enumeration value="cy"/>
                                     <xsd:enumeration value="da"/>
                                     <xsd:enumeration value="de"/>
                                     <xsd:enumeration value="dz"/>
                                     <xsd:enumeration value="el"/>
                                     <xsd:enumeration value="en"/>
                                     <xsd:enumeration value="eo"/>
                                     <xsd:enumeration value="es"/>
                                     <xsd:enumeration value="et"/>
                                     <xsd:enumeration value="eu"/>
                                     <xsd:enumeration value="fa"/>
                                     <xsd:enumeration value="fi"/>
                                     <xsd:enumeration value="fj"/>
                                     <xsd:enumeration value="fo"/>
                                     <xsd:enumeration value="fr"/>
                                     <xsd:enumeration value="fy"/>
                                     <xsd:enumeration value="ga"/>
                                     <xsd:enumeration value="gd"/>
                                     <xsd:enumeration value="gl"/>
                                     <xsd:enumeration value="gn"/>
                                     <xsd:enumeration value="gu"/>
                                     <xsd:enumeration value="ha"/>
                                     <xsd:enumeration value="he"/>
                                     <xsd:enumeration value="hi"/>
                                     <xsd:enumeration value="hr"/>
                                     <xsd:enumeration value="hu"/>
                                     <xsd:enumeration value="hy"/>
                                     <xsd:enumeration value="ia"/>
                                     <xsd:enumeration value="id"/>
                                     <xsd:enumeration value="ie"/>
                                     <xsd:enumeration value="ik"/>
                                     <xsd:enumeration value="is"/>
                                     <xsd:enumeration value="it"/>
                                     <xsd:enumeration value="ja"/>
                                     <xsd:enumeration value="jw"/>
                                     <xsd:enumeration value="ka"/>
                                     <xsd:enumeration value="kk"/>
                                     <xsd:enumeration value="kl"/>
                                     <xsd:enumeration value="km"/>
                                     <xsd:enumeration value="kn"/>
                                     <xsd:enumeration value="ko"/>
                                     <xsd:enumeration value="ks"/>
                                     <xsd:enumeration value="ku"/>
                                     <xsd:enumeration value="ky"/>
                                     <xsd:enumeration value="la"/>
                                     <xsd:enumeration value="ln"/>
                                     <xsd:enumeration value="lo"/>
                                     <xsd:enumeration value="lt"/>
                                     <xsd:enumeration value="lv"/>
                                     <xsd:enumeration value="mg"/>
                                     <xsd:enumeration value="mi"/>
                                     <xsd:enumeration value="mk"/>
                                     <xsd:enumeration value="ml"/>
                                     <xsd:enumeration value="mn"/>
                                     <xsd:enumeration value="mo"/>
                                     <xsd:enumeration value="mr"/>
                                     <xsd:enumeration value="ms"/>
                                     <xsd:enumeration value="mt"/>
                                     <xsd:enumeration value="my"/>
                                     <xsd:enumeration value="na"/>
                                     <xsd:enumeration value="ne"/>
                                     <xsd:enumeration value="nl"/>
                                     <xsd:enumeration value="no"/>
                                     <xsd:enumeration value="oc"/>
                                     <xsd:enumeration value="om"/>
                                     <xsd:enumeration value="or"/>
                                     <xsd:enumeration value="pa"/>
                                     <xsd:enumeration value="pl"/>
                                     <xsd:enumeration value="ps"/>
                                     <xsd:enumeration value="pt"/>
                                     <xsd:enumeration value="qu"/>
                                     <xsd:enumeration value="rm"/>
                                     <xsd:enumeration value="rn"/>
                                     <xsd:enumeration value="ro"/>
                                     <xsd:enumeration value="ru"/>
                                     <xsd:enumeration value="rw"/>
                                     <xsd:enumeration value="sa"/>
                                     <xsd:enumeration value="sd"/>
                                     <xsd:enumeration value="sg"/>
                                     <xsd:enumeration value="si"/>
                                     <xsd:enumeration value="sk"/>
                                     <xsd:enumeration value="sl"/>
                                     <xsd:enumeration value="sm"/>
                                     <xsd:enumeration value="sn"/>
                                     <xsd:enumeration value="so"/>
                                     <xsd:enumeration value="sq"/>
                                     <xsd:enumeration value="sr"/>
                                     <xsd:enumeration value="ss"/>
                                     <xsd:enumeration value="st"/>
                                     <xsd:enumeration value="su"/>
                                     <xsd:enumeration value="sv"/>
                                     <xsd:enumeration value="sw"/>
                                     <xsd:enumeration value="ta"/>
                                     <xsd:enumeration value="te"/>
                                     <xsd:enumeration value="tg"/>
                                     <xsd:enumeration value="th"/>
                                     <xsd:enumeration value="ti"/>
                                     <xsd:enumeration value="tk"/>
                                     <xsd:enumeration value="tl"/>
                                     <xsd:enumeration value="tn"/>
                                     <xsd:enumeration value="to"/>
                                     <xsd:enumeration value="tr"/>
                                     <xsd:enumeration value="ts"/>
                                     <xsd:enumeration value="tt"/>
                                     <xsd:enumeration value="tw"/>
                                     <xsd:enumeration value="uk"/>
                                     <xsd:enumeration value="ur"/>
                                     <xsd:enumeration value="uz"/>
                                     <xsd:enumeration value="vi"/>
                                     <xsd:enumeration value="vo"/>
                                     <xsd:enumeration value="wo"/>
                                     <xsd:enumeration value="xh"/>
                                     <xsd:enumeration value="yi"/>
                                     <xsd:enumeration value="yo"/>
                                     <xsd:enumeration value="zh"/>
                                     <xsd:enumeration value="zu"/>
                             </xsd:restriction>
                     </xsd:simpleType>
             </xsd:attribute>
     </xsd:attributeGroup>
     <!-- The complex type cr_metadata_t is used to build query results and DOI records used in metadata files-->
     <xsd:complexType name="cr_metadata_t">
             <xsd:sequence>
                     <xsd:element ref="publisher" minOccurs="0"/>
                     <xsd:element ref="doi" minOccurs="0"/>
                     <xsd:element ref="collection" minOccurs="0"/>
                     <xsd:element ref="ai:program" minOccurs="0" maxOccurs="1"/>
                     <xsd:element ref="issn" minOccurs="0" maxOccurs="2"/>
                     <xsd:element ref="isbn" minOccurs="0"/>
                     <!-- 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"/>
                             <!-- supply all contibutors     -->
                             <xsd:element ref="contributors" minOccurs="0"/>
                             <!-- 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="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:choice>
                             <xsd:element ref="year" minOccurs="0"/>
                             <xsd:element ref="publication_date" minOccurs="0"/>
                     </xsd:choice>
                     <xsd:element ref="publication_type" minOccurs="0"/>
                     <xsd:choice>
                             <xsd:element ref="article_title" minOccurs="0"/>
                             <xsd:element ref="chapter_title" minOccurs="0"/>
                             <xsd:element ref="item_title" minOccurs="0"/>
                     </xsd:choice>
                     <xsd:choice>
                             <!-- msg holds verious information about the query (such as error msg if it malformed) -->
                             <xsd:element ref="msg" minOccurs="0"/>
                             <!-- unstrured citation holds the input unstructured citation if the system were unable to parse it into constitutent elements -->
                             <xsd:element ref="unstructured_citation" minOccurs="0"/>
                     </xsd:choice>
                     <!-- DOIs may have list of components and references that were deposit with the DOI or separatlt -->
                     <xsd:element ref="component_list" minOccurs="0"/>
                     <xsd:element ref="citation_list" minOccurs="0"/>
                     <xsd:element ref="url" minOccurs="0" maxOccurs="10"/>
             </xsd:sequence>
             <xsd:attribute name="citationid" type="xsd:string" use="optional"/>
             <xsd:attribute name="owner" type="xsd:string" use="optional"/>
             <xsd:attribute name="datestamp" type="xsd:string" use="optional"/>
     </xsd:complexType>
     <xsd:simpleType name="url_t">
             <xsd:restriction base="xsd:string"/>
     </xsd:simpleType>
     <xsd:element name="url">
             <xsd:complexType>
                     <xsd:simpleContent>
                             <xsd:extension base="url_t">
                                     <xsd:attribute name="type">
                                             <!-- The type attribute identifies the purpose or source of the URL.  Mainly these deal with publisher
                       supplied URLs with 'prime' being the normal target of the DOI (single resolution by the proxy).  At this 
                       time other URLs may be provided which are used by full text search engines when they index the content. These 
                       differ from the DOI's prime URL due to specific circumstances of the pubisher's site.
                       In addition: when using the Inera free text engine it may parse a URL for a reference
                   -->
                                             <xsd:simpleType>
                                                     <xsd:restriction base="xsd:NMTOKEN">
                                                             <xsd:enumeration value="xref:url:"/>
                                                             <xsd:enumeration value="xref:url:DOI"/>
                                                             <xsd:enumeration value="xref:url:prime"/>
                                                             <xsd:enumeration value="xref:url:crawled"/>
                                                             <xsd:enumeration value="xref:url:crawled:google"/>
                                                             <xsd:enumeration value="xref:url:crawled:msn"/>
                                                             <xsd:enumeration value="xref:url:crawled:iParadigms"/>
                                                             <xsd:enumeration value="xref:url:crawled:scirus"/>
                                                             <xsd:enumeration value="xref:url:crawled:yahoo"/>
                                                             <xsd:enumeration value="xref:url:crawled:altavista"/>
                                                             <xsd:enumeration value="xref:url:author"/>
                                                     </xsd:restriction>
                                             </xsd:simpleType>
                                     </xsd:attribute>
                             </xsd:extension>
                     </xsd:simpleContent>
             </xsd:complexType>
     </xsd:element>
     <!--    ============= End of common    attribute and elements ============    -->
     <!--    
================================================================
XSD schema for CrossRef XML based queries and other CrossRef outputs.
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:choice>
                             <xsd:element ref="query_result" minOccurs="0" maxOccurs="unbounded"/>
                             <xsd:element ref="publication"/>
                     </xsd:choice>
                     <xsd:attribute name="version" type="xsd:string" fixed="3.0"/>
                     <xsd:attribute name="date" type="xsd:date"/>
             </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="publication">
             <xsd:complexType>
                     <xsd:sequence>
                             <xsd:element ref="publisher" minOccurs="0" maxOccurs="10"/>
                             <xsd:choice>
                                     <xsd:any namespace="http://www.crossref.org/xschema/1.0" processContents="strict" maxOccurs="unbounded"/>
                                     <xsd:sequence>
                                             <xsd:element ref="series" minOccurs="0"/>
                                             <xsd:element ref="doi_record" minOccurs="0" maxOccurs="unbounded"/>
                                     </xsd:sequence>
                             </xsd:choice>
                             <xsd:element ref="citation_count" minOccurs="0"/>
                     </xsd:sequence>
                     <xsd:attribute name="title" type="xsd:string" use="required"/>
                     <xsd:attribute name="pisbn" type="isbn_t"/>
                     <xsd:attribute name="eisbn" type="isbn_t"/>
                     <xsd:attribute name="pissn" type="issn_t"/>
                     <xsd:attribute name="eissn" type="issn_t"/>
                     <xsd:attribute name="year" type="xrefYear"/>
                     <xsd:attribute name="volume" type="xsd:string"/>
                     <xsd:attribute name="issue" type="xsd:string"/>
                     <xsd:attribute name="filedate" type="xsd:string"/>
                     <xsd:attribute name="fromdate" type="xsd:string"/>
                     <xsd:attribute name="pubType" use="required">
                             <xsd:simpleType>
                                     <xsd:restriction base="xsd:NMTOKEN">
                                             <xsd:enumeration value="journal"/>
                                             <xsd:enumeration value="confproc"/>
                                             <xsd:enumeration value="book"/>
                                             <xsd:enumeration value="other"/>
                                     </xsd:restriction>
                             </xsd:simpleType>
                     </xsd:attribute>
                     <xsd:attribute name="mode" type="xsd:string"/>
             </xsd:complexType>
     </xsd:element>
     <xsd:element name="series">
             <xsd:complexType>
                     <xsd:sequence>
                             <xsd:element ref="doi" minOccurs="0"/>
                     </xsd:sequence>
                     <xsd:attribute name="title" type="xsd:string" use="required"/>
                     <xsd:attribute name="pissn" type="issn_t"/>
                     <xsd:attribute name="eissn" type="issn_t"/>
                     <xsd:attribute name="year" type="xrefYear"/>
             </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:sequence>
           </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="unstructured_citation" 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="year" minOccurs="0"/>
                               <xsd:element ref="publication_type"/>
                               <xsd:element ref="doi"/>
                       </xsd:sequence>
               </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="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="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: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="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:complexType>
       </xsd:element>
       <xsd:element name="article_title">
               <xsd:complexType mixed="true">
                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
                               <xsd:group ref="face_markup"/>
                       </xsd:choice>
                       <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:complexType>
       </xsd:element>
       <xsd:element name="chapter_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="exact"/>
                                                       </xsd:restriction>
                                               </xsd:simpleType>
                                       </xsd:attribute>
                               </xsd:extension>
                       </xsd:simpleContent>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="item_title">
               <xsd:complexType>
                       <xsd:simpleContent>
                               <xsd:extension base="qfield_t">
                                       <xsd:attribute name="match" use="optional">
                                               <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="optional">
                                               <xsd:simpleType>
                                                       <xsd:restriction base="xsd:NMTOKEN">
                                                               <xsd:enumeration value="article"/>
                                                               <xsd:enumeration value="chapter"/>
                                                               <xsd:enumeration value="paper"/>
                                                               <xsd:enumeration value="report"/>
                                                               <xsd:enumeration value="other"/>
                                                       </xsd:restriction>
                                               </xsd:simpleType>
                                       </xsd:attribute>
                               </xsd:extension>
                       </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:sequence>
                               <xsd:choice minOccurs="0" maxOccurs="unbounded">
                                       <xsd:element ref="organization"/>
                                       <xsd:element ref="person_name"/>
                               </xsd:choice>
                       </xsd:sequence>
                       <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>
       <!--
   The name of an organization (as opposed to a person) that contributed to authoring an item
-->
       <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>
       <!--
   The name of a person (as opposed to an organization) that contributed to authoring an item
-->
       <xsd:element name="person_name">
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:element ref="given_name" minOccurs="0"/>
                               <xsd:element ref="surname"/>
                               <xsd:element ref="suffix" minOccurs="0"/>
                               <xsd:element ref="affiliation" minOccurs="0" maxOccurs="5"/>
               <xsd:element ref="ORCID" minOccurs="0"/>
                               <xsd:element ref="alt-name" minOccurs="0"/>
                       </xsd:sequence>
                       <xsd:attributeGroup ref="contributor.atts"/>
               </xsd:complexType>
       </xsd:element>
       <!--  Number of forward links to a publication -->
       <xsd:element name="citation_count">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="35"/>
                               <xsd:minLength value="1"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <!--
   A contributor's given name.

   Do not include titles such as "Dr.", "Prof.", or "President" in given_name.
   These titles should not be submitted to CrossRef.
-->
       <xsd:element name="given_name">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="250"/>
                               <xsd:minLength value="1"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <!--
   The surname of an author or editor.

   If an author is an organization, you should use organization, not surname.

   Author degrees (e.g. M.D., Ph.D.) should not be included in CrossRef submissions.
-->
       <xsd:element name="surname">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="1024"/>
                               <xsd:minLength value="1"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <!--
   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="0"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <xsd:element name="affiliation">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="512"/>
                               <xsd:minLength value="0"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <xsd:element name="ORCID">
               <xsd:complexType>
                       <xsd:simpleContent>
                               <xsd:extension base="orcid_t">
                       <xsd:attribute default="false" name="authenticated" type="xsd:boolean"/>
                       </xsd:extension>
                       </xsd:simpleContent>
               </xsd:complexType>
       </xsd:element>
       <xsd:simpleType name="orcid_t">
               <xsd:restriction base="xsd:string">
                       <xsd:maxLength value="37"/>
                       <xsd:minLength value="34"/>
               </xsd:restriction>
       </xsd:simpleType>

       <xsd:element name="alt-name">
               <xsd:complexType>
                       <xsd:choice maxOccurs="unbounded">
                               <xsd:element ref="name"/>
                               <xsd:element ref="string-name"/>
                       </xsd:choice>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="name">
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:choice>
                                       <xsd:sequence>
                                               <xsd:element ref="surname"/>
                                               <xsd:element minOccurs="0" ref="given_name"/>
                                       </xsd:sequence>
                                       <xsd:element ref="given_name"/>
                               </xsd:choice>
                               <xsd:element minOccurs="0" ref="prefix"/>
                               <xsd:element minOccurs="0" ref="suffix"/>
                       </xsd:sequence>
                       <xsd:attribute name="content-type"/>
                       <xsd:attribute name="name-style" default="western">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:token">
                                               <xsd:enumeration value="western"/>
                                               <xsd:enumeration value="eastern"/>
                                               <xsd:enumeration value="islensk"/>
                                               <xsd:enumeration value="given-only"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
                       <xsd:attribute name="specific-use"/>
                       <!--using our language.atts attribute group instead of importing xml:lang-->
                       <xsd:attributeGroup ref="language.atts"/>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="string-name">
               <xsd:complexType mixed="true">
                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
                               <xsd:element ref="degrees"/>
                               <xsd:element ref="given_name"/>
                               <xsd:element ref="prefix"/>
                               <xsd:element ref="surname"/>
                               <xsd:element ref="suffix"/>
                       </xsd:choice>
                       <xsd:attribute name="content-type"/>
                       <xsd:attribute name="name-style" default="western">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:token">
                                               <xsd:enumeration value="western"/>
                                               <xsd:enumeration value="eastern"/>
                                               <xsd:enumeration value="islensk"/>
                                               <xsd:enumeration value="given-only"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
                       <xsd:attribute name="specific-use"/>
                       <xsd:attributeGroup ref="language.atts"/>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="prefix">
               <xsd:complexType mixed="true">
                       <xsd:attribute name="content-type"/>
                       <xsd:attribute name="specific-use"/>
                       <xsd:attributeGroup ref="language.atts"/>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="degrees">
               <xsd:complexType mixed="true">
                       <xsd:attribute name="content-type"/>
                       <xsd:attribute name="specific-use"/>
                       <xsd:attributeGroup ref="language.atts"/>
               </xsd:complexType>
       </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:complexContent>
                               <xsd:extension base="cr_metadata_t">
                                       <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: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="parsed"/>
                                                               <xsd:enumeration value="semi-parsed"/>
                                                               <xsd:enumeration value="unparsed"/>
                                                       </xsd:restriction>
                                               </xsd:simpleType>
                                       </xsd:attribute>
                               </xsd:extension>
                               <!-- 
                  The    combination    of (SubmitterID,doi_batch_id,key) must be unique
                  if the attribute 'forward-match' is set to true
                -->
                       </xsd:complexContent>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="doi_record">
               <xsd:complexType>
                       <xsd:complexContent>
                               <xsd:extension base="cr_metadata_t"/>
                       </xsd:complexContent>
               </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:minLength value="0"/>
                       </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="13"/>
                       <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">
                                               <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 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="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:restriction>
                                               </xsd:simpleType>
                                       </xsd:attribute>
                               </xsd:extension>
                       </xsd:simpleContent>
               </xsd:complexType>
       </xsd:element>
       <!--  last page is not a queryable field, so it needs no match attribute -->
       <xsd:element name="last_page">
               <xsd:complexType>
                       <xsd:simpleContent>
                               <xsd:extension base="qfield_t"/>
                       </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:restriction>
                                               </xsd:simpleType>
                                       </xsd:attribute>
                               </xsd:extension>
                       </xsd:simpleContent>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="day" type="xrefDay"/>
       <xsd:element name="month" type="xrefMonth"/>
       <xsd:element name="publication_date">
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:element ref="month" minOccurs="0"/>
                               <xsd:element ref="day" minOccurs="0"/>
                               <xsd:element ref="year"/>
                       </xsd:sequence>
                       <xsd:attribute name="media_type" default="print">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:NMTOKEN">
                                               <xsd:enumeration value="online"/>
                                               <xsd:enumeration value="print"/>
                                               <xsd:enumeration value="other"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
               </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: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: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="doi_t">
                                       <xsd:attribute name="prime" type="doi_t" use="optional"/>
                               </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: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:element name="cYear" type="xsd:string"/>
       <xsd:element name="citation_list">
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:element ref="citation" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
               </xsd:complexType>
       </xsd:element>
       <xsd:complexType name="citation_t">
               <xsd:all>
                       <xsd:element ref="issn" minOccurs="0"/>
                       <xsd:element ref="journal_title" minOccurs="0"/>
                       <xsd:element ref="author" minOccurs="0"/>
                       <xsd:element ref="volume" minOccurs="0"/>
                       <xsd:element ref="issue" minOccurs="0"/>
                       <xsd:element ref="first_page" minOccurs="0"/>
                       <xsd:element ref="cYear" 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"/>
                       <xsd:element ref="edition_number" minOccurs="0"/>
                       <xsd:element ref="component_number" minOccurs="0"/>
                       <!--  end of book/conf. specific elements-->
                       <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:all>
       </xsd:complexType>
       <xsd:element name="citation">
               <xsd:complexType>
                       <xsd:complexContent>
                               <xsd:extension base="citation_t">
                                       <xsd:attributeGroup ref="citation_key.atts"/>
                               </xsd:extension>
                       </xsd:complexContent>
               </xsd:complexType>
       </xsd:element>
       <xsd:attributeGroup name="citation_key.atts">
               <xsd:attribute name="key" type="xsd:string" use="required"/>
       </xsd:attributeGroup>
       <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: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="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="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="publisher">
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:element ref="publisher_name" minOccurs="0"/>
                               <xsd:element ref="publisher_result_name" minOccurs="0"/>
                               <xsd:element ref="publisher_location" minOccurs="0"/>
                               <xsd:element ref="email_address" minOccurs="0"/>
                               <xsd:element ref="prefix" minOccurs="0"/>
                       </xsd:sequence>
               </xsd:complexType>
       </xsd:element>
       <!--
   publisher_place gives the primary city location of the publisher. When the location
   is a major city (e.g. New York, Amsterdam), no qualifying country or U.S. state need
   be given. If the city is not a major city, the appropriate country or U.S. state
   should be added.
-->
       <xsd:element name="publisher_location">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="255"/>
                               <xsd:minLength value="2"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>

       <!--
   The name of the publisher of a book or conference proceedings.

   publisher_name is the imprint of the publication (what the author will likely cite),
   not the organization registering the DOI, if for any reason they are different.
-->
       <xsd:element name="publisher_name">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="255"/>
                               <xsd:minLength value="1"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <xsd:element name="publisher_result_name">
               <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="256"/>
                               <xsd:minLength value="1"/>
                       </xsd:restriction>
               </xsd:simpleType>
       </xsd:element>
       <!--
   Used to hold a single DOI.

   The DOI specification allows many characters in the formulation of a DOI.
   However certain characters cause problems for systems that process DOIs.
   Use of the following characters in a DOI should NEVER occur: '#', '?', and '&'.
   The following characters are supported, however, it is strongly recommended
   you avoid use of: '<', '>', '/', and '\'
-->
       <xsd:simpleType name="doi_t">
               <xsd:restriction base="xsd:string">
                       <xsd:maxLength value="2048"/>
                       <xsd:minLength value="6"/>
               </xsd:restriction>
       </xsd:simpleType>

       <!--  =============================  added to include collection info in MD data for Elsevier   cs-2902  ============== -->

       <xsd:element name="collection">
               <xsd:annotation>
                       <xsd:documentation> A collection is a container for one or more items each holding a doi
                               or a resource (URI) which is related to the DOI in the ancestor &lt;doi_data&gt;
                               element. A collection must be qualified by a property attibute or the
                               multi-resolution attribute. property attributes: list-based: uses an interim page
                               and presents the list of items to the user (via Multiple Resolution) country-based:
                               proxy picks destination based on the country code of the user's location (this
                               option is not currently active, contact support@crossref.org for more info)
                               crawler-based: identifies resource to be crawled by the specified crawlers.
                               text-mining: identifies resource to be used for text and data mining unspecified:
                               identifies resource with unspecified usage syndication: identifies resource to be
                               used for syndication The multi-resolution attribute may be used to lock or unlock
                               DOIs for multiple resolution. </xsd:documentation>
               </xsd:annotation>
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
                       <xsd:attribute name="property" use="required">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:NMTOKEN">
                                               <xsd:enumeration value="list-based"/>
                                               <xsd:enumeration value="country-based"/>
                                               <xsd:enumeration value="crawler-based"/>
                                               <xsd:enumeration value="text-mining"/>
                                               <xsd:enumeration value="unspecified"/>
                                               <xsd:enumeration value="syndication"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
                       <xsd:attribute name="setbyID" 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="multi-resolution">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:NMTOKEN">
                                               <xsd:enumeration value="lock"/>
                                               <xsd:enumeration value="unlock"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="item">
               <xsd:annotation>
                       <xsd:documentation>A container used to associate a collection, doi, or resource (URI)
                               with zero or more property elements. item is currently used for supplying as-crawled
                               URLs (http://help.crossref.org/#as-crawled-urls)</xsd:documentation>
               </xsd:annotation>
               <xsd:complexType>
                       <xsd:sequence>
                               <xsd:choice minOccurs="0">
                                       <xsd:element ref="doi"/>
                                       <xsd:element ref="resource"/>
                               </xsd:choice>
                       </xsd:sequence>
                       <xsd:attribute name="crawler" use="optional">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:NMTOKEN">
                                               <xsd:enumeration value="altavista"/>
                                               <xsd:enumeration value="google"/>
                                               <xsd:enumeration value="msn"/>
                                               <xsd:enumeration value="scirus"/>
                                               <xsd:enumeration value="yahoo"/>
                                               <xsd:enumeration value="iParadigms"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
                       <xsd:attribute name="label" use="optional">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                               <xsd:maxLength value="128"/>
                                               <xsd:minLength value="3"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
                       <xsd:attribute name="country" use="optional">
                               <xsd:simpleType>
                                       <xsd:restriction base="xsd:NMTOKEN">
                                               <xsd:enumeration value="AX"/>
                                               <xsd:enumeration value="AF"/>
                                               <xsd:enumeration value="AL"/>
                                               <xsd:enumeration value="DZ"/>
                                               <xsd:enumeration value="AS"/>
                                               <xsd:enumeration value="AD"/>
                                               <xsd:enumeration value="AO"/>
                                               <xsd:enumeration value="AI"/>
                                               <xsd:enumeration value="AQ"/>
                                               <xsd:enumeration value="AG"/>
                                               <xsd:enumeration value="AR"/>
                                               <xsd:enumeration value="AM"/>
                                               <xsd:enumeration value="AW"/>
                                               <xsd:enumeration value="AU"/>
                                               <xsd:enumeration value="AT"/>
                                               <xsd:enumeration value="AZ"/>
                                               <xsd:enumeration value="BS"/>
                                               <xsd:enumeration value="BH"/>
                                               <xsd:enumeration value="BD"/>
                                               <xsd:enumeration value="BB"/>
                                               <xsd:enumeration value="BY"/>
                                               <xsd:enumeration value="BE"/>
                                               <xsd:enumeration value="BZ"/>
                                               <xsd:enumeration value="BJ"/>
                                               <xsd:enumeration value="BM"/>
                                               <xsd:enumeration value="BT"/>
                                               <xsd:enumeration value="BO"/>
                                               <xsd:enumeration value="BA"/>
                                               <xsd:enumeration value="BW"/>
                                               <xsd:enumeration value="BV"/>
                                               <xsd:enumeration value="BR"/>
                                               <xsd:enumeration value="IO"/>
                                               <xsd:enumeration value="BN"/>
                                               <xsd:enumeration value="BG"/>
                                               <xsd:enumeration value="BF"/>
                                               <xsd:enumeration value="BI"/>
                                               <xsd:enumeration value="KH"/>
                                               <xsd:enumeration value="CM"/>
                                               <xsd:enumeration value="CA"/>
                                               <xsd:enumeration value="CV"/>
                                               <xsd:enumeration value="KY"/>
                                               <xsd:enumeration value="CF"/>
                                               <xsd:enumeration value="TD"/>
                                               <xsd:enumeration value="CL"/>
                                               <xsd:enumeration value="CN"/>
                                               <xsd:enumeration value="CX"/>
                                               <xsd:enumeration value="CC"/>
                                               <xsd:enumeration value="CO"/>
                                               <xsd:enumeration value="KM"/>
                                               <xsd:enumeration value="CD"/>
                                               <xsd:enumeration value="CG"/>
                                               <xsd:enumeration value="CK"/>
                                               <xsd:enumeration value="CR"/>
                                               <xsd:enumeration value="CI"/>
                                               <xsd:enumeration value="HR"/>
                                               <xsd:enumeration value="CU"/>
                                               <xsd:enumeration value="CY"/>
                                               <xsd:enumeration value="CZ"/>
                                               <xsd:enumeration value="DK"/>
                                               <xsd:enumeration value="DJ"/>
                                               <xsd:enumeration value="DM"/>
                                               <xsd:enumeration value="DO"/>
                                               <xsd:enumeration value="EC"/>
                                               <xsd:enumeration value="EG"/>
                                               <xsd:enumeration value="SV"/>
                                               <xsd:enumeration value="GQ"/>
                                               <xsd:enumeration value="ER"/>
                                               <xsd:enumeration value="EE"/>
                                               <xsd:enumeration value="ET"/>
                                               <xsd:enumeration value="FK"/>
                                               <xsd:enumeration value="FO"/>
                                               <xsd:enumeration value="FJ"/>
                                               <xsd:enumeration value="FI"/>
                                               <xsd:enumeration value="FR"/>
                                               <xsd:enumeration value="GF"/>
                                               <xsd:enumeration value="PF"/>
                                               <xsd:enumeration value="TF"/>
                                               <xsd:enumeration value="GA"/>
                                               <xsd:enumeration value="GM"/>
                                               <xsd:enumeration value="GE"/>
                                               <xsd:enumeration value="DE"/>
                                               <xsd:enumeration value="GH"/>
                                               <xsd:enumeration value="GI"/>
                                               <xsd:enumeration value="GR"/>
                                               <xsd:enumeration value="GL"/>
                                               <xsd:enumeration value="GD"/>
                                               <xsd:enumeration value="GP"/>
                                               <xsd:enumeration value="GU"/>
                                               <xsd:enumeration value="GT"/>
                                               <xsd:enumeration value="GN"/>
                                               <xsd:enumeration value="GW"/>
                                               <xsd:enumeration value="GY"/>
                                               <xsd:enumeration value="HT"/>
                                               <xsd:enumeration value="HM"/>
                                               <xsd:enumeration value="HN"/>
                                               <xsd:enumeration value="HK"/>
                                               <xsd:enumeration value="HU"/>
                                               <xsd:enumeration value="IS"/>
                                               <xsd:enumeration value="IN"/>
                                               <xsd:enumeration value="ID"/>
                                               <xsd:enumeration value="IR"/>
                                               <xsd:enumeration value="IQ"/>
                                               <xsd:enumeration value="IE"/>
                                               <xsd:enumeration value="IL"/>
                                               <xsd:enumeration value="IT"/>
                                               <xsd:enumeration value="JM"/>
                                               <xsd:enumeration value="JP"/>
                                               <xsd:enumeration value="JO"/>
                                               <xsd:enumeration value="KZ"/>
                                               <xsd:enumeration value="KE"/>
                                               <xsd:enumeration value="KI"/>
                                               <xsd:enumeration value="KP"/>
                                               <xsd:enumeration value="KR"/>
                                               <xsd:enumeration value="KW"/>
                                               <xsd:enumeration value="KG"/>
                                               <xsd:enumeration value="LA"/>
                                               <xsd:enumeration value="LV"/>
                                               <xsd:enumeration value="LB"/>
                                               <xsd:enumeration value="LS"/>
                                               <xsd:enumeration value="LR"/>
                                               <xsd:enumeration value="LY"/>
                                               <xsd:enumeration value="LI"/>
                                               <xsd:enumeration value="LT"/>
                                               <xsd:enumeration value="LU"/>
                                               <xsd:enumeration value="MO"/>
                                               <xsd:enumeration value="MK"/>
                                               <xsd:enumeration value="MG"/>
                                               <xsd:enumeration value="MW"/>
                                               <xsd:enumeration value="MY"/>
                                               <xsd:enumeration value="MV"/>
                                               <xsd:enumeration value="ML"/>
                                               <xsd:enumeration value="MT"/>
                                               <xsd:enumeration value="MH"/>
                                               <xsd:enumeration value="MQ"/>
                                               <xsd:enumeration value="MR"/>
                                               <xsd:enumeration value="MU"/>
                                               <xsd:enumeration value="YT"/>
                                               <xsd:enumeration value="MX"/>
                                               <xsd:enumeration value="FM"/>
                                               <xsd:enumeration value="MD"/>
                                               <xsd:enumeration value="MC"/>
                                               <xsd:enumeration value="MN"/>
                                               <xsd:enumeration value="MS"/>
                                               <xsd:enumeration value="MA"/>
                                               <xsd:enumeration value="MZ"/>
                                               <xsd:enumeration value="MM"/>
                                               <xsd:enumeration value="NA"/>
                                               <xsd:enumeration value="NR"/>
                                               <xsd:enumeration value="NP"/>
                                               <xsd:enumeration value="NL"/>
                                               <xsd:enumeration value="AN"/>
                                               <xsd:enumeration value="NC"/>
                                               <xsd:enumeration value="NZ"/>
                                               <xsd:enumeration value="NI"/>
                                               <xsd:enumeration value="NE"/>
                                               <xsd:enumeration value="NG"/>
                                               <xsd:enumeration value="NU"/>
                                               <xsd:enumeration value="NF"/>
                                               <xsd:enumeration value="MP"/>
                                               <xsd:enumeration value="NO"/>
                                               <xsd:enumeration value="OM"/>
                                               <xsd:enumeration value="PK"/>
                                               <xsd:enumeration value="PW"/>
                                               <xsd:enumeration value="PS"/>
                                               <xsd:enumeration value="PA"/>
                                               <xsd:enumeration value="PG"/>
                                               <xsd:enumeration value="PY"/>
                                               <xsd:enumeration value="PE"/>
                                               <xsd:enumeration value="PH"/>
                                               <xsd:enumeration value="PN"/>
                                               <xsd:enumeration value="PL"/>
                                               <xsd:enumeration value="PT"/>
                                               <xsd:enumeration value="PR"/>
                                               <xsd:enumeration value="QA"/>
                                               <xsd:enumeration value="RE"/>
                                               <xsd:enumeration value="RO"/>
                                               <xsd:enumeration value="RU"/>
                                               <xsd:enumeration value="RW"/>
                                               <xsd:enumeration value="SH"/>
                                               <xsd:enumeration value="KN"/>
                                               <xsd:enumeration value="LC"/>
                                               <xsd:enumeration value="PM"/>
                                               <xsd:enumeration value="VC"/>
                                               <xsd:enumeration value="WS"/>
                                               <xsd:enumeration value="SM"/>
                                               <xsd:enumeration value="ST"/>
                                               <xsd:enumeration value="SA"/>
                                               <xsd:enumeration value="SN"/>
                                               <xsd:enumeration value="CS"/>
                                               <xsd:enumeration value="SC"/>
                                               <xsd:enumeration value="SL"/>
                                               <xsd:enumeration value="SG"/>
                                               <xsd:enumeration value="SK"/>
                                               <xsd:enumeration value="SI"/>
                                               <xsd:enumeration value="SB"/>
                                               <xsd:enumeration value="SO"/>
                                               <xsd:enumeration value="ZA"/>
                                               <xsd:enumeration value="GS"/>
                                               <xsd:enumeration value="ES"/>
                                               <xsd:enumeration value="LK"/>
                                               <xsd:enumeration value="SD"/>
                                               <xsd:enumeration value="SR"/>
                                               <xsd:enumeration value="SJ"/>
                                               <xsd:enumeration value="SZ"/>
                                               <xsd:enumeration value="SE"/>
                                               <xsd:enumeration value="CH"/>
                                               <xsd:enumeration value="SY"/>
                                               <xsd:enumeration value="TW"/>
                                               <xsd:enumeration value="TJ"/>
                                               <xsd:enumeration value="TZ"/>
                                               <xsd:enumeration value="TH"/>
                                               <xsd:enumeration value="TL"/>
                                               <xsd:enumeration value="TG"/>
                                               <xsd:enumeration value="TK"/>
                                               <xsd:enumeration value="TO"/>
                                               <xsd:enumeration value="TT"/>
                                               <xsd:enumeration value="TN"/>
                                               <xsd:enumeration value="TR"/>
                                               <xsd:enumeration value="TM"/>
                                               <xsd:enumeration value="TC"/>
                                               <xsd:enumeration value="TV"/>
                                               <xsd:enumeration value="UG"/>
                                               <xsd:enumeration value="UA"/>
                                               <xsd:enumeration value="AE"/>
                                               <xsd:enumeration value="GB"/>
                                               <xsd:enumeration value="US"/>
                                               <xsd:enumeration value="UM"/>
                                               <xsd:enumeration value="UY"/>
                                               <xsd:enumeration value="UZ"/>
                                               <xsd:enumeration value="VU"/>
                                               <xsd:enumeration value="VA"/>
                                               <xsd:enumeration value="VE"/>
                                               <xsd:enumeration value="VN"/>
                                               <xsd:enumeration value="VG"/>
                                               <xsd:enumeration value="VI"/>
                                               <xsd:enumeration value="WF"/>
                                               <xsd:enumeration value="EH"/>
                                               <xsd:enumeration value="YE"/>
                                               <xsd:enumeration value="ZM"/>
                                               <xsd:enumeration value="ZW"/>
                                       </xsd:restriction>
                               </xsd:simpleType>
                       </xsd:attribute>
               </xsd:complexType>
       </xsd:element>
       <xsd:element name="resource">
               <xsd:annotation>
                       <xsd:documentation>The element that contains a URI associated with a DOI. URLs are
                               referred to as resources in the 2.0 CrossRef schema because they can be any valid
                               URI. Cases of single-resolution (i.e. one DOI with a single corresponding URI)
                               should be tagged with a doi/resource pair in doi_data. Only one resource is allowed
                               per doi_data, the exception being resource elements within a collection element.
                               Values for the "content_version" attribute are vor (version of record) and am
                               (advance manuscript). </xsd:documentation>
               </xsd:annotation>
               <xsd:complexType>
                       <xsd:simpleContent>
                               <xsd:extension base="resource_t">
                                       <xsd:attributeGroup ref="mime_type.atts"/>
                                       <xsd:attribute name="content_version">
                                               <xsd:simpleType>
                                                       <xsd:restriction base="xsd:string">
                                                               <xsd:enumeration value="vor"/>
                                                               <xsd:enumeration value="am"/>
                                                               <xsd:enumeration value="tdm"/>
                                                       </xsd:restriction>
                                               </xsd:simpleType>
                                       </xsd:attribute>
                               </xsd:extension>
                       </xsd:simpleContent>
               </xsd:complexType>
       </xsd:element>

       <xsd:simpleType name="resource_t">
               <xsd:restriction base="xsd:anyURI">
                       <xsd:maxLength value="2048"/>
                       <xsd:minLength value="1"/>
                       <xsd:pattern value="([hH][tT][tT][pP]|[hH][tT][tT][pP][sS]|[fF][tT][pP])://.*"/>
               </xsd:restriction>
       </xsd:simpleType>
       <xsd:attributeGroup name="mime_type.atts">
               <xsd:annotation>
                       <xsd:documentation>Mime types for component format. For mime types refer to
                               http://www.iana.org/assignments/media-types/</xsd:documentation>
               </xsd:annotation>
               <xsd:attribute name="mime_type" use="optional">
                       <xsd:simpleType>
                               <xsd:restriction base="xsd:string">
                                       <xsd:enumeration value="text/plain"/>
                                       <xsd:enumeration value="text/richtext"/>
                                       <xsd:enumeration value="text/enriched"/>
                                       <xsd:enumeration value="text/tab-separated-values"/>
                                       <xsd:enumeration value="text/html"/>
                                       <xsd:enumeration value="text/sgml"/>
                                       <xsd:enumeration value="text/css"/>
                                       <xsd:enumeration value="text/rtf"/>
                                       <xsd:enumeration value="text/xml"/>
                                       <xsd:enumeration value="text/xml-external-parsed-entity"/>
                                       <xsd:enumeration value="multipart/mixed"/>
                                       <xsd:enumeration value="multipart/alternative"/>
                                       <xsd:enumeration value="multipart/digest"/>
                                       <xsd:enumeration value="multipart/parallel"/>
                                       <xsd:enumeration value="multipart/appledouble"/>
                                       <xsd:enumeration value="multipart/header-set"/>
                                       <xsd:enumeration value="multipart/form-data"/>
                                       <xsd:enumeration value="multipart/report"/>
                                       <xsd:enumeration value="multipart/voice-message"/>
                                       <xsd:enumeration value="multipart/signed"/>
                                       <xsd:enumeration value="multipart/encrypted"/>
                                       <xsd:enumeration value="multipart/byteranges"/>
                                       <xsd:enumeration value="application/eps"/>
                                       <xsd:enumeration value="application/epub+zip"/>
                                       <xsd:enumeration value="application/octet-stream"/>
                                       <xsd:enumeration value="application/postscript"/>
                                       <xsd:enumeration value="application/rtf"/>
                                       <xsd:enumeration value="application/applefile"/>
                                       <xsd:enumeration value="application/mac-binhex40"/>
                                       <xsd:enumeration value="application/wordperfect5.1"/>
                                       <xsd:enumeration value="application/pdf"/>
                                       <xsd:enumeration value="application/x-gzip"/>
                                       <xsd:enumeration value="application/zip"/>
                                       <xsd:enumeration value="application/gzip"/>
                                       <xsd:enumeration value="application/macwriteii"/>
                                       <xsd:enumeration value="application/msword"/>
                                       <xsd:enumeration value="application/sgml"/>
                                       <xsd:enumeration value="application/cals-1840"/>
                                       <xsd:enumeration value="application/pgp-encrypted"/>
                                       <xsd:enumeration value="application/pgp-signature"/>
                                       <xsd:enumeration value="application/pgp-keys"/>
                                       <xsd:enumeration value="application/sgml-open-catalog"/>
                                       <xsd:enumeration value="application/rc"/>
                                       <xsd:enumeration value="application/xml"/>
                                       <xsd:enumeration value="application/xml-external-parsed-entity"/>
                                       <xsd:enumeration value="application/xml-dtd"/>
                                       <xsd:enumeration value="application/batch-SMTP"/>
                                       <xsd:enumeration value="application/ipp"/>
                                       <xsd:enumeration value="application/ocsp-request"/>
                                       <xsd:enumeration value="application/ocsp-response"/>
                                       <xsd:enumeration value="application/vnd.oasis.opendocument.text"/>
                                       <xsd:enumeration value="application/vnd.oasis.opendocument.presentation"/>
                                       <xsd:enumeration value="application/vnd.oasis.opendocument.spreadsheet"/>
                                       <xsd:enumeration value="application/vnd.ms-excel"/>
                                       <xsd:enumeration value="application/vnd.ms-powerpoint"/>
                                       <xsd:enumeration value="application/vnd.openxmlformats-officedocument.presentationml.presentation"/>
                                       <xsd:enumeration value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
                                       <xsd:enumeration value="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
                                       <xsd:enumeration value="application/epub+zip"/>
                                       <xsd:enumeration value="application/regex.clinical-trial-number"/>
                                       <xsd:enumeration value="image/fits"/>
                                       <xsd:enumeration value="image/jpeg"/>
                                       <xsd:enumeration value="image/gif"/>
                                       <xsd:enumeration value="image/ief"/>
                                       <xsd:enumeration value="image/g3fax"/>
                                       <xsd:enumeration value="image/tiff"/>
                                       <xsd:enumeration value="image/Graphics-Metafile"/>
                                       <xsd:enumeration value="image/png"/>
                                       <xsd:enumeration value="audio/basic"/>
                                       <xsd:enumeration value="audio/32kadpcm"/>
                                       <xsd:enumeration value="audio/mpeg"/>
                                       <xsd:enumeration value="audio/parityfec"/>
                                       <xsd:enumeration value="audio/MP4A-LATM"/>
                                       <xsd:enumeration value="audio/mpa-robust"/>
                                       <xsd:enumeration value="video/x-ms-wmv"/>
                                       <xsd:enumeration value="video/avi"/>
                                       <xsd:enumeration value="video/mpeg"/>
                                       <xsd:enumeration value="video/quicktime"/>
                                       <xsd:enumeration value="video/pointer"/>
                                       <xsd:enumeration value="video/parityfec"/>
                                       <xsd:enumeration value="video/MP4V-ES"/>
                                       <xsd:enumeration value="video/mp4"/>
                                       <xsd:enumeration value="chemical/x-alchemy"/>
                                       <xsd:enumeration value="chemical/x-cache-csf"/>
                                       <xsd:enumeration value="chemical/x-cactvs-binary"/>
                                       <xsd:enumeration value="chemical/x-cactvs-binary"/>
                                       <xsd:enumeration value="chemical/x-cactvs-binary"/>
                                       <xsd:enumeration value="chemical/x-cdx"/>
                                       <xsd:enumeration value="chemical/x-cerius"/>
                                       <xsd:enumeration value="chemical/x-chemdraw"/>
                                       <xsd:enumeration value="chemical/x-cif"/>
                                       <xsd:enumeration value="chemical/x-mmcif"/>
                                       <xsd:enumeration value="chemical/x-chem3d"/>
                                       <xsd:enumeration value="chemical/x-cmdf"/>
                                       <xsd:enumeration value="chemical/x-compass"/>
                                       <xsd:enumeration value="chemical/x-crossfire"/>
                                       <xsd:enumeration value="chemical/x-cml"/>
                                       <xsd:enumeration value="chemical/x-csml"/>
                                       <xsd:enumeration value="chemical/x-ctx"/>
                                       <xsd:enumeration value="chemical/x-cxf"/>
                                       <xsd:enumeration value="chemical/x-daylight-smiles"/>
                                       <xsd:enumeration value="chemical/x-embl-dl-nucleotide"/>
                                       <xsd:enumeration value="chemical/x-galactic-spc"/>
                                       <xsd:enumeration value="Data/spcvue.htm"/>
                                       <xsd:enumeration value="chemical/x-gamess-input"/>
                                       <xsd:enumeration value="chemical/x-gaussian-input"/>
                                       <xsd:enumeration value="chemical/x-gaussian-checkpoint"/>
                                       <xsd:enumeration value="chemical/x-gaussian-cube"/>
                                       <xsd:enumeration value="chemical/x-gcg8-sequence"/>
                                       <xsd:enumeration value="chemical/x-genbank"/>
                                       <xsd:enumeration value="chemical/x-isostar"/>
                                       <xsd:enumeration value="chemical/x-jcamp-dx"/>
                                       <xsd:enumeration value="chemical/x-kinemage"/>
                                       <xsd:enumeration value="chemical/x-macmolecule"/>
                                       <xsd:enumeration value="chemical/x-macromodel-input"/>
                                       <xsd:enumeration value="chemical/x-mdl-molfile"/>
                                       <xsd:enumeration value="chemical/x-mdl-rdfile"/>
                                       <xsd:enumeration value="chemical/x-mdl-rxnfile"/>
                                       <xsd:enumeration value="chemical/x-mdl-sdfile"/>
                                       <xsd:enumeration value="chemical/x-mdl-tgf"/>
                                       <xsd:enumeration value="chemical/x-mif"/>
                                       <xsd:enumeration value="chemical/x-mol2"/>
                                       <xsd:enumeration value="chemical/x-molconn-Z"/>
                                       <xsd:enumeration value="chemical/x-mopac-input"/>
                                       <xsd:enumeration value="chemical/x-mopac-graph"/>
                                       <xsd:enumeration value="chemical/x-ncbi-asn1"/>
                                       <xsd:enumeration value="chemical/x-ncbi-asn1-binary"/>
                                       <xsd:enumeration value="chemical/x-pdb"/>
                                       <xsd:enumeration value="chemical/x-swissprot"/>
                                       <xsd:enumeration value="chemical/x-vamas-iso14976"/>
                                       <xsd:enumeration value="chemical/x-vmd"/>
                                       <xsd:enumeration value="chemical/x-xtel"/>
                                       <xsd:enumeration value="chemical/x-xyz"/>
                                       <xsd:enumeration value="model/vrml"/>
                                       <xsd:enumeration value="audio/x-wav"/>
                                       <xsd:enumeration value="video/x-flv"/>
                               </xsd:restriction>
                       </xsd:simpleType>
               </xsd:attribute>
       </xsd:attributeGroup>

</xsd:schema>