Schema Name MobilitySchema.xsd
Target Namespace http://mobility.usos.edu.pl
Documentation XML Schema conventions: - all names use lower camel case, - data type names end with T, - group names end with G. Semantic notes: - "home" and "partner" adjectives are used from the point of view of a party which performs a specific message dispatch. Notes on standards: - xsd:date data type uses format conforming to ISO 8601:2004(E) (it is a subset). For reference see: http://www.w3.org/TR/xmlschema-2/#isoformats, - SCHAC (SCHema for ACademia) is an internationally developed standard for exchanging data among academic and research institutions. Latest version is available at: http://www.terena.org/activities/tf-emc2/docs/schac/schac-schema-IAD-1.4.0.pdf.
Complex Types academicPeriodSinceT
addressT
agreementIdT
cooperationConditionsT
courseDataT
courseInstanceT
employeePersonalCharacteristicsT
errorT
gradeT
internationalizedStringT
localAgreementIdT
organizationDataT
organizationTypeT
personalCharacteristicsT
studentPersonalCharacteristicsT
studyCreditsT
subjectAreaCodeT
Elements agreementData
agreementDataWithPersonalData
agreementId
arrivalDate
courseInstancesWithPersonalData
departureDate
error
getAgreementDataRequest
getAgreementDataResponse
getArrivalDateRequest
getArrivalDateResponse
getCourseDataRequest
getCourseDataResponse
getDepartureDateRequest
getDepartureDateResponse
getLearningAgreementRequest
getLearningAgreementResponse
getNominatedStudentsRequest
getNominatedStudentsResponse
getOrganizationDataRequest
getOrganizationDataResponse
getTranscriptOfRecordsRequest
getTranscriptOfRecordsResponse
gradesFromCoursesWithPersonalData
homeStudentId
nominatedStudentsWithPersonalData
organizationDataWithPersonalData
partnerStudentId
sendAgreementDataRequest
sendAgreementDataResponse
sendArrivalDateRequest
sendArrivalDateResponse
sendDepartureDateRequest
sendDepartureDateResponse
sendLearningAgreementRequest
sendLearningAgreementResponse
sendNominatedStudentsRequest
sendNominatedStudentsResponse
sendOrganizationDataRequest
sendOrganizationDataResponse
sendTranscriptOfRecordsRequest
sendTranscriptOfRecordsResponse
studentArrivalDate
studentDepartureDate
studentId
uniquePersonalData
validateNationalPersonalIdRequest
validateNationalPersonalIdResponse
Element Groups agreementAndCooperationConditionsContextG
agreementAndCooperationConditionsLimitedContextG
cooperationConditionsContextG
cooperationConditionsLimitedContextG
cooperationConditionsRedundantContextG
Simple Types academicPeriodT
academicYearT
contactHoursT
cooperationConditionsIdT
countryCodeOrIntT
countryCodeT
courseCodeT
domainT
emailT
genderT
languageCodeT
nameT
nationalPersonalIdT
nonNegativeFloatT
organizationalPersonalIdT
organizationIdT
personalPositionT
positiveInt
studyLevelT
XSD Schema Code
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://mobility.usos.edu.pl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" elementFormDefault="qualified" targetNamespace="http://mobility.usos.edu.pl" >
  <xsd:annotation>
    <xsd:documentation>XML Schema conventions: - all names use lower camel case, - data type names end with T, - group names end with G. Semantic notes: - &quot;home&quot; and &quot;partner&quot; adjectives are used from the point of view of a party which performs a specific message dispatch. Notes on standards: - xsd:date data type uses format conforming to ISO 8601:2004(E) (it is a subset). For reference see: http://www.w3.org/TR/xmlschema-2/#isoformats, - SCHAC (SCHema for ACademia) is an internationally developed standard for exchanging data among academic and research institutions. Latest version is available at: http://www.terena.org/activities/tf-emc2/docs/schac/schac-schema-IAD-1.4.0.pdf.</xsd:documentation>
  </xsd:annotation>
