Tiedonsiirtoskeemoihin liittyvä yleinen tyypit-skeema.
Skeema GitHubissa https://github.com/CSCfi/VIRTA-Opintotietopalvelu/blob/master/XML-skeemat/tyypit.xsd

Versio 1.06.2

tyypit.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.06.2"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="urn:mace:funet.fi:virta/2015/09/01"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:virta="urn:mace:funet.fi:virta/2015/09/01">

<xs:include schemaLocation="koodistot.xsd">
<xs:annotation>
<xs:documentation xml:lang="fi">
Koodistot.
</xs:documentation>
</xs:annotation>
</xs:include>

<!-- ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~
TYYPPIMÄÄRITYKSET
* Tiedoston rakenne/sisältö:
- YLEISET TYYPIT
- HENKILÖ/OPISKELIJA
- OPISKELUOIKEUS
- SUORITUS
-->

<!-- ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~
YLEISET TYYPIT
-->

<!-- AIKA / PÄIVÄMÄÄRÄ -->
<!-- JHS-170:
<xs:simpleType name="AlkuPvmTyyppi">
<xs:restriction base="xs:date"/>
</xs:simpleType>
<xs:simpleType name="LoppuPvmTyyppi">
<xs:restriction base="xs:date"/>
</xs:simpleType>
-->
<!-- kopioidaan omaksi, niin ei tarvitse importata jhs:ää aina -->
<xs:simpleType name="PvmTyyppi">
<xs:restriction base="xs:date">
<!-- NB 2013-08-30: Lisätty päivämääriin minimivaatimus -->
<xs:minInclusive value="1900-01-01"/>
</xs:restriction>
</xs:simpleType>
<!-- AIKAJAKSO (alku pakollinen, loppu valinnainen) -->
<xs:complexType name="AikajaksoTyyppi">
<xs:sequence>
<xs:element name="AlkuPvm" type="virta:PvmTyyppi" minOccurs="1" maxOccurs="1"/>
<xs:element name="LoppuPvm" type="virta:PvmTyyppi" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>

<!-- AVAIN -->
<xs:simpleType name="AvainTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>

<!-- Raha määrä -->
<xs:simpleType name="RahaMaaraTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="OpiskeluoikeusNimiTekstiTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="OpiskeluoikeusNimiTyyppi">
<xs:simpleContent>
<xs:extension base="virta:OpiskeluoikeusNimiTekstiTyyppi">
<xs:attribute name="kieli" type="virta:KieliKoodiTyyppi" use="required">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opiskeluoikeus nimen kieli. Valinnainen.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType> 

<!-- KOULUTUSMODUULIID -->
<xs:simpleType name="KoulutusmoduulitunnisteTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
<!-- VALTAKUNNALLINEN KOULUTUSMODUULIID -->
<xs:simpleType name="ValtakunnallinenKoulutusmoduulitunnisteTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>

<!-- ORGANISAATIO -->
<!-- perusrakenne: rooli+koodi[+osuus] -->
<xs:complexType name="OrganisaatioRooliOsuusTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Organisaatiotiedot.

Organisaatio-tietoja voi olla eri rooleilla ja useita, jolloin jakautuminen
voidaan kertoa osuus-tietona. Osuustieto on väliltä 0-1.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Rooli" type="virta:OrganisaatioRooliKoodiTyyppi" minOccurs="1" maxOccurs="1"/>
<xs:element name="Koodi" type="virta:OrganisaatioKoodiTyyppi" minOccurs="1" maxOccurs="1"/>
<xs:element name="Osuus" type="virta:OsuusTyyppi" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>

<!-- OSUUS -->
<xs:simpleType name="OsuusTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Osuus-tieto väliltä 0-1 (1 = 100%).
Yleisesti yhteenlasketut osuus-tiedot tulisi olla tasan 1 (=100%).
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="24"/>
<xs:fractionDigits value="6"/>
<xs:minInclusive value="0.0"/>
<xs:maxInclusive value="1.0"/>
</xs:restriction>
</xs:simpleType>


