<xsd:element name="crossmark"><xsd:complexType><xsd:sequence minOccurs="0"><xsd:element ref="crossmark_version" minOccurs="0"/><xsd:element ref="crossmark_policy"/><!--Required element. A DOI which points to a publisher's CrossMark policy document. Publishers might have different policies for different publications.<--><xsd:element ref="crossmark_domains"/><!--A list of domains where the publisher maintains updates and corrections to their content. Minimally, one of these should include the Internet domain name of the publisher's web site(s), but the publisher might also decide to include 3rd party aggregators (e.g. Ebsco, IngentaConnect) or archives with which the publisher has agreements to update the content.--><xsd:element ref="crossmark_domain_exclusive"/><!--Required element. Some publishers encourage broad third party hosting of the publisher's content. Other publishers do not. And still others vary their policy depending on whether a particular article has been published under an OA policy or not. This boolean flag allows the publisher to indicate whether the CrossMarked content will only legitimately be updated on the CrossMark domain (true) or whether the publisher encourages updating the content on other sites as well (false). --><xsd:sequence minOccurs="0"><xsd:element ref="updates" minOccurs="0"/><!--Optional element. A document might provide updates (e.g. corrections, clarifications, retractions) to several other documents. When this is the case, the DOIs of the documents that are being *updated* should be listed here.--><xsd:element ref="custom_metadata" minOccurs="0"/><!--Optional element. Publishers are encouraged to provided any non-bibliographical metadata that they feel might help the researcher evaluate and make better use of the content that the Crossmark record refers to. For example, publishers might want to provide funding information, clinical trial numbers, information about the peer-review process or a summary of the publication history of the document.--></xsd:sequence></xsd:sequence></xsd:complexType></xsd:element>
<xsd:element name="crossmark_domains"><xsd:complexType><xsd:sequence><xsd:element maxOccurs="unbounded" ref="crossmark_domain"/><!--A "crossmark_domain" is made up of two subelements; a "domain" and a "filter". The domain is required but the filter is optional and is only needed for use in situations where content from multiple publishers/publications is on the same host with the same domain name (e.g. an aggregator) and one needs to use the referrer's URI "path" to further determine whether the content in a crossmark domain.--></xsd:sequence></xsd:complexType></xsd:element>
<xsd:element name="crossmark_domain"><xsd:complexType><xsd:sequence><xsd:element ref="domain"/><!--Required element. This should be a simple Internet domain name or subdomain name (e.g. www.psychoceramics.org or psychoceramics.org). It is used to identify when a referring URL is coming from a CrossMark domain.--><xsd:element minOccurs="0" ref="filter"/><!--Optional element. The filter element is used to disambiguate content in situations where multiple publishers share the same host (e.g. when on an aggregated platform). It should contain a substring of the path that can be used to uniquely identify a publisher's or publication's content. For instance, using the string "alpsp" here would help the CrossMark system distinguish between ALPSP publications on the ingentaconnect host and other publications on the same host.--></xsd:sequence></xsd:complexType></xsd:element>
<xsd:element name="updates"><xsd:complexType><xsd:sequence><xsd:element maxOccurs="unbounded" ref="update"/><!--The DOI of the content being updated (e.g. corrected, retracted, etc.)--></xsd:sequence></xsd:complexType></xsd:element>
<xsd:element name="update"><xsd:complexType mixed="true"><xsd:simpleContent><xsd:extension base="doi_t"><xsd:attribute name="label" use="required" type="cm_update_label"/><!--Required attribute. This should be a human-readable version of the "type" attribute. This is what gets displayed in the CrossMark dialog when there is an update.--><xsd:attribute name="type" use="required" type="cm_update_type"/><!--Required attribute. There are many "types" of "updates". "Corrections, "clarifications", "retractions" and "withdrawals" are just a few of the better-known types. However, different publishers sometimes have to support different, custom update types- for instance, "protocol amendments", "letters of concern", etc. This attribute should be used to give the machine-readable name of the type. The human-readable version of the type should be but in the "label" attribute."--><xsd:attribute name="date" use="required" type="xsd:date"/><!--Required attribute. The date of the update will be displayed in the CrossMark dialog and can help the researcher easily tell whther they are likley to have seen the update.--></xsd:extension></xsd:simpleContent></xsd:complexType></xsd:element>
<xsd:element name="custom_metadata"><xsd:complexType><xsd:sequence><xsd:element maxOccurs="unbounded" ref="assertion"/><!--An assertion is a piece of custom, non-bibliographic metadata that the publisher is asserting about the content to which the CrossMark refers.--></xsd:sequence></xsd:complexType></xsd:element>
<xsd:element name="assertion"><xsd:complexType mixed="true"><xsd:choice minOccurs="0" maxOccurs="unbounded"><xsd:group ref="face_markup"/></xsd:choice><xsd:attribute name="explanation" type="xsd:anyURI"/><!--Optional attribute. If the publisher wants to provide a further explanation of what the particular "assertion" means, they can link to such an explanation by providing an appropriate url on the "explanation" attribute.--><xsd:attribute name="group_label" type="cm_assertion_group_label"/><!--Optional attribute. This is the human-readable form of the "group_name" attribute. This is what will be displayed in the group headings on the CrossMark metadata record dialog.--><xsd:attribute name="group_name" type="cm_assertion_group_name"/><!--Optional attribute. Some assertions could be logically "grouped" together in the CrossMark dialog. For instance, if the publisher is recording several pieces of metadata related to funding sources (source name, percentage, grant number), they may want to make sure that these three assertions are grouped next to each-other in the CrossMark dialog. The group_name attribute is the machine-readable value that will be used for grouping such assertions.--><xsd:attribute name="label" type="cm_assertion_label"/><!--Optional attribute. This is the human-readable version of the name attribute which will be displayed in the CrossMark dialog. If this attribute is missing, then the value of the assertion will *not* be displayed in the dialog. Publishers may want to "hide" assertions this way in cases where the assertion value is too large or too complex to display in the dialog, but where the assertion is nonetheless valuable enough to include in API queries and metadata dumps (e.g. detailed licensing terms)--><xsd:attribute name="name" use="required" type="cm_assertion_name"/><!--Required attribute. This is the machine-readable name of the assertion. Use the "label" attribute to provide a human-readable version of the name.--><xsd:attribute name="order" type="xsd:integer"/><!--Optional attribute. The publisher may want to control the order in which assertions are displayed to the user in the CrossMark dialog. All assertions will be sorted by this element if it is present.--><xsd:attribute name="href" type="xsd:anyURI"/><!--Optional attribute--></xsd:complexType></xsd:element>