<!-- &lt;general types&gt; -->
  <xsd:simpleType name="countryCodeT">
    <xsd:annotation>
      <xsd:documentation>Unique code of the country in ISO 3166-1 alpha-2 format, e.g. &quot;PL&quot;, &quot;IT&quot;, &quot;GB&quot;. Full list available at http://www.iso.org/iso/english_country_names_and_code_elements.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[a-zA-Z]{2}"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="languageCodeT">
    <xsd:annotation>
      <xsd:documentation>Unique code of the language in ISO 639-1 format, e.g. &quot;pl&quot; is &quot;Polish&quot;, &quot;en&quot; in &quot;English&quot;, &quot;de&quot; is &quot;German&quot;.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[a-zA-Z]{2}"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="nameT">
    <xsd:annotation>
      <xsd:documentation>Name string, does not allow whitespace. For precise definition see: http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#nt-MultiCharEsc.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[\S]+"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="countryCodeOrIntT">
    <xsd:annotation>
      <xsd:documentation>Value of countryCodeT or string &quot;int&quot;. Used to qualify organization type values implemented by organizationTypeT.</xsd:documentation>
    </xsd:annotation>

    <xsd:union memberTypes="tns:countryCodeT">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="[iI][nN][tT]"/>
        </xsd:restriction>

      </xsd:simpleType>

    </xsd:union>

  </xsd:simpleType>

  <xsd:complexType name="internationalizedStringT">
    <xsd:annotation>
      <xsd:documentation>The same text in various languages.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence maxOccurs="unbounded">
      <xsd:element name="value">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="language" type="tns:languageCodeT" use="required"/>
            </xsd:extension>

          </xsd:simpleContent>

        </xsd:complexType>

      </xsd:element>

    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="domainT">
    <xsd:annotation>
      <xsd:documentation>Domain names conforming to RFC 1035 -- Domain names - implementation and specification. Used as a unique id for the organization, see tns:organizationIdT data type.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])?(\.[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])?)*"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="academicPeriodT">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Y">
        <xsd:annotation>
          <xsd:documentation>Full year</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="S1">
        <xsd:annotation>
          <xsd:documentation>Winter semester</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="S2">
        <xsd:annotation>
          <xsd:documentation>Summer semester</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="T1">
        <xsd:annotation>
          <xsd:documentation>First trimester</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="T2">
        <xsd:annotation>
          <xsd:documentation>Second trimester</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="T3">
        <xsd:annotation>
          <xsd:documentation>Third trimester</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="nonNegativeFloatT">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0.0"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="positiveInt">
    <xsd:restriction base="xsd:int">
      <xsd:minExclusive value="0"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:complexType name="academicPeriodSinceT">
    <xsd:sequence>
      <xsd:element name="academicYear" type="tns:academicYearT"/>
      <xsd:element name="academicPeriod" type="tns:academicPeriodT"/>
      <xsd:element name="duration" type="xsd:positiveInteger"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:complexType name="addressT">
    <xsd:sequence>
      <xsd:element name="street" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>The 'street' ('streetAddress' in X.500) attribute type contains site information from a postal address (i.e., the street name, place, avenue, and the house number).&quot;</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

      <xsd:element name="postalCode" type="xsd:string"/>
      <xsd:element name="localityName" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>The 'localityName' ('localityName' in X.500) attribute type contains names of a locality or place, such as a city, county, or other geographic region.</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

      <xsd:element name="countryName" type="tns:countryCodeT"/>
      <xsd:element minOccurs="0" name="stateOrProvinceName" type="xsd:string"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="emailT">
    <xsd:annotation>
      <xsd:documentation>An email address as specified in RFC 2798 (originally RFC 1274).</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="([0-9a-zA-Z]+[\-\._\+&amp;])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:complexType name="errorT">
    <xsd:annotation>
      <xsd:documentation>Used to carry information about a possible error of a web method invocation.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="code" type="xsd:int"/>
      <xsd:element name="message" type="xsd:string"/>
    </xsd:sequence>

  </xsd:complexType>
<!-- &lt;/general types&gt; --><!-- &lt;personal data related types&gt; -->
  <xsd:simpleType name="nationalPersonalIdT">
    <xsd:annotation>
      <xsd:documentation>Unique identifier of a person. Based on SCHAC's attribute schacPersonalUniqueID but does not use a prefix urn:mace:terena.org:schac:personalUniqueID and an id type information. Value consists of a country prefix (exactly as in tns:countryCodeT), a colon and an identification number. Examples: Finnish FIC: fi:260667-123F, Spanish NIF: es:31241312L, Swedish NIN: se:12345678, Polish PESEL: pl:77121201230.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[a-zA-Z]{2}:[\S]+"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="genderT">
    <xsd:annotation>
      <xsd:documentation>Human sex, conforms to ISO/IEC 5218:2004.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:int">
      <xsd:enumeration value="0">
        <xsd:annotation>
          <xsd:documentation>Not known</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="1">
        <xsd:annotation>
          <xsd:documentation>Male</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="2">
        <xsd:annotation>
          <xsd:documentation>Female</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="9">
        <xsd:annotation>
          <xsd:documentation>Not specified</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

    </xsd:restriction>

  </xsd:simpleType>

  <xsd:complexType name="personalCharacteristicsT">
    <xsd:sequence>
      <xsd:element minOccurs="0" name="nationalPersonalId" type="tns:nationalPersonalIdT"/>
      <xsd:element name="givenNames" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Given names</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

      <xsd:element name="surname1" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Conforms to SCHAC's attribute schacSn1.</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

      <xsd:element minOccurs="0" name="surname2" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Conforms to SCHAC's attribute schacSn2.</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

      <xsd:element minOccurs="0" name="displayName" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Suggested form of the titles, givenNames and surnames combined into a single string, to be used e.g. in printed documents.</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

      <xsd:element name="gender" type="tns:genderT"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="personalPositionT">
    <xsd:annotation>
      <xsd:documentation>Position within an organization. This is deliberately not based on SCHAC's attribute schacPersonalPosition which actually does not provide any values. Besides, this type is intended to be informative to humans; no processing is dependant upon it.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>

  <xsd:complexType name="employeePersonalCharacteristicsT">
    <xsd:complexContent mixed="false">
      <xsd:extension base="tns:personalCharacteristicsT">
        <xsd:sequence>
          <xsd:element name="employeeId" type="tns:organizationalPersonalIdT"/>
          <xsd:element minOccurs="0" name="personalTitle" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Free format string. Based on SCHAC (originally from RFC 1274), specifies a personal title or salutation for a person. Examples: &quot;Ms&quot;, &quot;Dr&quot;, &quot;Prof&quot;, &quot;Rev&quot;, &quot;Sr&quot;.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

          <xsd:element minOccurs="0" name="personalPosition" type="tns:personalPositionT"/>
          <xsd:element minOccurs="0" name="telephoneNumber" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>A telephone number , based on RFC 4519.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

          <xsd:element minOccurs="0" name="facsimileTelephoneNumber" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>A telephone number for facsimile terminal, based on RFC 4519.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

          <xsd:element minOccurs="0" name="mail" type="tns:emailT"/>
        </xsd:sequence>

      </xsd:extension>

    </xsd:complexContent>

  </xsd:complexType>

  <xsd:complexType name="studentPersonalCharacteristicsT">
    <xsd:complexContent mixed="false">
      <xsd:extension base="tns:personalCharacteristicsT">
        <xsd:sequence>
          <xsd:element name="studentId" type="tns:organizationalPersonalIdT"/>
          <xsd:element name="dateOfBirth" type="xsd:date">
            <xsd:annotation>
              <xsd:documentation>Based on SCHAC's attribute schacDateOfBirth but uses dashes to delimit consecutive parts of a date, which is in fact specified in  RFC 3339.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

          <xsd:element name="placeOfBirth" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Based on SCHAC's attribute schacPlaceOfBirth.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

          <xsd:element name="mail" type="tns:emailT"/>
          <xsd:element minOccurs="0" name="permanentAddress" type="tns:addressT"/>
          <xsd:element minOccurs="0" name="correspondenceAddress" type="tns:addressT"/>
          <xsd:element minOccurs="0" name="homePhone" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>A home telephone number associated with a person. Based on RFC 2798, values should follow the agreed format for international telephone numbers: i.e. +44 71 123 4567.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

          <xsd:element minOccurs="0" name="mobile" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>A mobile telephone number associated with a person. Based on RFC 2798, values should follow the agreed format for international telephone numbers: i.e. +44 71 123 4567.</xsd:documentation>
            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:extension>

    </xsd:complexContent>

  </xsd:complexType>