<!-- KOULUTUSALA -->
<!-- huom eri versiot -->
<xs:complexType name="KoulutusalaVersioTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Koulutusalat yhdistettynä, versio-attribuutilla.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="virta:KoulutusalaKoodiTyyppi">
<xs:attribute name="versio" type="virta:KoulutusalaVersioKoodiTyyppi" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

<xs:complexType name="KoulutusalaVersioOsuusTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Koulutusalat yhdistettynä, versio-attribuutilla ja osuus-tiedolla.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Koodi" type="virta:KoulutusalaVersioTyyppi" minOccurs="1" maxOccurs="1"/>
<xs:element name="Osuus" type="virta:OsuusTyyppi" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>

<!-- ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~
HENKILÖ/OPISKELIJA
-->

<xs:simpleType name="KansallinenOppijanumeroTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>

<!-- JHS-170 muokattuna -->
<xs:simpleType name="HenkilotunnusTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/> <!-- xdw-malli -->
<!-- xs:maxLength value="11"/ -->
<xs:pattern value="(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])[0-9][0-9][+\-A]((00[2-9]|[0-8][1-9][0-9]|[1-8][0-9][0-9])[0-9ABCDEFHJKLMNPRSTUVWXY])?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SukunimiTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EtunimetTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>


<!-- ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~
OPISKELUOIKEUDEN TYYPIT
-->

<xs:simpleType name="LukukausiMaaraTyyppi">
<xs:restriction base="xs:short"/>
</xs:simpleType>


<!-- ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~
SUORITUSTEN TYYPIT
-->

<xs:simpleType name="OpintosuoritusNimiTekstiTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="OpintosuoritusNimiTyyppi">
<xs:simpleContent>
<xs:extension base="virta:OpintosuoritusNimiTekstiTyyppi">
<xs:attribute name="kieli" type="virta:KieliKoodiTyyppi" use="optional">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opintosuorituksen nimen kieli. Valinnainen.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

<!-- NB: Ei salli HTML-tageja! Pitäisi keksiä miten laajennetaan mixed-tyyppiä pituusrajoituksella.... -->
<xs:simpleType name="OpintosuoritusJulkinenLisatietoTekstiTyyppi">
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="OpintosuoritusJulkinenLisatietoTyyppi">
<xs:simpleContent>
<xs:extension base="virta:OpintosuoritusJulkinenLisatietoTekstiTyyppi">
<xs:attribute name="kieli" type="virta:KieliKoodiTyyppi" use="optional">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opintosuorituksen julkisen lisätiedon kieli. Valinnainen.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!--
<xs:complexType name="OpintosuoritusLisatietoTyyppi" mixed="true">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opintosuorituksen lisätiedot.

Vaihtoehtoisista osista koostuva tekstityyppi, mutta pituus rajoitettu.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="virta:OpintosuoritusLisatietoTekstiTyyppi">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
-->

<xs:complexType name="LaajuusLaajennettuTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Tutkinnon, opintokokonaisuuden tai opintojakson laajuus opintopisteinä.
Lisäksi voidaan antaa laajuus opintoviikkoina.
</xs:documentation>
<xs:documentation xml:lang="en">
The scope of a degree or a study module as ECTS credit.
Additionally the scope may be given as course unit.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Opintopiste" type="virta:LaajuusTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opintopistelaajuus.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Opintoviikko" type="virta:LaajuusTyyppi" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opintoviikkolaajuus. Valinnainen.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="LaajuusTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Tutkinnon, opintokokonaisuuden tai opintojakson laajuus.
Opintopisteitä tai opintoviikkoja.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="24"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>


