Opintosuoritukset-tiedonsiirtoskeema. XML-skeema jonka avulla voidaan siirtää useita opintosuoritusten tietoja kerralla.
Versio 0.1
<?xml version="1.0" encoding="UTF-8"?> <xs:schema version="0.2" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:mace:funet.fi:virta/2012/09/11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:virta="urn:mace:funet.fi:virta/2012/09/11"> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"> <xs:annotation> <xs:documentation xml:lang="fi"> XML-nimiavaruus tarvitaan lähinnä xml:lang -attribuutin vuoksi, mutta käyttötarpeita saattaa tulla myöhemmin lisää. </xs:documentation> </xs:annotation> </xs:import> <xs:include schemaLocation="tyypit.xsd"> <xs:annotation> <xs:documentation xml:lang="fi"> Sisällytetään yleiset tyypit. </xs:documentation> </xs:annotation> </xs:include> <xs:include schemaLocation="koodistot.xsd"> <xs:annotation> <xs:documentation xml:lang="fi"> Sisällytetään koodistot. </xs:documentation> </xs:annotation> </xs:include> <xs:element name="Opintosuoritukset"> <xs:annotation> <xs:documentation xml:lang="fi"> Opintosuoritukset * Juurielementti kaikille opintosuorituksille </xs:documentation> <xs:documentation xml:lang="en"> Studies * Root element for all studies </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Opintosuoritus" type="virta:OpintosuoritusTyyppi" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <!-- TODO: attribuutteja/elementtejä? kk, pvm, komento, etc? --> <xs:attribute name="organisaatio" type="xs:string" use="required"> <xs:annotation> <xs:documentation xml:lang="fi"> Organisaatio. Viittaus lähettävään korkeakouluun. Oppilaitosrekisteri? http://tilastokeskus.fi/tup/oppilaitosrekisteri/index.html </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute ref="xml:lang" use="required"> <xs:annotation> <xs:documentation xml:lang="fi"> Kielimäärittely on pakollinen ja määrittelee kaikkien tekstielementtien oletuskielen. Tekstielementin kielen voi ylimääritellä paikallisen xml:lang -attribuutin avulla. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:complexType name="OpintosuoritusTyyppi"> <xs:annotation> <xs:documentation xml:lang="fi"> Opintosuoritus * Yksittäinen opintosuoritus </xs:documentation> <xs:documentation xml:lang="en"> Study * Single study </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Pvm" type="xs:date" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituspäivämäärä. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="Organisaatio" minOccurs="1" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituksen organisaatiotiedot. Eri rooleja: Myöntävä/hyväksyvä on pakollinen. Muut roolit, kuten järjestävä (liittyy suoritustapaan), ovat valinnaisia. </xs:documentation> </xs:annotation> <!-- TODO: toteuta myöntävä-rooli pakolliseksi? Kopioimalla? --> <xs:complexType> <xs:sequence> <xs:element name="Rooli" type="virta:OrganisaatioRooliTyyppi" minOccurs="1" maxOccurs="1"/> <xs:element name="Koodi" type="virta:OrganisaatioKoodiTyyppi" minOccurs="1" maxOccurs="1"/> <xs:element name="Osuus" type="virta:OsuusTyyppi" minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Nimi" type="virta:TekstiTyyppi" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituksen nimi. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="Tunniste" type="xs:string" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituksen nimeen vertautuva tunniste. </xs:documentation> </xs:annotation> </xs:element> <!-- TODO: toistuvuus ja jakautuminen pros. Osuus? --> <xs:element name="Sisaltyy" type="xs:string" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituksen sisältyminen toiseen suoritukseen. </xs:documentation> </xs:annotation> </xs:element> <!-- NB Voi olla 0, 1 tai 2 --> <xs:element name="Laajuus" type="virta:LaajuusTyyppi" minOccurs="0" maxOccurs="2"> <xs:annotation> <xs:documentation xml:lang="fi"> Laajuus. Sekä opintopiste (ects) että opintoviikko (cu) </xs:documentation> <xs:documentation xml:lang="en"> Credits. Both ECTS (op) and CU (ov). </xs:documentation> </xs:annotation> </xs:element> <!-- TODO: Hyväksilukemistiedot yhdeksi elementiksi --> <xs:element name="HyvaksiluettuPvm" type="xs:date" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituksen hyväksilukemisen päivämäärä. </xs:documentation> </xs:annotation> </xs:element> <!-- TODO: Organisaatioihin? --> <xs:element name="HyvaksiluettuLahde" type="xs:string" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suorituksen hyväksilukemisen lähde. </xs:documentation> </xs:annotation> </xs:element> <!-- TODO: attribuutti? --> <xs:element name="KorotettuID" type="xs:string" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation xml:lang="fi"> Suoritus on korotettu toisella suorituksella. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="Arvostelu" type="virta:ArvosteluasteikkoTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="Kieli" minOccurs="0" maxOccurs="1"> <!-- ei aikaa --> <xs:complexType> <xs:sequence> <xs:element name="Koodi" type="virta:KieliKoodiTyyppi" minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <!-- Koulutusala (koodisto) --> <!-- TODO: Koulutusalan versio? { Koulutusala2002, Opintoala2002, Koulutusala1995, Opintoala1995 } Osuus? --> <xs:element name="Koulutusala" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="Versio" type="virta:KoulutusalaVersioTyyppi" minOccurs="1" maxOccurs="1"/> <xs:element name="Koodi" type="virta:KoulutusalaKoodiTyyppi" minOccurs="1" maxOccurs="1"/> <xs:element name="Osuus" type="virta:OsuusTyyppi" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Lisatieto" type="virta:TekstiTyyppi" minOccurs="0" maxOccurs="1"/> <!-- TODO: --> <xs:element name="TKILaajuus" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/> <xs:element name="TKILaajuusHarjoittelu" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/> <xs:element name="TKILaajuusMuu" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/> <!-- TODO onko seuraavat attribuutteja vai elementtejä? --> <xs:element name="Opinnaytetyo" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="Patevyys" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="Harjoittelukoulu" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <!-- avoimen opintoja --> <xs:element name="AvoinOpinto" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <!-- Kansainvalista vaihtoa --> <xs:element name="KansainvalinenVaihto" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="YhtTyoSop" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="ErillisOikeus" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="ErillisOpettajaOikeus" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> <xs:element name="MaahanmuuttajaValmentava" type="virta:KyllaEiKytkinTyyppi" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="yksiloivaID" type="xs:string" use="required"/> <xs:attribute name="henkiloID" type="xs:string" use="required"/> <!-- TODO: attribuutteja/elementtejä? kk, pvm, komento, etc? --> <xs:attribute name="koulutusmoduuliID" type="xs:string" use="required"> <xs:annotation> <xs:documentation xml:lang="fi"> Koulutusmoduulin ID </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:schema>