<!-- &lt;/personal data related types&gt; --><!-- &lt;organization related types&gt; -->
  <xsd:complexType name="organizationTypeT">
    <xsd:annotation>
      <xsd:documentation>Type of organization unit, e.g. university, department, faculty, institute, chair. Based closely on SCHAC's attribute schacHomeOrganizationType but has a prefix urn:mace:terena.org:schac:homeOrganizationType and a consecutive colon stripped off and is split through colons into a sequence. See http://www.terena.org/registry/terena.org/schac/homeOrganizationType/ for further reference.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="nationalNamespace" type="tns:countryCodeOrIntT"/>
      <xsd:element name="value" type="tns:nameT">
        <xsd:annotation>
          <xsd:documentation>Organization type is a string from a nationally controlled vocabulary, published through the URI identified at the TERENA URN registry at http://www.terena.org/registry/terena.org/schac/homeOrganizationType/. Examples: from &quot;EU&quot; namespace: higherEducationalInstitution, educationalInstitution, from &quot;INT&quot; namespace: NREN, universityHospital, NRENAffiliate, other. Official ISO FAQ item regarding &quot;EU&quot; (http://www.iso.org/iso/country_codes/iso_3166-faqs/iso_3166_faqs_specific.htm): What is the ISO 3166-1 code for the European Union? You can use EU for the name European Union. Please note that this is not an official ISO 3166-1 country code. The European Union is not a country but rather an organization. As such it is not eligible to be formally included in ISO 3166-1. Recognizing, however, that many users of ISO 3166-1 have a practical need to encode that name the ISO 3166/MA reserved the two-letter combination EU for the purpose of identifying the European Union within the framework of ISO 3166-1.</xsd:documentation>
        </xsd:annotation>

      </xsd:element>

    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="organizationIdT">
    <xsd:annotation>
      <xsd:documentation>Unique id for an organization as a domain name. Based on SCHAC's attribute schacHomeOrganization. Example: uw.edu.pl.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="tns:domainT"/>
  </xsd:simpleType>

  <xsd:simpleType name="organizationalPersonalIdT">
    <xsd:annotation>
      <xsd:documentation>Unique identifier of a person within an organization. Value consists of an organization prefix (see organizationIdT data type), a colon and an actual number. Example: uw.edu.pl:60225.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])?(\.[a-zA-Z]([a-zA-Z0-9\-]*[a-zA-Z0-9])?)*:[\S]+"/>
    </xsd:restriction>

  </xsd:simpleType>

  <xsd:complexType name="organizationDataT">
    <xsd:annotation>
      <xsd:documentation>Complete info about an organization.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="organizationId" type="tns:organizationIdT"/>
      <xsd:element minOccurs="0" name="organizationType" type="tns:organizationTypeT"/>
      <xsd:element name="name" type="tns:internationalizedStringT"/>
      <xsd:element name="address" type="tns:addressT"/>
      <xsd:element name="URL" type="xsd:anyURI"/>
      <xsd:element minOccurs="0" name="administrativeCoordinator" type="tns:organizationalPersonalIdT"/>
      <xsd:element minOccurs="0" name="institutionalCoordinator" type="tns:organizationalPersonalIdT"/>
    </xsd:sequence>

  </xsd:complexType>
