<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.arkivverket.no/Noark4WS/types" xmlns:types="http://www.arkivverket.no/Noark4WS/types" elementFormDefault="unqualified">
	<!-- Noark4 datatyper -->
	<xs:complexType name="NoarksakType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.2 Modul for arkivstyring
				Sub Chapter: 14.2.1 Sak (NOARKSAK)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="saId" type="xs:string" minOccurs="0" />
			<xs:element name="saSaar" type="xs:string" minOccurs="0" />
			<xs:element name="saSeknr" type="xs:string" minOccurs="0" />
			<xs:element name="saPapir" type="xs:string" minOccurs="0" />
			<xs:element name="saDato" type="xs:string" minOccurs="0" />
			<xs:element name="saTittel" type="xs:string" />
			<xs:element name="saU1" type="xs:string" minOccurs="0" />
			<xs:element name="saStatus" type="xs:string" minOccurs="0" />
			<xs:element name="saArkdel" type="xs:string" minOccurs="0" />
			<xs:element name="saType" type="xs:string" minOccurs="0" />
			<xs:element name="saJenhet" type="xs:string" minOccurs="0" />
			<xs:element name="saTgkode" type="xs:string" minOccurs="0" />
			<xs:element name="saUoff" type="xs:string" minOccurs="0" />
			<xs:element name="saBevtid" type="xs:string" minOccurs="0" />
			<xs:element name="saKasskode" type="xs:string" minOccurs="0" />
			<xs:element name="saKassdato" type="xs:string" minOccurs="0" />
			<xs:element name="saProsjekt" type="xs:string" minOccurs="0" />
			<xs:element name="saOfftittel" type="xs:string" minOccurs="0" />
			<xs:element name="saAdmkort" type="xs:string" minOccurs="0" />
			<xs:element name="saAdmbet" type="xs:string" minOccurs="0" />
			<xs:element name="saAnsvinit" type="xs:string" minOccurs="0" />
			<xs:element name="saAnsvnavn" type="xs:string" minOccurs="0" />
			<xs:element name="saTggruppnavn" type="xs:string" minOccurs="0" />
			<xs:element name="saEksternNokkel" type="types:EksternNokkelType" minOccurs="0"/>
			<xs:element name="klassering" type="types:KlasseringType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="sakspart" type="types:SakspartType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="journpost" type="types:JournpostType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="tilleggsinfo" type="types:TilleggsinfoType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="KlasseringType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.2 Modul for arkivstyring
				Sub Chapter: 14.2.2 Klassering (KLASSSERING)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="klSort" type="xs:string" minOccurs="0" />
			<xs:element name="klOrdnpri" type="xs:string" />
			<xs:element name="klOrdnver" type="xs:string" />
			<xs:element name="klU1" type="xs:string" minOccurs="0" />
			<xs:element name="klOpltekst" type="xs:string" minOccurs="0" />
			<xs:element name="klOvbesk" type="xs:string" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="SakspartType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.2 Modul for arkivstyring
				Sub Chapter: 14.2.4 Part i sak (SAKSPART)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="spId" type="xs:string" minOccurs="0" />
			<xs:element name="spU1" type="xs:string" minOccurs="0" />
			<xs:element name="spKortnavn" type="xs:string" minOccurs="0" />
			<xs:element name="spNavn" type="xs:string" />
			<xs:element name="spAdresse" type="xs:string" minOccurs="0" />
			<xs:element name="spPostnr" type="xs:string" minOccurs="0" />
			<xs:element name="spPoststed" type="xs:string" minOccurs="0" />
			<xs:element name="spUtland" type="xs:string" minOccurs="0" />
			<xs:element name="spEpostadr" type="xs:string" minOccurs="0" />
			<xs:element name="spKontakt" type="xs:string" minOccurs="0" />
			<xs:element name="spRolle" type="xs:string" minOccurs="0" />
			<xs:element name="spFaks" type="xs:string" minOccurs="0" />
			<xs:element name="spTlf" type="xs:string" minOccurs="0" />
			<xs:element name="spMerknad" type="xs:string" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="JournpostType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.2 Modul for arkivstyring
				Sub Chapter: 14.2.8 Joournalpost (JOURNPOST)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="jpId" type="xs:string"  minOccurs="0" />
			<xs:element name="jpJaar" type="xs:string"  minOccurs="0" />
			<xs:element name="jpSeknr" type="xs:string"  minOccurs="0" />
			<xs:element name="jpJpostnr" type="xs:string"  minOccurs="0" />
			<xs:element name="jpJdato" type="xs:string"  minOccurs="0" />
			<xs:element name="jpNdoktype" type="xs:string"  minOccurs="0" />
			<xs:element name="jpDokdato" type="xs:string"  minOccurs="0" />
			<xs:element name="jpStatus" type="xs:string"  minOccurs="0" />
			<xs:element name="jpInnhold" type="xs:string"  />
			<xs:element name="jpU1" type="xs:string"  minOccurs="0" />
			<xs:element name="jpForfdato" type="xs:string"  minOccurs="0" />
			<xs:element name="jpTgkode" type="xs:string"  minOccurs="0" />
			<xs:element name="jpUoff" type="xs:string"  minOccurs="0" />
			<xs:element name="jpAgdato" type="xs:string"  minOccurs="0" />
			<xs:element name="jpAgkode" type="xs:string"  minOccurs="0" />
			<xs:element name="jpSaksdel" type="xs:string"  minOccurs="0" />
			<xs:element name="jpU2" type="xs:string"  minOccurs="0" />
			<xs:element name="jpArkdel" type="xs:string"  minOccurs="0" />
			<xs:element name="jpTlkode" type="xs:string"  minOccurs="0" />
			<xs:element name="jpAntved" type="xs:string"  minOccurs="0" />	
			<xs:element name="jpSaar" type="xs:string"  minOccurs="0" />
			<xs:element name="jpSaseknr" type="xs:string"  minOccurs="0" />														
			<xs:element name="jpOffinnhold" type="xs:string"  minOccurs="0" />
			<xs:element name="jpTggruppnavn" type="xs:string"  minOccurs="0" />
			<xs:element name="jpEksternNokkel" type="types:EksternNokkelType" minOccurs="0"/>
			<xs:element name="jpSaEksternNokkel" type="types:EksternNokkelType" minOccurs="0"/>
			<xs:element name="avsmot" type="types:AvsmotType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="tilleggsinfo" type="types:TilleggsinfoType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="dokument" type="types:DokumentType" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="AvsmotType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.2 Modul for arkivstyring
				Sub Chapter: 14.2.9 Avsender/Mottaker (AVSMOT)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="amId" type="xs:string"  minOccurs="0" />
			<xs:element name="amIhtype" type="xs:string"  />
			<xs:element name="amKopimot" type="xs:string"  minOccurs="0" />
			<xs:element name="amBehansv" type="xs:string"  minOccurs="0" />			
			<xs:element name="amNavn" type="xs:string"  minOccurs="0" />
			<xs:element name="amU1" type="xs:string"  minOccurs="0" />
			<xs:element name="amKortnavn" type="xs:string"  minOccurs="0" />
			<xs:element name="amAdresse" type="xs:string"  minOccurs="0" />
			<xs:element name="amPostnr" type="xs:string"  minOccurs="0" />
			<xs:element name="amPoststed" type="xs:string"  minOccurs="0" />
			<xs:element name="amUtland" type="xs:string"  minOccurs="0" />
			<xs:element name="amEpostadr" type="xs:string"  minOccurs="0" />
			<xs:element name="amRef" type="xs:string"  minOccurs="0" />
			<xs:element name="amJenhet" type="xs:string"  minOccurs="0" />
			<xs:element name="amAvskm" type="xs:string"  minOccurs="0" />
			<xs:element name="amAvskdato" type="xs:string"  minOccurs="0" />
			<xs:element name="amFrist" type="xs:string"  minOccurs="0" />
			<xs:element name="amForsend" type="xs:string"  minOccurs="0" />
			<xs:element name="amAdmkort" type="xs:string"  minOccurs="0" />
			<xs:element name="amAdmbet" type="xs:string"  minOccurs="0" />
			<xs:element name="amSbhinit" type="xs:string"  minOccurs="0" />
			<xs:element name="amSbhnavn" type="xs:string"  minOccurs="0" />
			<xs:element name="amAvsavdok" type="xs:string"  minOccurs="0" />
			<xs:element name="amBesvardok" type="xs:string"  minOccurs="0" />
			<xs:element name="amAvsavEksternNokkel" type="types:EksternNokkelType"  minOccurs="0" />
			<xs:element name="amBesvarEksternNokkel" type="types:EksternNokkelType"  minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="TilleggsinfoType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.2 Modul for arkivstyring
				Sub Chapter: 14.2.31 Tilleggsinformasjon (TILLEGGSINFO)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="tiId" type="xs:string" minOccurs="0"/>
			<xs:element name="tiRnr" type="xs:string" minOccurs="0" />
			<xs:element name="tiItype" type="xs:string" />
			<xs:element name="tiTgkode" type="xs:string" minOccurs="0" />
			<xs:element name="tiOppbedato" type="xs:string" minOccurs="0" />
			<xs:element name="tiTekst" type="xs:string" />
			<xs:element name="tiTggruppnavn" type="xs:string" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="DokumentType">
		<xs:annotation>
			<xs:documentation>
				Ref. NOARK-4 Norsk arkivsystem Versjon 4, Del II Tekniske spesifikasjoner Utdrag RIKSARKIVET 1999
				Chapter: 14.3 Modul for elektronisk arkiv
				Sub Chapter: 14.3.1 Dokumentlink (DOKLINK)
				Sub Chapter: 14.3.2 Dokumentbeskrivelse (DOKLINK)
				Sub Chapter: 14.3.3 Versjon (DOKVERSJON)
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="dlRnr" type="xs:string" minOccurs="0"/>
			<xs:element name="dlType" type="xs:string" minOccurs="0"/>			
			<xs:element name="dbKategori" type="xs:string" minOccurs="0"/>
			<xs:element name="dbTittel" type="xs:string" minOccurs="0"/>
			<xs:element name="dbStatus" type="xs:string" minOccurs="0"/>
			<xs:element name="veVariant" type="xs:string" minOccurs="0"/>
			<xs:element name="veDokformat" type="xs:string" minOccurs="0"/>
			<xs:element name="fil" type="types:FilType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="FilType">
		<xs:choice>
			<xs:element name="base64" type="xs:base64Binary" />
			<xs:element name="ref" type="xs:anyURI" />
		</xs:choice>
	</xs:complexType>
	
	<!-- Datatyper for noark4 webservice -->
	<xs:complexType name="EksternNokkelType">
		<xs:sequence>
			<xs:element name="eksternSystem" type="xs:string" />
			<xs:element name="nokkel" type="xs:string" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="EksternDataType">
		<xs:sequence>
			<xs:element name="eksternSystem" type="xs:string" />
			<xs:element name="innhold" type="xs:string" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="NoarksakReturnRequestsType">
		<xs:sequence>
			<xs:element name="returnJposts" type="xs:boolean" minOccurs="0">
			</xs:element>
			<xs:element name="returnSakspart" type="xs:boolean" minOccurs="0">
			</xs:element>
			<xs:element name="returnKlassering" type="xs:boolean" minOccurs="0">
			</xs:element>
			<xs:element name="returnTilleggsinfo" type="xs:boolean" minOccurs="0">
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="JournpostReturnRequestsType">
		<xs:sequence>
			<xs:element name="returnAvmot" type="xs:boolean" minOccurs="0">
			</xs:element>
			<xs:element name="returnTilleggsinfo" type="xs:boolean" minOccurs="0">
			</xs:element>
			<xs:element name="returnDokument" type="xs:boolean" minOccurs="0">
			</xs:element>			
			<xs:element name="returnFil" type="xs:boolean" minOccurs="0">
			</xs:element>			
			
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="StatusType">
		<xs:sequence>
			<xs:element name="message" type="types:MessageType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="type" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
				      <xs:enumeration value="OK"></xs:enumeration>
				      <xs:enumeration value="WARNING"></xs:enumeration>
				      <xs:enumeration value="ERROR"></xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>	
	<xs:complexType name="MessageType">
		<xs:sequence>
			<xs:element name="text" type="xs:string"/>			
		</xs:sequence>
		<xs:attribute name="code" type="xs:string" use="required"/>
	</xs:complexType>	
	
	<xs:complexType name="SearchCriteriaType">
		<xs:sequence>
			<xs:element name="fieldName" type="xs:string" />
			<xs:element name="fieldValue" type="xs:string" />
		</xs:sequence>
	</xs:complexType>
	
	
	<xs:complexType name="SaksnummerType">
		<xs:sequence>
			<xs:element name="saSaar" type="xs:string" />
			<xs:element name="saSeknr" type="xs:string" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="LopenummerType">
		<xs:sequence>
			<xs:element name="jpJaar" type="xs:string" />
			<xs:element name="jpSeknr" type="xs:string" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="DokumentnummerType">
		<xs:sequence>
			<xs:element name="saSaar" type="xs:string" />
			<xs:element name="saSeknr" type="xs:string" />
			<xs:element name="jpJpostnr" type="xs:string" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<!-- Type definitions for input/output messages -->
	
	<xs:complexType name="GetNoarksakRequestType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="searchCriteria" type="types:SearchCriteriaType" maxOccurs="unbounded" />
				<xs:element name="saId" type="xs:string" />
				<xs:element name="saksnummer" type="types:SaksnummerType" />
				<xs:element name="saEksternNokkel" type="types:EksternNokkelType" />
			</xs:choice>	
			<xs:element name="returnNoarksakRequests" type="types:NoarksakReturnRequestsType" minOccurs="0" />
			<xs:element name="returnJournpostRequests" type="types:JournpostReturnRequestsType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="GetNoarksakResponseType">
		<xs:sequence>
			<xs:element name="status" type="types:StatusType" />
			<xs:element name="noarksak" type="types:NoarksakType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="PutNoarksakRequestType">
		<xs:sequence>
			<xs:element name="noarksak" type="types:NoarksakType"></xs:element>
			<xs:element name="eksternData" type="types:EksternDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PutNoarksakResponseType">
		<xs:sequence>
			<xs:element name="status" type="types:StatusType"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="GetJournpostRequestType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="searchCriteria" type="types:SearchCriteriaType" maxOccurs="unbounded" />
				<xs:element name="jpId" type="xs:string" />
				<xs:element name="saId" type="xs:string" />				
				<xs:element name="lopenummer" type="types:LopenummerType"/>
				<xs:element name="dokumentnummer" type="types:DokumentnummerType"/>
				<xs:element name="jpEksternNokkel" type="types:EksternNokkelType" />												
				<xs:element name="saEksternNokkel" type="types:EksternNokkelType" />				
			</xs:choice>
			<xs:element name="returnJournpostRequests" type="types:JournpostReturnRequestsType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="GetJournpostResponseType">
		<xs:sequence>
			<xs:element name="status" type="types:StatusType"/>
			<xs:element name="journpost" type="types:JournpostType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="PutJournpostRequestType">
		<xs:sequence>
			<xs:element name="journpost" type="types:JournpostType" />
			<xs:element name="eksternData" type="types:EksternDataType" minOccurs="0"/>			
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PutJournpostResponseType">
		<xs:sequence>
			<xs:element name="status" type="types:StatusType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetNoarksakRequest" type="types:GetNoarksakRequestType"/>
	<xs:element name="GetNoarksakResponse" type="types:GetNoarksakResponseType"/>			
	<xs:element name="PutNoarksakRequest" type="types:PutNoarksakRequestType"/>			
	<xs:element name="PutNoarksakResponse" type="types:PutNoarksakResponseType"/>
	<xs:element name="GetJournpostRequest" type="types:GetJournpostRequestType"/>
	<xs:element name="GetJournpostResponse" type="types:GetJournpostResponseType"/>
	<xs:element name="PutJournpostRequest" type="types:PutJournpostRequestType"/>
	<xs:element name="PutJournpostResponse" type="types:PutJournpostResponseType"/>

	
</xs:schema>
