CDM » CDM veiledning

CDM veiledning

Last modified by Trond Håvard Hanssen on 2013/12/09 10:52

CDM-U veiledning

  1. CDM-U veiledning
    1. Innledning
    2. Se også
    3. Dataskjelett
    4. Datastruktur
    5. Hovedelementene i CDM
    6. UTF-8
    7. Organisasjonsstruktur
    8. Unik id for organisasjon (orgUnitID)
    9. Andre organisasjonskoder (orgUnitCode)
    10. Lærestedstype / nivå
      1. Eksempel på koding av nivå (for ''orgUnit'')
    11. Om program-elementet
    12. Programkoder og kurskoder
    13. Fag - og emneklassifikasjon
      1. NUS2000 (SSB)
        1. Eksempler
      2. Utdanningsområdekode (Samordna opptak)
        1. Eksempler
    14. Godkjenning / akkreditering
      1. NOKUT og Lånekassen
    15. Id og referanser
      1. Id
      2. Referanse
        1. Eksempler
    16. Språk
      1. Språkkoder
      2. Standardspråk
      3. Norsk/bokmål/nynorsk
    17. Geografi
    18. Problemstillinger
    19. XML-skjema validering
    20. Levering
    21. Referanser

Innledning

CDM-U er et XML-basert dataformat, utviklet av http://utdanning.no
CDM-U data må være gyldige i forhold til http://www.w3.org/XML/Schema XML-skjemaet til CDM|CDM
Dette dokumentet er en veiledning til koding av data på CDM-U.
Veiledningen kompletteres av rikholdig dokumentasjon i CDM-U XML-eksemplene (se last ned, under).
Følgende konvensjoner brukes. XML-elementer skrives program, attributt skrives @language og navnerom skrives @xs:id (id-attributtet fra xs-navnerommet)

Se også

Dataskjelett

Et CDM-U dokument er XML-dokument med CDM som rot-element. 