<!-- &lt;/organization related types&gt; --><!-- &lt;course related types&gt; -->
  <xsd:complexType name="subjectAreaCodeT">
    <xsd:annotation>
      <xsd:documentation>Code of the study subject area within specific classification.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence maxOccurs="unbounded">
      <xsd:element name="value">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="classification" type="tns:nameT" use="required">
                <xsd:annotation>
                  <xsd:documentation>Name of classification. Expected values are: EU, ISCED97 (case insensitive). EU denotes Socrate/Erasmus coding (examples: &quot;11.3&quot; corresponds to Computer Science, &quot;15.1&quot; to Journalism), ISCED97 - UNESCO ISCED 97 standard (examples: &quot;48&quot; - Computing, &quot;32&quot; - Journalism and information).</xsd:documentation>
                </xsd:annotation>

              </xsd:attribute>

            </xsd:extension>

          </xsd:simpleContent>

        </xsd:complexType>

      </xsd:element>

    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="courseCodeT">
    <xsd:annotation>
      <xsd:documentation>Course code, unique in the course catalog of the institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="tns:nameT"/>
  </xsd:simpleType>

  <xsd:complexType name="studyCreditsT">
    <xsd:annotation>
      <xsd:documentation>Credits of a given type granted for completing the course.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence maxOccurs="unbounded">
      <xsd:element name="value">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="tns:nonNegativeFloatT">
              <xsd:attribute name="unit" type="tns:nameT" use="required">
                <xsd:annotation>
                  <xsd:documentation>Unit of credits, typical value is ECTS (case insensitive).</xsd:documentation>
                </xsd:annotation>

              </xsd:attribute>

            </xsd:extension>

          </xsd:simpleContent>

        </xsd:complexType>

      </xsd:element>

    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="contactHoursT">
    <xsd:annotation>
      <xsd:documentation>Total number of hours of the course (lectures, classes, labs), e.g. 30 or 45 or 7,5.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="tns:nonNegativeFloatT"/>
  </xsd:simpleType>

  <xsd:complexType name="courseDataT">
    <xsd:annotation>
      <xsd:documentation>Complete info about a course.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="code" type="tns:courseCodeT"/>
      <xsd:element name="name" type="tns:internationalizedStringT"/>
      <xsd:element name="description" type="tns:internationalizedStringT"/>
      <xsd:element minOccurs="0" name="language" type="tns:languageCodeT"/>
      <xsd:element minOccurs="0" name="courseURL" type="xsd:anyURI"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:complexType name="courseInstanceT">
    <xsd:annotation>
      <xsd:documentation>Course instance in a particular period, semester or academic year.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="code" type="tns:courseCodeT"/>
      <xsd:element name="studyCredits" type="tns:studyCreditsT">
        <xsd:key name="courseInstanceStudyCredits_uniqueUnit">
          <xsd:selector xpath="tns:value"/>
          <xsd:field xpath="@unit"/>
        </xsd:key>

      </xsd:element>

      <xsd:element name="contactHours" type="tns:contactHoursT"/>
      <xsd:element name="period" type="tns:academicPeriodSinceT"/>
      <xsd:element minOccurs="0" name="lecturerId" type="tns:organizationalPersonalIdT"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:complexType name="gradeT">
    <xsd:annotation>
      <xsd:documentation>Grade from a given grading scheme.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence maxOccurs="unbounded">
      <xsd:element name="value">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="gradingScheme" type="tns:nameT" use="required">
                <xsd:annotation>
                  <xsd:documentation>Name of a grading scheme. Typical values are: ECTS, local (case insensitive).</xsd:documentation>
                </xsd:annotation>

              </xsd:attribute>

            </xsd:extension>

          </xsd:simpleContent>

        </xsd:complexType>

      </xsd:element>

    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="studyLevelT">
    <xsd:restriction base="xsd:int">
      <xsd:enumeration value="1">
        <xsd:annotation>
          <xsd:documentation>Student</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="2">
        <xsd:annotation>
          <xsd:documentation>Master student</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="3">
        <xsd:annotation>
          <xsd:documentation>Ph.D. student</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

      <xsd:enumeration value="4">
        <xsd:annotation>
          <xsd:documentation>Any level</xsd:documentation>
        </xsd:annotation>

      </xsd:enumeration>

    </xsd:restriction>

  </xsd:simpleType>

  <xsd:simpleType name="academicYearT">
    <xsd:annotation>
      <xsd:documentation>Examples: &quot;2006&quot;, &quot;2007&quot;, &quot;2008&quot;.</xsd:documentation>
    </xsd:annotation>

    <xsd:restriction base="xsd:gYear"/>
  </xsd:simpleType>
