IKKE_REDIGER_UNDER_FLYTTING_TIL_MEDIAWIKI
CDM-U er et XML-basert dataformat, utviklet av Utdanning.no.
CDM-U data må være gyldige i forhold til XML-skjemaet til 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)
Et CDM-U dokument er XML-dokument med CDM som rot-element.
program er et spesielt viktig element: Utdanningstilbud det kan søkes om opptak til plasseres i program. (Les mer om program elementet, under.)
Andre, kortere, utdanninger legges i course.
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 course ikke ligger inne i program, men inne i orgUnit.
Det samme gjelder program – i CDM-U er det ikke støtte for sub-programmer. Rekursjon av program er unngått for å holde kompleksiteten i CDM-U nede.
Når det gjelder orgUnit er det flere muligheter. Se organisasjonsstruktur, under.
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>
Organisasjon, program, kurs har egne elementer i CDM.
Les mer om hvordan disse tre elementene skal brukes i CDM-U:
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.
Eksemplene under illustrerer hvordan typiske organisasjonsstrukturer uttrykkes i CDM-U.
| Eksempel A | 1 organisasjon med programmer (studier, opptaksenheter …) og kurs (emner). Beskriver tilfeller der en kildefil leverer informasjon for et universitet, en høyskole, etc. |
| Eksempel B | Flere 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 C | 1 organisasjon med flere underorganisasjoner (læresteder) og (mange) program/kurs, der studietilbudet varierer mellom lærestedene, som f.eks BI. |
| Eksempel D | Flere (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. |
I CDM-U er domene valgt som unik identifikator for organisasjon (orgUnitID).
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.
tromsdalen.vgs.no)fosen.fhs.no)
orgUnitID kan bare inneholde tegn som er tillatt i domenenavn, det betyr bl.a. at skråstrek / ikke er tillatt.
(Tillatt: tromso.bi.no, ikke tillatt bi.no/tromso.)
Eksempel på bruk av orgUnitID
<orgUnitID>ntnu.no</orgUnitID>
For å bygge opp et pålitelig organisasjonsregister, trengs også andre organisasjonskoder.
orgUnitCode med ulike kodesett brukes som supplerende identifikatorer.
Følgende kodesett er i bruk:
Eksempel på koding:
<orgUnitCode codeSet="mva">78367278</orgUnitCode> <orgUnitCode codeSet="so">185</orgUnitCode> <orgUnitCode codeSet="vigo">XYZ</orgUnitCode>
Nivå-koder for orgUnit
| Nivå (NUS2000) | Nivånavn | Klassetrinn |
|---|---|---|
| 3 | Videregående, grunnutdanning | 11.-12. klassetrinn |
| 4 | Videregående, avsluttende utdanning | 13. klassetrinn + |
| 5 | Påbygging til videregående utdanning | 14. klassetrinn + |
| 6 | Universitets- og høgskoleutdanning, lavere nivå | 14. -17. klassetrinn |
| 7 | Universitets- og høgskoleutdanning, høyere nivå | 18.-19. klassetrinn |
| 8 | Forskerutdanning | 20. klassetrinn + |
| 9 | Uoppgitt | Uoppgitt |
Eksempel på koding av nivå (for orgUnit)
<subBlock userDefined="level"> <subBlock userDefined="NUS2000">4</subBlock> </subBlock
hva med flere nivåer?
Program = opptaksenhet
program brukes for å beskrive utdanningstilbud som er opptaksenheter, dvs. et utdanningsløp som det går an å søke om opptak til. program.
Koden som ligger i programCode er svært viktig. Den brukes til å identifisere utdanninger på nettsidene til Utdanning.no. Bruk utdanningens lokale kode her (elementet programCode 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 søkerweb.
For mer om programkoder, se også neste seksksjon om fag- og emneklassifikasjon.
<program> <programCode codeSet="so">679821</programCode> <!-- lokal kode --> <programCode>LOKAL_KODE</programCode>
Det samme gjelder for kurs → bruk elementet courseCode:
<course> <!-- lokal kode --> <courseCode>LOKAL_KODE</courseCode>
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 Sammenstilling av NUS og SO-utdanningsområde
NUS2000 (SSB)
Dersom det er mulig anbefaler vi Statistisk sentralbyrås 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) | |
|---|---|
| 0 | Allmenne fag |
| 1 | Humanistiske og estetiske fag |
| 2 | Lærerutdanninger og utdanninger i pedagogikk |
| 3 | Samfunnsfag og juridiske fag |
| 4 | Økonomiske og administrative fag |
| 5 | Naturvitenskapelige fag, håndverksfag og tekniske fag |
| 6 | Helse-, sosial- og idrettsfag |
| 7 | Primærnæringsfag |
| 8 | Samferdsels- og sikkerhetsfag og andre servicefag |
| 9 | Uoppgitt fagfelt |
Eksempler:
Utdanningsområdekode (Samordna opptak) Som alternativ til NUS2000 kan Samordna opptaks (SO) utdanningsområde brukes.
| SO-utdanningsområde | |
|---|---|
| ESTETISK | Estetiske fag, kunst- og musikkfag |
| LANDBRUK | Fiskeri-, husdyr- og landbruksfag |
| HISTORIE | Historie, religion, idéfag |
| REISELIV | Hotell- og reiselivsfag |
| IDRETT | Idrettsfag, kroppsøving og friluftsliv |
| INFOTEKN | Informasjonsteknologi og informatikk |
| JUS | Jus |
| LÆRER | Lærer- og lektorutdanning |
| REALFAG | Matematikk og naturfag |
| MEDIEFAG | Mediefag, bibliotekfag og journalistfag |
| HELSEFAG | Medisin, odontologi, helse- og sosialfag |
| PEDFAG | Pedagogiske fag |
| SAMFUNN | Samfunnsfag, psykologi |
| SPRÅK | Språk, litteratur |
| TEKNO | Teknologi, ingeniørfag og arkitektur |
| ØKADM | Økonomi og administrasjon |
Koden over tilsvarer utdanningsområde på Samordna opptaks søkerweb.
Eksempler
<programCode codeSet="nus">879367</programCode> <programCode codeSet="soUtdanningsomraadet">TEKNO</programCode>
NOKUT og Lånekassen
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 Lånekassen.
Godkjenning kodes slik, enten på orgUnit eller program (hvis 0 på orgUnit):
<subBlock userDefined="Godkjenning"> <!-- Nokut-godkjenning 0/1 --> <subBlock userDefined="Nokut">0</subBlock> <!-- Lånekasse-godkjenning 0/1--> <subBlock userDefined="Lanekassen">1</subBlock> </subBlock>
Denne seksjonen diskuterer avansert bruk av CDM-U. Referanser kan være komplisert og er ikke nødvendig for de fleste læresteder.
Referanser
I CDM kan elementreferanser brukes for å unngå duplisering av data. Eksempelvis kan et kurs inngå i flere program. For å unngå å duplisere data brukes refCourse som referanse fra program til kurs.
I CDM kan følgende XML-elementer kan brukes til å refere:
refProgram, refCourse, refPerson, refOrgUnit.
@xs:id (unik id i én xml-fil)
I CDM-U kan @xs:id brukes for å merke orgUnit, program og course med unike identifikatorer. Eksempel: <program id=“pro_1”>.
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 @xs:id ikke kan begynne med et tall eller inneholde mellomrom. Unngå også bruk av æ, ø, å eller andre spesielle tegn i attributtverdiene.
@idRef /@ref
Det er to typer referanser: @idRef og @ref. Ved bruk av @idRef må det finnes et element i samme XML dokument, som har gitt @id – ellers er det ikke gyldig XML.
Ved bruk av @ref, er det ingen slike krav. @ref kan må 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@idRef for å referere til andre elementer. (Unntak: Videregående opplæring, se eksempel D, over) Dette åpner for validering av referanser via XML-parseren og bidrar dermed til å sikre datakonsistens.
Eksempler på bruk av @idRef for å referere mellom elementer:
<refProgram idRef="pro_7"/> <refOrgUnit idRef="org_02"/> <refCourse idRef="cou_10"/>
Språk kodes i følge ISO639-1 (2-tegn) eller ISO639-2 (3-tegn).
Oppdatert 2007-02-24: 2-tegns språk-koder (nb, nn’, en) 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:language-attributtet for relevant element.
<CDM language="nb">
Språk kan også legges inn i flere elementer via altLangBlock.
Språkkoder Her er noen av de mest aktuelle språkkodene (fra http://www.loc.gov/standards/iso639-2/englangn.html)
| ISO639-1 | ISO639-2 | Språk (språkvariant) |
|---|---|---|
| no | nor | norsk |
| nb | nob | norsk (bokmål) |
| nn | nno | norsk (nynorsk) |
| non | norrønt | |
| se | smi | samisk |
| sma | sørsamisk | |
| smj | lulesamisk | |
| se | sme | nordsamisk |
| en | eng | engelsk |
| de | ger / deu | tysk |
| fr | fra / fre | fransk |
| es | spa | spansk |
| it | ita | italiensk |
| ru | rus | russisk |
| da | dan | dansk |
| sv | swe | svensk |
| is | isl / ice | islandsk |
| fi | fin | finsk |
Merk
Defacto-standarden for koding av lokale som språk_LAND, der landkoden er 2 store bokstaver etter
Se ISO3166 ISO3166, godtas også.
| no_NO | norsk Norge | |
| pt_BR | portugisisk Brasil | |
| en_AU | Australian English |
Standardspråk
Standardspråket for dokumentet angis med @xs:language i CDM-elementet. Dermed trenger bare avvik fra standardspråket merkes spesielt i resten av dokumentet.
Eksempel:
<CDM language="nn"><!-- Nynorsk --> ... <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 CDM og bruke “nb”’ og “nn” for å merke hvert element med spesifikke målformer.
Geografisk lokasjon til orgUnit (og også course og program – 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 (se /samordnaopptak.no/fylke.xml).
Oppdatert, offisiell liste over kommuner finnes på SSB sine sider: http://www.ssb.no/kommuner/komkatfy.html
For orgUnit, program og course legges kommunenummer inn som en subBlock i infoBlock’':
<orgUnit><!-- eller program/course --> <infoBlock> <subBlock userDefined="Geografi"> <subBlock userDefined="Kommunekode">1902</subBlock> </subBlock>
Oppdateringer
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).
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å
Dokumentversjoner (CDM-U veiledning)