datacite/orcid_client

View on GitHub
resources/record_3.0/activities-3.0.xsd

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:sch="http://purl.oclc.org/dsdl/schematron" elementFormDefault="qualified"
    targetNamespace="http://www.orcid.org/ns/activities" 
    xmlns:activities="http://www.orcid.org/ns/activities"
    xmlns:common="http://www.orcid.org/ns/common" 
    xmlns:work="http://www.orcid.org/ns/work"
    xmlns:funding="http://www.orcid.org/ns/funding" 
    xmlns:distinction="http://www.orcid.org/ns/distinction"
    xmlns:education="http://www.orcid.org/ns/education"
    xmlns:employment="http://www.orcid.org/ns/employment"
    xmlns:invited-position="http://www.orcid.org/ns/invited-position"
    xmlns:membership="http://www.orcid.org/ns/membership"
    xmlns:peer-review="http://www.orcid.org/ns/peer-review"
    xmlns:qualification="http://www.orcid.org/ns/qualification"
    xmlns:service="http://www.orcid.org/ns/service"
    xmlns:research-resource="http://www.orcid.org/ns/research-resource">
    <xs:annotation>
        <xs:documentation>
            =============================================================================

            ORCID (R) Open Source
            http://orcid.org

            Copyright (c) 2012-2018 ORCID,
            Inc.
            Licensed under an MIT-Style License (MIT)
            http://orcid.org/open-source-license

            This copyright and license
            information (including a link to the full
            license)
            shall be included in
            its entirety in all copies or substantial portion of
            the software.

            =============================================================================
            The schema describes the message format used for ORCID API requests
            and responses.
            The top level element is orcid-message.
        </xs:documentation>
        <xs:appinfo>
            <sch:title>Schematron validation</sch:title>
            <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
        </xs:appinfo>
    </xs:annotation>
 
    <xs:import namespace="http://www.orcid.org/ns/common"
        schemaLocation="../common_3.0/common-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/employment"
        schemaLocation="employment-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/education"
        schemaLocation="education-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/funding"
        schemaLocation="funding-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/work"
        schemaLocation="work-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/peer-review"
        schemaLocation="peer-review-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/distinction"
        schemaLocation="distinction-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/invited-position"
        schemaLocation="invited-position-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/membership"
        schemaLocation="membership-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/qualification"
        schemaLocation="qualification-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/service"
        schemaLocation="service-3.0.xsd" />
    <xs:import namespace="http://www.orcid.org/ns/research-resource"
        schemaLocation="research-resource-3.0.xsd" />
    
    <xs:element name="activities-summary">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
                                
                <xs:element name="distinctions" type="activities:distinctions" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of distinctions associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>
                
                <xs:element name="educations" type="activities:educations" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of educations associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>
                                                
                <xs:element name="employments" type="activities:employments" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of employments associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                    
                </xs:element>
                                                                                
                <xs:element name="fundings" type="activities:fundings" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the funding received by the
                            researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                    
                </xs:element>
                
                <xs:element name="invited-positions" type="activities:invited-positions" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of invited-positions associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>
                
                <xs:element name="memberships" type="activities:memberships" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of memberships associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>
                
                <xs:element name="peer-reviews" type="activities:peer-reviews" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the funding received by the
                            researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                    
                </xs:element>
                
                <xs:element name="qualifications" type="activities:qualifications" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of qualifications associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>
                
                <xs:element name="research-resources" type="activities:research-resources" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of research resources associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>
                
                <xs:element name="services" type="activities:services" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the list of services associated
                            with the researcher or contributor
                        </xs:documentation>
                    </xs:annotation>                                        
                </xs:element>                        
                
                <xs:element name="works" type="activities:works" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Container for the research outputs of the
                            researcher
                            or contributor.
                        </xs:documentation>
                    </xs:annotation>                    
                </xs:element>
            </xs:sequence>
            <xs:attribute name="path" type="common:element-path" use="optional" />
        </xs:complexType>        
    </xs:element>

    <xs:complexType name="research-resource-group">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element ref="common:external-ids"></xs:element>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0"
                    ref="research-resource:research-resource-summary" />
            </xs:sequence>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="research-resources">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0" name="group" type="activities:research-resource-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="research-resources">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:research-resources" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="distinctions">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="distinctions">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:distinctions" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="educations">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="educations">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:educations" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="employments">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="employments"> 
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:employments" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>    

    <xs:complexType name="invited-positions">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="invited-positions">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:invited-positions" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="funding-group">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element ref="common:external-ids"></xs:element>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0"
                    ref="funding:funding-summary" />
            </xs:sequence>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="fundings">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
                type="activities:funding-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="fundings">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:fundings" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="memberships">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="memberships">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:memberships" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="peer-review-duplicates">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element ref="common:external-ids"></xs:element>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0"
                    ref="peer-review:peer-review-summary" />
            </xs:sequence>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="peer-review-group">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element ref="common:external-ids"></xs:element>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="peer-review-group"
                    type="activities:peer-review-duplicates" />
            </xs:sequence>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="peer-reviews">        
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
                <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
                    type="activities:peer-review-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="peer-reviews">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:peer-reviews" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="qualifications">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="qualifications">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:qualifications" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="services">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0"
                ref="activities:affiliation-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>

    <xs:element name="services">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:services" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="affiliation-group">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element ref="common:external-ids"></xs:element>
            <xs:choice>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="distinction:distinction-summary" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="invited-position:invited-position-summary" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="education:education-summary" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="employment:employment-summary" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="membership:membership-summary" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="qualification:qualification-summary" />
                </xs:sequence>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0"
                        ref="service:service-summary" />
                </xs:sequence>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    
    <xs:element name="affiliation-group">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:affiliation-group" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    <xs:complexType name="work-group">
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element ref="common:external-ids"></xs:element>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0"
                    ref="work:work-summary" />
            </xs:sequence>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="works">        
        <xs:sequence>
            <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
            <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
                type="activities:work-group" />
        </xs:sequence>
        <xs:attribute name="path" type="common:element-path" use="optional" />
    </xs:complexType>
    
    <xs:element name="works">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="activities:works" />
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
</xs:schema>