<tt>program</tt> er et spesielt viktig element: Utdanningstilbud det kan '''søkes om opptak til''' plasseres i <tt>program</tt>. (Les mer #Om_program-elementet|om program elementet, under.)

Andre, kortere, utdanninger legges i <tt>course</tt>.

Et tomt CDM-U-dataskjelett ser slik ut (NB - '''ikke gyldig''' CDM):
<?xml version="1.0" encoding="UTF-8"?>
<CDM>
 <properties/>                       <!-- dokument-metadata -->
 <orgUnit>                           <!-- organisasjon 1 -->
   <program/>                        <!-- program 1 -->
   <course/>                         <!-- kurs 1 -->
 </orgUnit>
</CDM>

Merk at <tt>course</tt> '''ikke''' ligger inne i <tt>program</tt>, men inne i <tt>orgUnit</tt>. 

Det samme gjelder <tt>program</tt> - i CDM-U er det ikke støtte for sub-programmer. Rekursjon av <tt>program</tt> er unngått for å holde kompleksiteten i CDM-U nede.

Når det gjelder <tt>orgUnit</tt> er det flere muligheter. Se #Organisasjonsstruktur|organisasjonsstruktur, under.

Datastruktur

For at et XML-dokument skal være gyldig CDM-U, er det et minstekrav at et det er gyldig CDM - mao. at det validerer i forhold til XML-skjemaet til CDM. Den enkleste måten å strukturere et CDM-U dokument er vist under.

<?xml version="1.0" encoding="UTF-8"?>
<CDM
 language="nb"
 version ="2.0.2"
 profile ="CDM-U_1.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="http://utdanning.no/schemas/CDM/2.0.2/CDM.xsd">


   <properties><!-- dokumentmetadata --></properties>
   <orgUnit><!-- organisasjon 1 -->
       <orgUnitID>mittdomene.no</orgUnitID><!-- OrgUnitID = domenenavn for lærested -->
       <orgUnitName><text>Lærestedsnavn</text></orgUnitName> <!-- Lærestedsnavn er påkrevd i CDM -->
       <program>
           <programName><text>Program1</text></programName>
           <programDescription>Programbeskrivelse.</programDescription>
       </program>
       <!-- Her følger program_2... program_N: -->
       <course>
           <courseName><text>Kurs1</text></courseName>
           <courseDescription>Kursbeskrivelse</courseDescription>
       </course>
       <!-- Her følger course_2... course_N: -->
   </orgUnit>
</CDM>

Hovedelementene i CDM

Organisasjon, program, kurs har egne elementer i CDM.

Les mer om hvordan disse tre elementene skal brukes i CDM-U:

UTF-8

Vi oppfordrer på det sterkeste til å bruke UTF-8 som tekstkoding i CDM-U XML. Ved å bruke UTF-8 kan alle norske og samiske og andre tegn problemfritt brukes og blandes.

Organisasjonsstruktur

Eksemplene under illustrerer hvordan typiske organisasjonsstrukturer uttrykkes i CDM-U.

Eksempel A1 organisasjon med programmer (studier, opptaksenheter ...) og kurs (emner). Beskriver tilfeller der en kildefil leverer informasjon for et universitet, en høyskole, etc.
Eksempel BFlere organisasjoner med egne programmer. Beskriver tilfeller der én kilde leverer informasjon om flere (små) institusjoner med begrenset antall program (opptaksenheter), som f.eks en samling av folkehøyskoler.
Eksempel C1 organisasjon med flere underorganisasjoner (læresteder) og (mange) program/kurs, der studietilbudet varierer mellom lærestedene, som f.eks BI.
Eksempel DFlere (mange) organisasjoner er tilbydere blant et begrenset antall programmer. Programmene angis ved koder, og er således eksterne referanser. Eksempel er videregående skole, der vi venter å samle program-/emnebeskrivelser sentralt, men kan bli nødt til å samle tilbyderinformasjon lokalt.

Unik id for organisasjon (orgUnitID)

I CDM-U er '''[http://www.norid.no/domeneregistrering domene]''' valgt som unik identifikator for organisasjon (<tt>orgUnitID</tt>). 

Eksempler på domener:
 ntnu.no
 oslo.bi.no

Læresteder som ikke er "mestere over et eget domene" må kontakte Utdanning.no for å få tildelt en identifikator. Les mer om domener/registrering av domene på http://www.norid.no/domeneregistrering/veiviser.html

For videregående skoler og folkehøgskoler er det egne kategoridomener, bruk disse hvis ikke skolen har et eget domene.

  • vgs.no (videregående skoler, f.eks ''tromsdalen.vgs.no'')
  • fhs.no (folkehøgskoler, f.eks ''fosen.fhs.no'')

<tt>orgUnitID</tt> kan bare inneholde tegn som er tillatt i domenenavn, det betyr bl.a. at skråstrek <tt>/</tt> ikke er tillatt.
(Tillatt: <tt>tromso.bi.no</tt>, '''ikke''' tillatt: <tt>bi.no/tromso</tt>.)

Eksempel på bruk av <tt>orgUnitID</tt>:
<orgUnitID>ntnu.no</orgUnitID>

Andre organisasjonskoder (orgUnitCode)

For å bygge opp et pålitelig organisasjonsregister, trengs også andre organisasjonskoder.
<tt>orgUnitCode</tt> med ulike kodesett brukes som supplerende identifikatorer.

Følgende kodesett er i bruk: 

  • Organisasjonsnummer/MVA-nummer (finnes i [http://brreg.no Brønnøysundregistrene]): '''påkrevd''' for alle
  • SO-kode / FS-institusjonsregister: for alle læresteder i som er med i samordna opptak
  • VIGO: for læresteder i videregående opplæring

Eksempel på koding:
<orgUnitCode codeSet="mva">78367278</orgUnitCode>
<orgUnitCode codeSet="so">185</orgUnitCode>
<orgUnitCode codeSet="vigo">XYZ</orgUnitCode>
{

Lærestedstype / nivå

Nivå-koder for <tt>orgUnit</tt>

Nivå (NUS2000)NivånavnKlassetrinn
3Videregående, grunnutdanning11.-12. klassetrinn
4Videregående, avsluttende utdanning13. klassetrinn +
5Påbygging til videregående utdanning14. klassetrinn +
6Universitets- og høgskoleutdanning, lavere nivå14. -17. klassetrinn
7Universitets- og høgskoleutdanning, høyere nivå18.-19. klassetrinn
8Forskerutdanning20. klassetrinn +
9UoppgittUoppgitt

Eksempel på koding av nivå (for ''orgUnit'')

<subBlock userDefined="level">
 <subBlock userDefined="NUS2000">4</subBlock>
</subBlock>

FIXME hva med flere nivåer?

Om program-elementet

'''Program = opptaksenhet'''

  • <tt>program</tt> brukes for å beskrive utdanningstilbud som er opptaksenheter, dvs. et utdanningsløp som det går an å søke om opptak til. 
  • I høyere utdanning er dette typisk navnet på et årsstudium, Bachelor-, Master- eller PhD-studier.
  • For folkehøyskoler er faglinjene som <tt>program</tt>.
  • Det samme gjelder studieretninger på videregående skoler og linjer på tekniske fagskoler og private institusjoner.

Programkoder og kurskoder

Koden som ligger i <tt>programCode</tt> er svært viktig. Den brukes til å identifisere utdanninger på nettsidene til Utdanning.no. Bruk utdanningens lokale kode her (elementet <tt>programCode</tt> uten attributt = lokal kode).

<program>
 <programCode>LOKAL_KODE</programCode>
</program>

Andre programkoder er viktige for å identifisere data fra flere kilder, dette gjelder spesielt studieprogram som er med i Samordna opptak og dermed har en SO-kode. SO-koder er 6-sifra koder, der de tre første er kode for lærested, de tre siste er en koblingsnøkkel til fag/emne. SO-koden kalles '''studiekode''' på Samordnaopptaks [http://www.samordnaopptak.no/SW/studier.html søkerweb].

For mer om programkoder, se også neste seksjon om fag- og emneklassifikasjon.

<program>
 <programCode codeSet="so">679821</programCode>
 <!-- lokal kode -->
 <programCode>LOKAL_KODE</programCode>
</program>

Det samme gjelder for kurs, bruk elementet courseCode:

<course>
 <!-- lokal kode -->
 <courseCode>LOKAL_KODE</courseCode>
</course>

Fag - og emneklassifikasjon

Gjennomført bruk av fag- og emneklassifikasjon er viktig for å få til gode søk i utdanningsdatabaser som er satt sammen fra flere kilder og forskjellige typer læresteder.

Utdanning.no vil derfor oppfordre alle til å levere fag-og emne klassifikasjon i det minste på et overordna nivå, dvs. NUS2000-fagfelt eller SO-utdanningsområde: se CDM/Sammenstilling av NUS og SO-utdanningsområde|Sammenstilling av NUS og SO-utdanningsområde

NUS2000 (SSB)

Dersom det er mulig anbefaler vi Statistisk sentralbyrås CDM/NUS2000|NUS2000 (Norsk standard for utdanningsgruppering 2000) som primært kodesett. NUS2000 er en 6-sifret tallkode, der første siffer er nivå og andre siffer er fagfelt.

Se over om nivå i NUS2000.

Fagfelt (NUS2000)
0Allmenne fag
1Humanistiske og estetiske fag
2Lærerutdanninger og utdanninger i pedagogikk
3Samfunnsfag og juridiske fag
4Økonomiske og administrative fag
5Naturvitenskapelige fag, håndverksfag og tekniske fag
6Helse-, sosial- og idrettsfag
7Primærnæringsfag
8Samferdsels- og sikkerhetsfag og andre servicefag
9Uoppgitt fagfelt

Eksempler

  • Bachelor i et naturfag kan altså kodes med NUS-kode '''659999'''. Se CDM/NUS2000|NUS2000 for detaljer.

Utdanningsområdekode (Samordna opptak)

Som alternativ til NUS2000 kan Samordna opptaks (SO) utdanningsområde brukes.

SO-utdanningsområde
ESTETISKEstetiske fag, kunst- og musikkfag
LANDBRUKFiskeri-, husdyr- og landbruksfag
HISTORIEHistorie, religion, idéfag
REISELIVHotell- og reiselivsfag
IDRETTIdrettsfag, kroppsøving og friluftsliv
INFOTEKNInformasjonsteknologi og informatikk
JUSJus
LÆRERLærer- og lektorutdanning
REALFAGMatematikk og naturfag
MEDIEFAGMediefag, bibliotekfag og journalistfag
HELSEFAGMedisin, odontologi, helse- og sosialfag
PEDFAGPedagogiske fag
SAMFUNNSamfunnsfag, psykologi
SPRÅKSpråk, litteratur
TEKNOTeknologi, ingeniørfag og arkitektur
ØKADMØkonomi og administrasjon

Koden over tilsvarer '''utdanningsområde''' på Samordna opptaks [http://www.samordnaopptak.no/SW/studier.html søkerweb].

Eksempler

<programCode codeSet="nus">879367</programCode>
<programCode codeSet="soUtdanningsomraadet">TEKNO</programCode>

Godkjenning / akkreditering

NOKUT og Lånekassen

[http://nokut.no NOKUT] kvalitetssikrer høyere utdanning i Norge gjennom å gi godkjenning ("akkreditering") av studietilbud og institusjoner.

Det er viktig for mange studenter å vite om studiet er godkjent for studiestøtte hos [http://www.lanekassen.no Lånekassen].

Godkjenning kodes slik, enten på <tt>orgUnit</tt> eller <tt>program</tt> (hvis 0 på <tt>orgUnit</tt>):
<subBlock userDefined="Godkjenning">
 <!-- Nokut-godkjenning 0/1 -->
 <subBlock userDefined="Nokut">0</subBlock>
 <!-- Lånekasse-godkjenning 0/1-->
 <subBlock userDefined="Lanekassen">1</subBlock>
</subBlock>

Id og referanser

Denne seksjonen diskuterer avansert bruk av CDM-U. Referanser kan være komplisert og er ikke nødvendig for de fleste læresteder.
I CDM kan elementreferanser brukes for å unngå duplisering av data. Eksempelvis kan et kurs inngå i flere program. For å unngå å duplisere data brukes <tt>refCourse</tt> som referanse fra program til kurs.

Id

'''<tt>@xs:id</tt>''' (unik id i én xml-fil)<br />
I CDM-U kan <tt>@xs:id</tt> brukes for å merke <tt>orgUnit</tt>, <tt>program</tt> og <tt>course</tt> med unike identifikatorer. Eksempel:  <tt><program id="pro_1"></tt>.

'''Hver id-attributt må være unik i hele det leverte dokumentet'''. Det kan derfor være lurt å bruke en prefiks som i eksemplet over ("pro_", "cou_", "org_", etc.).

Merk at <tt>@xs:id</tt> '''ikke''' kan begynne med et tall eller inneholde mellomrom. Unngå også bruk av æ, ø, å eller andre spesielle tegn i attributtverdiene. 

Referanse

I CDM kan følgende XML-elementer kan brukes til å refere:<br />
*<tt>refProgram</tt>
*<tt>refCourse</tt>
*<tt>refPerson</tt>
*<tt>refOrgUnit</tt>

'''<tt>@idRef</tt>/<tt>@ref</tt>'''<br />
Det er to typer referanser: <tt>@idRef</tt> og <tt>@ref</tt>. Ved bruk av <tt>@idRef</tt> må det finnes et element i samme XML dokument, som har gitt @id  ellers er det ikke gyldig XML.
Ved bruk av <tt>@ref</tt>, er det ingen slike krav. <tt>@ref</tt> kan derfor brukes ved referanse til eksterne XML elementer (i andre dokumenter).

Eksempler

Hvis det er nødvendig for ditt lærested å bruke referanser, anbefales bruk av <tt>@idRef</tt> for å referere til andre elementer. (Unntak: Videregående opplæring, se #Organisasjonsstruktur|eksempel D, over) Dette åpner for validering av referanser via XML-parseren og bidrar dermed til å sikre datakonsistens.

Eksempler på bruk av <tt>@idRef</tt> for å referere mellom elementer:
<refProgram idRef="pro_7"/>
<refOrgUnit idRef="org_02"/>
<refCourse idRef="cou_10"/>

Språk

Språk kodes i følge ISO639-1 (2-tegn) eller [http://www.loc.gov/standards/iso639-2/ ISO639-2] (3-tegn).

<tt>Oppdatert 2007-02-24</tt>: 2-tegns språk-koder (<tt>nb</tt>, <tt>nn</tt>, <tt>en</tt>) anbefales fordi mange XML-validatorer rapporterer feil ved bruk av tre tegn.

http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
Språk legges vanligvis inn i xs:<tt>language</tt>-attributtet for relevant element.
<CDM language="nb">

Språk kan også legges inn i flere elementer via <tt>altLangBlock</tt>.

Språkkoder

Her er noen av de mest aktuelle språkkodene (fra http://www.loc.gov/standards/iso639-2/englangn.html)

ISO639-1ISO639-2Språk (språkvariant)
nonornorsk
nbnobnorsk (bokmål)
nnnnonorsk (nynorsk)

nonnorrønt
sesmisamisk

smasørsamisk

smjlulesamisk
sesmenordsamisk
enengengelsk
deger / deutysk
frfra / frefransk
esspaspansk
ititaitaliensk
rurusrussisk
dadandansk
svswesvensk
isisl / iceislandsk
fifinfinsk

Merk
 Defacto-standarden for koding av lokale som språk_LAND, der landkoden er 2 store bokstaver etter ISO3166 ISO3166, godtas også.

no_NOnorsk Norge
pt_BRportugisisk Brasil
en_AUAustralian English

Standardspråk

Standardspråket for dokumentet angis med @xs:<tt>language</tt> i <tt>CDM</tt>-elementet. Dermed trenger bare avvik fra standardspråket merkes spesielt i resten av dokumentet.
Eksempel:
<!-- Nynorsk -->
<CDM language="nn">
...
<orgUnitName>
<text>Standardnamn</text><!-- Navn på standardspråket (nynorsk) angitt i CDM-elementet -->
<text language="en">English name</text>
<text language="nb">Bokmålnavn</text>
</orgUnitName>

Ved levering av data på ulike språk (f.eks norsk og engelsk), kan det ofte være mest hensiktsmessig levere én fil per språkvariant.

Norsk/bokmål/nynorsk

Dersom data i et CDM-U dokument foreligger på både bokmål og nynorsk, er det best å sette "no" som standardspråk i <tt>CDM</tt> og bruke "nb"' og "nn" for å merke hvert element med spesifikke målformer.

Geografi

Geografisk lokasjon til <tt>orgUnit</tt> (og også <tt>course</tt> og <tt>program</tt>  der det er nødvendig) angis med kommunenummer.

De to første siffer i kommunenummeret er lik fylkesnummeret.

For Svalbard, Jan Mayen, Kontinentalsokkelen, bruk hhv 21, 22, 23.

Oppdatert, offisiell liste over kommuner finnes på SSB sine sider:
http://www.ssb.no/kommuner/komkatfy.html

For <tt>orgUnit</tt>, <tt>program</tt> og <tt>course</tt> legges kommunenummer inn som en <tt>subBlock</tt> i <tt>infoBlock</tt>:

<orgUnit><!-- eller program/course -->
 <infoBlock>
    <subBlock userDefined="Geografi">
      <subBlock userDefined="Kommunekode">1902</subBlock>
    </subBlock>   

Problemstillinger

''' Oppdateringer '''<br />
CDM (og dermed CDM-U) har ikke bygd inn støtte for "tilstand" eller "handlinger". Dette er spesielt aktuelt i forbindelse med oppdateringer av data. Ved levering av "alt" hver gang må mottageren tømme sin lokale kopi før hver import, ellers kan data som skal slettes bli liggende.

Tomme elementer er også problematiske. Skal blanke ("") elementer forstås som sletting eller oppgradering eller mangelfulle data (hvis data finnes fra før for det elementet).

XML-skjema validering

Et CDM dokument som tilsvarer eksemplet over på 

Den enkleste og beste måten å sjekke om CDM er gyldig er å bruke W3C's glimrende

Valideringsresultater (av CDM/CDM-U) kan dessverre være verktøyavhengig. En alternativ online tjeneste, som bygger på Xerces, finnes på

Levering

no

Referanser

Tags:
Created by Trond Håvard Hanssen on 2013/12/09 10:07

Workspace information

Name
Bak & CDM-U
Description
Her kommer innholdet fra BAK og CDM-U 


To join this workspace you need to be logged in.

Members
fuxejeziwad fuxejeziwad Joshuabob Joshuabob osayufemuq osayufemuq uqeaquk uqeaquk ahijeyejuf ahijeyejuf apaginib apaginib obaekutu obaekutu ufalaxi ufalaxi idkexwahahax idkexwahahax azenukbezo azenukbezo exonujaeoqij exonujaeoqij afipeje afipeje

My Recent Modifications


This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 5.0.1 - Documentation