Skip to content

Commit

Permalink
Require recommended language skills for student studies and staff tea…
Browse files Browse the repository at this point in the history
…ching

Also added not-yet-defined attribute.
  • Loading branch information
mkurzydlowski committed Aug 1, 2023
1 parent 321c5af commit 326ff0d
Showing 1 changed file with 129 additions and 96 deletions.
225 changes: 129 additions & 96 deletions endpoints/get-response.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,14 @@
EWP IIAs API. It is likely to be modified, or to be removed, in the future.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="MobilityMain"/>
<xs:element ref="recommended-language-skill" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="MobilityAdditional"/>
</xs:sequence>
</xs:complexType>

<xs:group name="MobilityMain">
<xs:sequence>
<xs:element name="sending-hei-id" type="xs:string" minOccurs="1" maxOccurs="1">
<xs:annotation>
Expand Down Expand Up @@ -431,46 +439,53 @@
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="recommended-language-skill" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
A list of recommended language skills the student (or staff member) should
have at the start of the mobility period.
</xs:sequence>
</xs:group>

This element can currently be attached to all subclasses of
MobilitySpecification. Since it has almost the same meaning regardless of where
it is attached, we define it here (in the base class) for now. This MAY change
in future versions though.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="language" type="xs:language" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The code of the language which the student (or staff member) is recommended to be
familiar with.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cefr-level" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Optional CEFR level code - the recommended minimum level of language skill the
student (or staff member) should have.
https://en.wikipedia.org/wiki/Common_European_Framework_of_Reference_for_Languages
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[ABC][12]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="subject-area" type="SubjectArea" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="recommended-language-skill">
<xs:annotation>
<xs:documentation>
A list of recommended language skills the student (or staff member) should
have at the start of the mobility period.

This element can currently be attached to all subclasses of
MobilitySpecification. Since it has almost the same meaning regardless of where
it is attached, we define it here (in the base class) for now. This MAY change
in future versions though.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="language" type="xs:language" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The code of the language which the student (or staff member) is recommended to be
familiar with.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cefr-level" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Optional CEFR level code - the recommended minimum level of language skill the
student (or staff member) should have.
https://en.wikipedia.org/wiki/Common_European_Framework_of_Reference_for_Languages
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[ABC][12]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="subject-area" type="SubjectArea" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute ref="not-yet-defined" use="optional"/>
</xs:complexType>
</xs:element>

<xs:group name="MobilityAdditional">
<xs:sequence>
<xs:element name="subject-area" type="SubjectArea" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Expand All @@ -491,7 +506,7 @@
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:group>

<xs:complexType name="SubjectArea">
<xs:sequence>
Expand Down Expand Up @@ -564,48 +579,54 @@
<xs:complexContent>
<xs:extension base="MobilitySpecification">
<xs:sequence>
<xs:element name="total-months-per-year" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Total number of mobility months per academic year.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="blended" type="xs:boolean" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Blended mobility option for students. By sending 'true', the partners
confirm that they are willing to exchange students who wish to carry out their mobility
in a blended format, a combination of a short-term physical mobility with a virtual
component.

Note: This field SHOULD be set to 'false' for all agreements created before the
introduction of blended mobilities.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="eqf-level" type="ewp:EqfLevel" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
A list of allowed study levels of the students being sent.

Note: If at least one EQF level is provided here and student's level
is not one of these levels, then such student SHOULD NOT be able to apply
for mobility specified by these cooperation conditions.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:group ref="StudentMobilityExtension"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:group name="StudentMobilityExtension">
<xs:sequence>
<xs:element name="total-months-per-year" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Total number of mobility months per academic year.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="blended" type="xs:boolean" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Blended mobility option for students. By sending 'true', the partners
confirm that they are willing to exchange students who wish to carry out their mobility
in a blended format, a combination of a short-term physical mobility with a virtual
component.

Note: This field SHOULD be set to 'false' for all agreements created before the
introduction of blended mobilities.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="eqf-level" type="ewp:EqfLevel" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
A list of allowed study levels of the students being sent.

Note: If at least one EQF level is provided here and student's level
is not one of these levels, then such student SHOULD NOT be able to apply
for mobility specified by these cooperation conditions.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:group>

<xs:complexType name="StaffMobilitySpecification" abstract="true">
<xs:annotation>
<xs:documentation>
Expand All @@ -615,24 +636,30 @@
<xs:complexContent>
<xs:extension base="MobilitySpecification">
<xs:sequence>
<xs:element name="total-days-per-year" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Total number of mobility days per academic year.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:group ref="StaffMobilityExtension"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:group name="StaffMobilityExtension">
<xs:sequence>
<xs:element name="total-days-per-year" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
Total number of mobility days per academic year.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:group>

<xs:element name="student-studies-mobility-spec">
<xs:annotation>
<xs:documentation>
Expand All @@ -641,11 +668,14 @@
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="StudentMobilitySpecification">
<xs:restriction base="StudentMobilitySpecification">
<xs:sequence>
<!-- Currently, there are no extra fields for this subclass. -->
<xs:group ref="MobilityMain"/>
<xs:element ref="recommended-language-skill" minOccurs="1" maxOccurs="unbounded"/>
<xs:group ref="MobilityAdditional"/>
<xs:group ref="StudentMobilityExtension"/>
</xs:sequence>
</xs:extension>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
Expand Down Expand Up @@ -675,11 +705,14 @@
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="StaffMobilitySpecification">
<xs:restriction base="StaffMobilitySpecification">
<xs:sequence>
<!-- Currently, there are no extra fields for this subclass. -->
<xs:group ref="MobilityMain"/>
<xs:element ref="recommended-language-skill" minOccurs="1" maxOccurs="unbounded"/>
<xs:group ref="MobilityAdditional"/>
<xs:group ref="StaffMobilityExtension"/>
</xs:sequence>
</xs:extension>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
Expand Down

0 comments on commit 326ff0d

Please sign in to comment.