<!-- &lt;/course related types&gt; --><!-- &lt;agreement related types&gt; -->
  <xsd:complexType name="localAgreementIdT">
    <xsd:sequence>
      <xsd:element name="organizationId" type="tns:organizationIdT"/>
      <xsd:element name="value" type="tns:nameT"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:complexType name="agreementIdT">
    <xsd:annotation>
      <xsd:documentation>Bilateral agreement is identified by agreement identifiers of both parties - organizations.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="homeId" type="tns:localAgreementIdT"/>
      <xsd:element minOccurs="0" name="partnerId" type="tns:localAgreementIdT"/>
    </xsd:sequence>

  </xsd:complexType>

  <xsd:simpleType name="cooperationConditionsIdT">
    <xsd:restriction base="tns:positiveInt"/>
  </xsd:simpleType>

  <xsd:complexType name="cooperationConditionsT">
    <xsd:annotation>
      <xsd:documentation>Conditions of cooperation within a specified subject area.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="cooperationConditionsId" type="tns:cooperationConditionsIdT"/>
      <xsd:element name="studyLevel" type="tns:studyLevelT"/>
      <xsd:element name="homeNumberOfPlaces" type="xsd:positiveInteger"/>
      <xsd:element name="homeNumberOfMonths" type="xsd:positiveInteger"/>
      <xsd:element name="partnerNumberOfPlaces" type="xsd:positiveInteger"/>
      <xsd:element name="partnerNumberOfMonths" type="xsd:positiveInteger"/>
      <xsd:element minOccurs="0" name="startDate" type="xsd:date"/>
      <xsd:element minOccurs="0" name="endDate" type="xsd:date"/>
    </xsd:sequence>

  </xsd:complexType>
