<?xml version=“1.0” encoding=“UTF-8”?> <!–
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.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=“www.crossref.org/output/3.0” targetNamespace=“www.crossref.org/output/3.0”>
<!-- ================== Common attribute and elements ============ --> <xsd:simpleType name="qfield_t"> <xsd:restriction base="xsd:string"> <xsd:minLength value="0"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="xrefYear"> <xsd:restriction base="xsd:positiveInteger"> <xsd:maxInclusive value="2200"/> <xsd:minInclusive value="1400"/> <xsd:totalDigits value="4"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="xrefMonth"> <xsd:restriction base="xsd:positiveInteger"> <xsd:maxInclusive value="34"/> <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:restriction> </xsd:simpleType> <xsd:attributeGroup name="contributor.atts"> <xsd:attribute name="sequence" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="first"/> <xsd:enumeration value="additional"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="contributor_role" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="author"/> <xsd:enumeration value="editor"/> <xsd:enumeration value="chair"/> <xsd:enumeration value="translator"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <!-- The 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="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="datestamp" type="xsd:string" use="optional"/> </xsd:complexType> <xsd:simpleType name="url_t"> <xsd:restriction base="xsd:anyURI"/> </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:prime"/> <xsd:enumeration value="xref:url:crawled:google"/> <xsd:enumeration value="xref:url:crawled:msn"/> <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:element ref="doi_record" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> </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="isbn" type="isbn_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="mode" type="xsd:string"/> </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 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="ORCID" minOccurs="0"/> </xsd:sequence> <xsd:attributeGroup ref="contributor.atts"/> </xsd:complexType> </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="35"/> <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="35"/> <xsd:minLength value="1"/> </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> <!-- The suffix of an author name, e.g. junior or senior. --> <xsd:element name="suffix"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="10"/> <xsd:minLength value="1"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <!-- ============================================================================================ --> <!-- 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:maxLength value="200"/> <xsd:minLength value="6"/> <xsd:pattern value="[\p{L}\p{N}!/+\-_]+(\.[\p{L}\p{N}!/+\-_]+)*@[\p{L}\p{N}!/+\-_]+(\.[\p{L}_]+)+"/> </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"/> <xsd:element ref="publisher_result_name" minOccurs="0"/> <xsd:element ref="publisher_location" minOccurs="0"/> <xsd:element ref="email_address" 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="32"/> <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>
</xsd:schema>