<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema version="1.0" targetNamespace="http://begrep.difi.no/sdp/schema_v10"
	xmlns="http://begrep.difi.no/sdp/schema_v10"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="qualified">

	<xsd:include schemaLocation="sdp-felles.xsd"/>

	<xsd:element name="manifest" type="Manifest"/>

	<xsd:complexType name="Manifest">
		<xsd:annotation>
			<xsd:documentation>
				Inneholder metadata relatert til hver fil i en forsendelse.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="mottaker" type="Mottaker" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="avsender" type="Avsender" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="hoveddokument" type="Dokument" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="vedlegg" type="Dokument" minOccurs="0" maxOccurs="200"/>
			<xsd:element name="lenke" type="Lenke" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="Dokument">
		<xsd:sequence>
			<xsd:element name="tittel" minOccurs="0" maxOccurs="1" type="Tittel">
				<xsd:annotation>
					<xsd:documentation>
						Emnet på dokumentet som skal vises til bruker når innlogget riktig sikkerhetsnivå.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
            <xsd:element name="data" minOccurs="0" maxOccurs="1" type="DokumentData">
                <xsd:annotation>
                    <xsd:documentation>
                        Ekstra data som beriker dokumentet i postkassen.
                        Se https://begrep.difi.no/SikkerDigitalPost/utvidelser for en oversikt over hvilke utvidelser
                        som finnes og er tilgjengelig hos de ulike postkasseleverandørene.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
		</xsd:sequence>
		<xsd:attribute name="href" use="required">
			<xsd:annotation>
				<xsd:documentation>
					Navn på filen i dokumentpakken.
				</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:minLength value="4" />
					<xsd:maxLength value="100" />
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="mime" use="required">
			<xsd:annotation>
				<xsd:documentation>
					For tillatte MIME-typer, se http://begrep.difi.no/ (TODO)
				</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:minLength value="1" />
					<xsd:maxLength value="100" />
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>

	<xsd:complexType name="Lenke">
		<xsd:sequence>
			<xsd:element name="url" type="HttpLenke" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="beskrivelse" type="LenkeBeskrivelseTekst" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="knappTekst" type="LenkeKnappTekst" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="frist" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="HttpLenke">
		<xsd:restriction base="xsd:anyURI">
			<xsd:pattern value="https?://.+" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="LenkeBeskrivelseTekst">
		<xsd:simpleContent>
			<xsd:extension base="LenkeBeskrivelseTekstString">
				<xsd:attribute name="lang" type="Spraakkode" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="LenkeBeskrivelseTekstString">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
			<xsd:maxLength value="70"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="LenkeKnappTekst">
		<xsd:simpleContent>
			<xsd:extension base="LenkeKnappTekstString">
				<xsd:attribute name="lang" type="Spraakkode" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="LenkeKnappTekstString">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
			<xsd:maxLength value="30"/>
		</xsd:restriction>
	</xsd:simpleType>

    <xsd:complexType name="DokumentData">
        <xsd:attribute name="href" use="required">
            <xsd:annotation>
                <xsd:documentation>
                    Navn på filen i dokumentpakken.
                </xsd:documentation>
            </xsd:annotation>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:minLength value="4" />
                    <xsd:maxLength value="100" />
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="mime" use="required">
            <xsd:annotation>
                <xsd:documentation>
                    For tillatte MIME-typer, se https://begrep.difi.no/SikkerDigitalPost/utvidelser
                </xsd:documentation>
            </xsd:annotation>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:minLength value="1" />
                    <xsd:maxLength value="100" />
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>

</xsd:schema>