<!-- &lt;/agreement related types&gt; --><!-- &lt;general auxiliary elements and element groups&gt; -->
  <xsd:group name="cooperationConditionsRedundantContextG">
    <xsd:annotation>
      <xsd:documentation>Cooperation conditions identifier with two redundant attributes.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="cooperationConditionsId" type="tns:cooperationConditionsIdT"/>
      <xsd:element name="subjectAreaCode" type="tns:subjectAreaCodeT">
        <xsd:key name="cooperationConditionsRedundantContextG_uniqueClassification">
          <xsd:selector xpath="tns:value"/>
          <xsd:field xpath="@classification"/>
        </xsd:key>

      </xsd:element>

      <xsd:element name="studyLevel" type="tns:studyLevelT"/>
    </xsd:sequence>

  </xsd:group>

  <xsd:group name="cooperationConditionsContextG">
    <xsd:annotation>
      <xsd:documentation>Cooperation conditions data for student nominations.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:group ref="tns:cooperationConditionsRedundantContextG"/>
      <xsd:element name="stayPeriod" type="tns:academicPeriodSinceT"/>
    </xsd:sequence>

  </xsd:group>

  <xsd:group name="cooperationConditionsLimitedContextG">
    <xsd:annotation>
      <xsd:documentation>Similar to cooperationConditionsContextG but it has less precise stay period definition. Used to build agreementAndCooperationConditionsLimitedContextG.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:group minOccurs="0" ref="tns:cooperationConditionsRedundantContextG"/>
      <xsd:element name="academicYear" type="tns:academicYearT"/>
    </xsd:sequence>

  </xsd:group>

  <xsd:element name="agreementId" type="tns:agreementIdT"/>
  <xsd:group name="agreementAndCooperationConditionsLimitedContextG">
    <xsd:annotation>
      <xsd:documentation>Complete context for get/sendNominatedStudents.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element ref="tns:agreementId"/>
      <xsd:group ref="tns:cooperationConditionsLimitedContextG"/>
    </xsd:sequence>

  </xsd:group>

  <xsd:group name="agreementAndCooperationConditionsContextG">
    <xsd:annotation>
      <xsd:documentation>Complete context for get/sendArrivalDate, get/sendDepartureDate, get/sendLearningAgreement, get/sendTranscriptOfRecords.</xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element ref="tns:agreementId"/>
      <xsd:group ref="tns:cooperationConditionsContextG"/>
    </xsd:sequence>

  </xsd:group>

  <xsd:element name="uniquePersonalData">
    <xsd:annotation>
      <xsd:documentation>List of employee or student personal data. Used as a dictionary for references in business data structures which reference such data.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="employee" type="tns:employeePersonalCharacteristicsT"/>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="student" type="tns:studentPersonalCharacteristicsT"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="studentId" type="tns:organizationalPersonalIdT"/>
  <xsd:element name="homeStudentId" type="tns:organizationalPersonalIdT"/>
  <xsd:element name="partnerStudentId" type="tns:organizationalPersonalIdT"/><!-- &lt;/general auxiliary elements and element groups&gt; --><!-- &lt;get/sendOrganizationData&gt; -->
  <xsd:element name="organizationDataWithPersonalData">
    <xsd:annotation>
      <xsd:documentation>Organization data with personal data dictionary, exchanged through get/sendOrganizationData.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:uniquePersonalData"/>
        <xsd:element name="organizationData" type="tns:organizationDataT"/>
      </xsd:sequence>

    </xsd:complexType>

    <xsd:key name="organizationDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:employee/tns:employeeId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:key name="organizationDataWithPersonalData_uniqueStudentsK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:student/tns:studentId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:keyref name="administrativeCoordinatorKR" refer="tns:organizationDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:organizationData/tns:administrativeCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

    <xsd:keyref name="institutionalCoordinatorKR" refer="tns:organizationDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:organizationData/tns:institutionalCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

  </xsd:element>

  <xsd:element name="sendOrganizationDataRequest">
    <xsd:annotation>
      <xsd:documentation>Send data about organization unit within home organization, like faculty inside university.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:organizationDataWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendOrganizationDataResponse"/>
  <xsd:element name="getOrganizationDataRequest">
    <xsd:annotation>
      <xsd:documentation>Ask partner about organization unit within partner organization, like faculty inside university.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="organizationId" type="tns:organizationIdT"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getOrganizationDataResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:organizationDataWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendOrganizationData&gt; --><!-- &lt;get/sendAgreementData&gt; -->
  <xsd:element name="agreementData">
    <xsd:complexType>
      <xsd:annotation>
        <xsd:documentation>Details of the agreement between both organizations.</xsd:documentation>
      </xsd:annotation>

      <xsd:sequence>
        <xsd:element minOccurs="0" name="homeAdministrativeCoordinator" type="tns:organizationalPersonalIdT"/>
        <xsd:element minOccurs="0" name="homeInstitutionalCoordinator" type="tns:organizationalPersonalIdT"/>
        <xsd:element minOccurs="0" name="partnerAdministrativeCoordinator" type="tns:organizationalPersonalIdT"/>
        <xsd:element minOccurs="0" name="partnerInstitutionalCoordinator" type="tns:organizationalPersonalIdT"/>
        <xsd:element name="startDate" type="xsd:date"/>
        <xsd:element minOccurs="0" name="endDate" type="xsd:date"/>
        <xsd:sequence maxOccurs="unbounded">
          <xsd:element name="subjectAreaAgreement">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="subjectAreaCode" type="tns:subjectAreaCodeT">
                  <xsd:key name="subjectAreaAgreement_uniqueClassification">
                    <xsd:selector xpath="tns:value"/>
                    <xsd:field xpath="@classification"/>
                  </xsd:key>

                </xsd:element>

                <xsd:element minOccurs="0" name="homeUnit" type="tns:organizationIdT"/>
                <xsd:element minOccurs="0" name="homeUnitCoordinator" type="tns:organizationalPersonalIdT"/>
                <xsd:element minOccurs="0" name="partnerUnit" type="tns:organizationIdT"/>
                <xsd:element minOccurs="0" name="partnerUnitCoordinator" type="tns:organizationalPersonalIdT"/>
                <xsd:sequence maxOccurs="unbounded">
                  <xsd:element name="cooperationConditions" type="tns:cooperationConditionsT"/>
                </xsd:sequence>

              </xsd:sequence>

            </xsd:complexType>

            <xsd:key name="conditionsStudyLevelK">
              <xsd:selector xpath="tns:cooperationConditions/tns:studyLevel"/>
              <xsd:field xpath="."/>
            </xsd:key>

          </xsd:element>

        </xsd:sequence>

      </xsd:sequence>

    </xsd:complexType>

    <xsd:key name="cooperationConditionsK">
      <xsd:selector xpath="tns:subjectAreaAgreement/tns:cooperationConditions/tns:cooperationConditionsId"/>
      <xsd:field xpath="."/>
    </xsd:key>

  </xsd:element>

  <xsd:element name="agreementDataWithPersonalData">
    <xsd:annotation>
      <xsd:documentation>Agreement data with personal data dictionary.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:uniquePersonalData"/>
        <xsd:element ref="tns:agreementData"/>
      </xsd:sequence>

    </xsd:complexType>

    <xsd:key name="agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:employee/tns:employeeId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:key name="agreementDataWithPersonalData_uniqueStudentsK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:student/tns:studentId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:keyref name="homeAdministrativeCoordinatorKR" refer="tns:agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:agreementData/tns:homeAdministrativeCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

    <xsd:keyref name="homeInstitutionalCoordinatorKR" refer="tns:agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:agreementData/tns:homeInstitutionalCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

    <xsd:keyref name="partnerAdministrativeCoordinatorKR" refer="tns:agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:agreementData/tns:partnerAdministrativeCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

    <xsd:keyref name="partnerInstitutionalCoordinatorKR" refer="tns:agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:agreementData/tns:partnerInstitutionalCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

    <xsd:keyref name="subjectAreaHomeUnitCoordinatorKR" refer="tns:agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:agreementData/tns:subjectAreaAgreement/tns:homeUnitCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

    <xsd:keyref name="subjectAreaPartnerUnitCoordinatorKR" refer="tns:agreementDataWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:agreementData/tns:subjectAreaAgreement/tns:partnerUnitCoordinator"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

  </xsd:element>

  <xsd:element name="sendAgreementDataRequest">
    <xsd:annotation>
      <xsd:documentation>Send agreement details to partner institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:agreementId"/>
        <xsd:element ref="tns:agreementDataWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendAgreementDataResponse"/>
  <xsd:element name="getAgreementDataRequest">
    <xsd:annotation>
      <xsd:documentation>Get agreement details from partner institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:agreementId"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getAgreementDataResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:agreementDataWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendAgreementData&gt; --><!-- &lt;get/sendNominatedStudents&gt; -->
  <xsd:element name="nominatedStudentsWithPersonalData">
    <xsd:annotation>
      <xsd:documentation>Nominated students with personal data dictionary.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:uniquePersonalData"/>
        <xsd:element maxOccurs="unbounded" name="nominations">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:group ref="tns:cooperationConditionsContextG"/>
              <xsd:element maxOccurs="unbounded" name="studentId" type="tns:organizationalPersonalIdT"/>
            </xsd:sequence>

          </xsd:complexType>

        </xsd:element>

      </xsd:sequence>

    </xsd:complexType>

    <xsd:key name="nominatedStudentsWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:employee/tns:employeeId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:key name="nominatedStudentsWithPersonalData_uniqueStudentsK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:student/tns:studentId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:key name="nominatedStudentsWithPersonalData_uniqueCooperationConditionsK">
      <xsd:selector xpath="tns:nominations/tns:cooperationConditionsId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:keyref name="studentStayPeriod_uniqueStudentsKR" refer="tns:nominatedStudentsWithPersonalData_uniqueStudentsK">
      <xsd:selector xpath="tns:nominations/tns:studentId"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

  </xsd:element>

  <xsd:element name="sendNominatedStudentsRequest">
    <xsd:annotation>
      <xsd:documentation>Send to partner institution data of nominated students data from home institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsLimitedContextG"/>
        <xsd:element ref="tns:nominatedStudentsWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendNominatedStudentsResponse"/>
  <xsd:element name="getNominatedStudentsRequest">
    <xsd:annotation>
      <xsd:documentation>Get from partner institution list students nominated for study at home institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsLimitedContextG"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getNominatedStudentsResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:nominatedStudentsWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendNominatedStudents&gt; --><!-- &lt;get/sendArrivalDate&gt; -->
  <xsd:element name="arrivalDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation>Date of arrival to home institution.</xsd:documentation>
    </xsd:annotation>

  </xsd:element>

  <xsd:element name="studentArrivalDate">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:studentId"/>
        <xsd:element ref="tns:arrivalDate"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendArrivalDateRequest">
    <xsd:annotation>
      <xsd:documentation>Send to partner institution date of arrival to home (host) institution of the student from partner institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element maxOccurs="unbounded" ref="tns:studentArrivalDate"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendArrivalDateResponse"/>
  <xsd:element name="getArrivalDateRequest">
    <xsd:annotation>
      <xsd:documentation>Ask the partner (host) institution about date of arrival to partner institution of the student(s) from home institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element maxOccurs="unbounded" ref="tns:homeStudentId"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getArrivalDateResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" ref="tns:studentArrivalDate"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendArrivalDate&gt; --><!-- &lt;get/sendDepartureDate&gt; -->
  <xsd:element name="departureDate" type="xsd:date">
    <xsd:annotation>
      <xsd:documentation>Date of departure from home institution.</xsd:documentation>
    </xsd:annotation>

  </xsd:element>

  <xsd:element name="studentDepartureDate">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:studentId"/>
        <xsd:element ref="tns:departureDate"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendDepartureDateRequest">
    <xsd:annotation>
      <xsd:documentation>Send to partner institution date of departure of its student from home (host) institution</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element maxOccurs="unbounded" ref="tns:studentDepartureDate"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendDepartureDateResponse"/>
  <xsd:element name="getDepartureDateRequest">
    <xsd:annotation>
      <xsd:documentation>Ask the partner (host) institution about date of departure of the student from home institution.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element maxOccurs="unbounded" ref="tns:homeStudentId"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getDepartureDateResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" ref="tns:studentDepartureDate"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendDepartureDate&gt; --><!-- &lt;getCourseData&gt; -->
  <xsd:element name="getCourseDataRequest">
    <xsd:annotation>
      <xsd:documentation>Ask the course data from the partner institution. Course belongs to partner's institution course catalog.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" name="partnerCourseCode" type="tns:courseCodeT"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getCourseDataResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" name="courseData" type="tns:courseDataT"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/getCourseData&gt; --><!-- &lt;get/sendLearningAgreement&gt; -->
  <xsd:element name="courseInstancesWithPersonalData">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:uniquePersonalData"/>
        <xsd:element maxOccurs="unbounded" name="courseInstance" type="tns:courseInstanceT">
          <xsd:annotation>
            <xsd:documentation>Courses from partner's catalog.</xsd:documentation>
          </xsd:annotation>

          <xsd:key name="courseInstancesWithPersonalData_uniqueStudyCreditsUnitK">
            <xsd:selector xpath="tns:studyCredits/tns:value"/>
            <xsd:field xpath="@unit"/>
          </xsd:key>

        </xsd:element>

      </xsd:sequence>

    </xsd:complexType>

    <xsd:key name="courseInstancesWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:employee/tns:employeeId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:key name="courseInstancesWithPersonalData_uniqueStudentsK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:student/tns:studentId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:keyref name="courseInstancesWithPersonalData_lecturerKR" refer="tns:courseInstancesWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:courseInstance/tns:lecturerId"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

  </xsd:element>

  <xsd:element name="sendLearningAgreementRequest">
    <xsd:annotation>
      <xsd:documentation>Send to partner (host) institution list of LAs of nominated students from home institution. List contains courses from the partner's course catalog.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element ref="tns:homeStudentId"/>
        <xsd:element ref="tns:courseInstancesWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendLearningAgreementResponse"/>
  <xsd:element name="getLearningAgreementRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element ref="tns:partnerStudentId"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getLearningAgreementResponse">
    <xsd:annotation>
      <xsd:documentation>Get from partner institution list of LAs of nominated students from partner institution. List contains courses from the home (host) course catalog.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:courseInstancesWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendLearningAgreement&gt; --><!-- &lt;get/sendTranscriptOfRecords&gt; -->
  <xsd:element name="gradesFromCoursesWithPersonalData">
    <xsd:annotation>
      <xsd:documentation>Grades from courses with personal data dictionary.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:uniquePersonalData"/>
        <xsd:element maxOccurs="unbounded" name="gradeFromCourse">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="courseInstance" type="tns:courseInstanceT"/>
              <xsd:element minOccurs="0" name="grade" type="tns:gradeT">
                <xsd:key name="gradesFromCoursesWithPersonalData_uniqueGradingScheme">
                  <xsd:selector xpath="tns:value"/>
                  <xsd:field xpath="@gradingScheme"/>
                </xsd:key>

              </xsd:element>

            </xsd:sequence>

          </xsd:complexType>

        </xsd:element>

      </xsd:sequence>

    </xsd:complexType>

    <xsd:key name="gradesFromCoursesWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:employee/tns:employeeId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:key name="gradesFromCoursesWithPersonalData_uniqueStudentsK">
      <xsd:selector xpath="tns:uniquePersonalData/tns:student/tns:studentId"/>
      <xsd:field xpath="."/>
    </xsd:key>

    <xsd:keyref name="gradesFromCoursesWithPersonalData_lecturerKR" refer="tns:gradesFromCoursesWithPersonalData_uniqueEmployeesK">
      <xsd:selector xpath="tns:gradeFromCourse/tns:courseInstance/tns:lecturerId"/>
      <xsd:field xpath="."/>
    </xsd:keyref>

  </xsd:element>

  <xsd:element name="sendTranscriptOfRecordsRequest">
    <xsd:annotation>
      <xsd:documentation>Send to partner institution list of ToRs of students from partner institution. List contains grades for courses from the home (host) course catalog.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element ref="tns:partnerStudentId"/>
        <xsd:element ref="tns:gradesFromCoursesWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="sendTranscriptOfRecordsResponse"/>
  <xsd:element name="getTranscriptOfRecordsRequest">
    <xsd:annotation>
      <xsd:documentation>Get from partner (host) institution list of ToRs of students from home institution. List contains grades from the partner (host) course catalog.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:group ref="tns:agreementAndCooperationConditionsContextG"/>
        <xsd:element ref="tns:homeStudentId"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="getTranscriptOfRecordsResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="tns:gradesFromCoursesWithPersonalData"/>
      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/get/sendTranscriptOfRecords&gt; --><!-- &lt;validateNationalPersonalId&gt; -->
  <xsd:element name="validateNationalPersonalIdRequest">
    <xsd:annotation>
      <xsd:documentation>Validate national personal identifier.</xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="nationalPersonalId" type="tns:nationalPersonalIdT"/>
        <xsd:element minOccurs="0" name="additionalValidationData">
          <xsd:annotation>
            <xsd:documentation>Additional data needed to validate national identification number, e.g. Polish PESEL needs to be validated against date of birth and gender.</xsd:documentation>
          </xsd:annotation>

          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" name="parameter">
                <xsd:complexType>
                  <xsd:simpleContent>
                    <xsd:extension base="xsd:string">
                      <xsd:attribute name="name" type="tns:nameT" use="required"/>
                    </xsd:extension>

                  </xsd:simpleContent>

                </xsd:complexType>

              </xsd:element>

            </xsd:sequence>

          </xsd:complexType>

        </xsd:element>

      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="validateNationalPersonalIdResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="result">
          <xsd:simpleType>
            <xsd:restriction base="xsd:int">
              <xsd:enumeration value="0">
                <xsd:annotation>
                  <xsd:documentation>OK</xsd:documentation>
                </xsd:annotation>

              </xsd:enumeration>

              <xsd:enumeration value="1">
                <xsd:annotation>
                  <xsd:documentation>Invalid</xsd:documentation>
                </xsd:annotation>

              </xsd:enumeration>

              <xsd:enumeration value="2">
                <xsd:annotation>
                  <xsd:documentation>Bad request</xsd:documentation>
                </xsd:annotation>

              </xsd:enumeration>

              <xsd:enumeration value="3">
                <xsd:annotation>
                  <xsd:documentation>Id type not supported</xsd:documentation>
                </xsd:annotation>

              </xsd:enumeration>

            </xsd:restriction>

          </xsd:simpleType>

        </xsd:element>

      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>
<!-- &lt;/validateNationalPersonalId&gt; -->
  <xsd:element name="error" type="tns:errorT"/>
</xsd:schema>
Generated using Liquid XML Studio - FREE Community Edition 7.1.4.1284 - Featuring XSD to C# Code Generation