<!-- Arvosana ja arvosana-asteikko -->
<!--
Arvosana
Arvosana-asteikko
-->
<xs:complexType name="ArvosanaTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Opintosuorituksen arvosana. Arvosana ja arvosana-asteikko.
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="Viisiportainen" type="virta:ArvosanaViisiportainenKoodiTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko viisiportainen (1-5).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ToinenKotimainen" type="virta:ArvosanaToinenKotimainenKoodiTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko Tyydyttävät tiedot-Hyvät tiedot.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Hyvaksytty" type="virta:ArvosanaHyvaksyttyKoodiTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko Hyväksytty/Hylätty.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Naytetyo" type="virta:ArvosanaNaytetyoKoodiTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko Hyväksytty-Kiittäen hyväksytty.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Tutkielma" type="virta:ArvosanaTutkielmaKoodiTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko Approbatur-Laudatur.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EiKaytossa" type="virta:ArvosanaEiKaytossaKoodiTyyppi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko arvosanoille joita ei ole: "Arvosana ei käytössä"
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Muu" type="virta:ArvosanaAsteikkoMuuTyyppi" minOccurs="1" maxOccurs="1"/>
<!-- ks. alla -->
</xs:choice>
</xs:complexType>

<xs:complexType name="ArvosanaAsteikkoMuuTyyppi">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko muu.
Arvosanoja varten, jotka kuuluvat muihin arvosana-asteikoihin kuin tässä
XML-skeemassa erikseen kuvattuihin.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Asteikko" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikko 'Muu'-asteikon tiedot nimineen ja arvosanoineen voidaan tuoda
tiedonsiirrossa mukana. Yhden asteikon kaikki mahdolliset arvosanat voidaan siis
ilmoittaa samalla ja yhdellä kerralla.

Asteikolle voidaan tuoda (ks. korkeakoulujen tietomalli):
* avain (Koodi)
* Nimi
Lisäksi asteikkoon liittyvät arvosanat:
* avain (Koodi)
* Nimi (Arvosana)
* Laskennallinen arvo

Rakenteena vastaa korkeakoulujen tietomallin käsitteitä:
* Arvosana-asteikko (Koodi, Nimi) ja
* Arvosana (Arvosana.Koodi, Arvosana.Arvosana, Arvosana.LaskennallinenArvo)
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Nimi" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' lähettävän oppilaitoksen käyttämä nimi
arvosana-asteikolle. Valinnainen.

Vastaa korkeakoulujen tietomallissa käsitettä:
Arvosana-asteikko.Nimi
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AsteikkoArvosana" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' sisältämien arvosanojen lista. Valinnainen.
Yhden asteikon kaikki arvosanat voidaan ilmoittaa kerralla.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Koodi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' yksittäisen arvosanan koodiarvo. Pakollinen.
Esim. HYV, 1, 2, ..., A, ... E, L

Vastaa korkeakoulujen tietomallissa käsitettä:
Arvosana.Arvosana tai *ei vastaavuutta* (arvosanan lyhenne)
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Nimi" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' yksittäisen arvosanan selite/nimi. Valinnainen.
Esim. Hyväksytty, ..., Approbatur, ..., Eximia cum laude approbatur, Laudatur

Vastaa korkeakoulujen tietomallissa käsitettä:
*ei vastaavuutta* tai Arvosana.Arvosana
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LaskennallinenArvo" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' yksittäisen arvosanan laskennallinen arvo. Valinnainen.

Vastaa korkeakoulujen tietomallissa käsitettä:
Arvosana.Laskennallinen arvo
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="24"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="avain" type="virta:AvainTyyppi" use="required">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' yksittäisen arvosanan lähettävän oppilaitoksen
käyttämä tunnistetieto ko. arvosana-asteikon arvosanalle. Pakollinen.

Vastaa korkeakoulujen tietomallissa käsitettä:
Arvosana.Koodi
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="avain" type="virta:AvainTyyppi" use="required">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' lähettävän oppilaitoksen käyttämä tunnistetieto arvosana-asteikolle. Pakollinen.

Vastaa korkeakoulujen tietomallissa käsitettä:
Arvosana-asteikko.Koodi
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Koodi" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="fi">
Arvosana-asteikon 'Muu' varsinainen arvosana ko opintosuoritukselle. Pakollinen.

Tämä "koodiarvo" on (ei pakollinen) viittaus XML-skeeman elementtiin:
Muu.Asteikko.AsteikkoArvosana.Koodi

Viittausta ei tarkisteta XML-skeemassa, mutta Virta-tietomallin mukaisessa
relaatiokannassa kyllä.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>

</xs:schema>
  • No labels