<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="se/skatteverket/foretagsregistrering/komponent/1.0" xmlns="se/skatteverket/foretagsregistrering/komponent/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<xs:annotation>
		<xs:documentation>dc</xs:documentation>
		<xs:appinfo>
			<SchemaMetadata xmlns="se/skatteverket/zl/SchemaMetadata/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcq="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="se/skatteverket/zl/SchemaMetadata/1.0 http://xmls.skatteverket.se/se/skatteverket/zl/SchemaMetadata/1.0/SchemaMetadata.xsd ">
				<dc:title>Förfrågan företagsuppgifter</dc:title>
				<dc:description>Elektronisk förfrågan av företagsuppgifter</dc:description>
				<dc:publisher>Verksamhetsstöd för Skatteverket och Kronofogden</dc:publisher>
				<dc:creator>
					<dcq:contact>Telefonnummer 010-577 95 15</dcq:contact>
					<dcq:owner>Skatteverket</dcq:owner>
				</dc:creator>
				<dc:date>
					<dcq:created>2009-06-15</dcq:created>
					<dcq:modified>2012-02-14</dcq:modified>
				</dc:date>
				<dc:subject>förfrågan företagsuppgifter</dc:subject>
				<dc:identifier>FR_XMLS.1_1.X</dc:identifier>
			</SchemaMetadata>
		</xs:appinfo>
	</xs:annotation>
	<xs:simpleType name="OrgNrTYPE">
		<xs:annotation>
			<xs:documentation>Organisationsnummer består i likhet med personnummer av tio siffror. Den tredje siffran är alltid lägst en tvåa för att undvika förväxling med personnummer. Den sista siffran är en s.k. kontrollsiffra. Kontrollberäkning för validering av kontrollsiffra görs inte av schemat. Organisationsnummer med sekelsiffra har tillförts två inledande fiktiva sekelsiffror (16) vilket gör totalt tolv siffror.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:positiveInteger">
			<xs:pattern value="16[\d]{2}[2-9]{1}[\d]{7}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TomTYPE">
		<xs:annotation>
			<xs:documentation>Typ som innehåller tomma strängen (dvs lämnas utan innehåll)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TomOrgNrTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla en ArManad eller lämnas tom</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="OrgNrTYPE TomTYPE"/>
	</xs:simpleType>

	<xs:simpleType name="RiktigPersonnrTYPE">
		<xs:annotation>
			<xs:documentation>Schema för validering av personnummer utan bindestreck/plustecken men med inledande sekelsiffrorna 18, 19 eller 20.  Schemat hanterar datumintervallet 18000101 - 20991231. Födelsenummer i intervallet 001-999 godtages (ej 000 enligt SKV 704 utgåva 8). Kontrollsiffra 0-9 godtages. Kontrollberäkning för validering av kontrollsiffra görs inte av schemat.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:positiveInteger">
			<xs:pattern value="(18|19|20)[\d]{2}(01|03|05|07|08|10|12)(01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						31 dagar: januari, mars, maj, juli, augusti, oktober och december. Intervall 18000101 - 20991231
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(18|19|20)[\d]{2}(04|06|09|11)(01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30)[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						30 dagar: april, juni, september, november. Intervall 18000401 - 20991130
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(18|19|20)[\d]{2}(02)(01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28)[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						28 dagar: februari. Intervall 18000201 - 20990228
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(18|19|20)(04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)(0229)[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						29 dagar: februari under skottår. Intervall 18040229 - 20960229
					</xs:documentation>
					<xs:documentation>
						Årtal som är jämnt delbart med 4 är skottår. Detta gäller inte årtal som är
						jämnt delbara med 100. Alltså var åren 1800 resp. 1900 inte skottår.
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(20)(00)(0229){1}[\d]{2}[1-9]{1}[\d]{1}">
				<xs:annotation>
					<xs:documentation>
							29 dagar: februari under skottår. Avser 20000229.
					</xs:documentation>
					<xs:documentation>
							Årtal som är jämnt delbart med 4 är skottår. Detta gäller inte årtal som är
							jämnt delbara med 100. Dock är årtal jämnt delbara med 400 skottår. Alltså var 
							inte år 1800 eller 1900 skottår medan år 2000 var skottår. 
						</xs:documentation>
				</xs:annotation>
			</xs:pattern>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PrelPersonnrTYPE">
		<xs:annotation>
			<xs:documentation>Schema för validering av samordningsnummer utan bindestreck/plustecken men med inledande	sekelsiffrorna 18, 19 eller 20.  Schemat hanterar datumintervallet 18000161 - 20991291. Födelsenummer i intervallet 001-999 godtages (enligt SKV 707 utgåva 2). Kontrollsiffra 0-9 godtages. Kontrollberäkning för validering av kontrollsiffra görs inte av schemat.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:positiveInteger">
			<xs:pattern value="(18|19|20)[\d]{2}(01|03|05|07|08|10|12)(6[1-9]|7[0-9]|8[0-9]|9[0-1])[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						31 dagar: januari, mars, maj, juli, augusti, oktober och december. Intervall 18000161 - 20991291
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(18|19|20)[\d]{2}(04|06|09|11)(6[1-9]|7[0-9]|8[0-9]|90)[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						30 dagar: april, juni, september, november. Intervall 18000461 - 20991190
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(18|19|20)[\d]{2}(02)(6[1-9]|7[0-9]|8[0-8])[\d]{2}[1-9]{1}[\d]{1}">
				<xs:annotation>
					<xs:documentation>
						28 dagar: februari. Intervall 18000261 - 20990288
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(18|19|20)(04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)(0289)[\d]{4}">
				<xs:annotation>
					<xs:documentation>
						29 dagar: februari under skottår. Intervall 18040289 - 20960289
					</xs:documentation>
					<xs:documentation>
						Årtal som är jämnt delbart med 4 är skottår. Detta gäller inte årtal som är
						jämnt delbara med 100. Alltså var åren 1800 resp. 1900 inte skottår.
					</xs:documentation>
				</xs:annotation>
			</xs:pattern>
			<xs:pattern value="(20)(00)(0289){1}[\d]{2}[1-9]{1}[\d]{1}">
				<xs:annotation>
					<xs:documentation>
							29 dagar: februari under skottår. Avser 20000289.
					</xs:documentation>
					<xs:documentation>
							Årtal som är jämnt delbart med 4 är skottår. Detta gäller inte årtal som är
							jämnt delbara med 100. Dock är årtal jämnt delbara med 400 skottår. Alltså var 
							inte år 1800 eller 1900 skottår medan år 2000 var skottår. 
						</xs:documentation>
				</xs:annotation>
			</xs:pattern>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PersonnrTYPE">
		<xs:annotation>
			<xs:documentation>Schema för validering av personidentitet för fysisk person. Kontrollberäkning för validering av kontrollsiffra görs inte av schemat.</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="RiktigPersonnrTYPE PrelPersonnrTYPE"/>
	</xs:simpleType>
	<xs:simpleType name="PersonOrgnrTYPE">
		<xs:annotation>
			<xs:documentation>Organisationsnummer eller personidentitet</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="PersonnrTYPE OrgNrTYPE"/>
	</xs:simpleType>
	<xs:simpleType name="TomPersonOrgnrTYPE">
		<xs:annotation>
			<xs:documentation>Organisationsnummer eller personidentitet</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="PersonOrgnrTYPE TomTYPE"/>
	</xs:simpleType>
	
	<!-- Grunddatatyper för korrekt data -->
	<xs:simpleType name="BeloppTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla ett belopp mellan -999999999999 och 999999999999</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="999999999999"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DatumTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla ett datum</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="ArManadTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla år och månad (YYYY-mm)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
   			 <xs:pattern value="[0-9]{4}-[0-9]{2}" />
  		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BooleanTYPE">
		<xs:annotation>
			<xs:documentation>Typ som får innehålla en boolsk variabel, true eller false</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:boolean"/>
	</xs:simpleType>
	<!-- Datatyper som kan anta korrekta värden eller tomt - kombinationen av de ovanstående -->
	<xs:simpleType name="TomArManadTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla en ArManad eller lämnas tom</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="ArManadTYPE TomTYPE"/>
	</xs:simpleType>
	<xs:simpleType name="TomDatumTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla ett datum eller lämnas tom</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="DatumTYPE TomTYPE"/>
	</xs:simpleType>
	<xs:simpleType name="TomBeloppTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla ett belopp mellan -999999999999 och 999999999999 eller lämnas tom</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="BeloppTYPE TomTYPE"/>
	</xs:simpleType>
	<xs:simpleType name="TomBooleanTYPE">
		<xs:annotation>
			<xs:documentation>Typ som kan innehålla en boolean eller lämnas tom</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="BooleanTYPE TomTYPE"/>
	</xs:simpleType>
	
</xs:schema>
