<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
  attributeFormDefault="unqualified"
  elementFormDefault="unqualified"
  targetNamespace="http://www.ediel.no/schemas/public/nubix/MeteringPointIdVerificationRequest"
  xmlns:nubix="http://www.ediel.no/schemas/public/nubix/MeteringPointIdVerificationRequest"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	
	<xsd:annotation>
		<xsd:documentation xml:lang="en">
			Copyright 2007 Statnett SF
		</xsd:documentation>
		<xsd:documentation xml:lang="en">
			Revision 29.10.2007
		</xsd:documentation>
	</xsd:annotation>

	<xsd:element name="MeteringPointIdVerificationRequest" type="nubix:MeteringPointIdVerificationRequestType" />
	
	<xsd:complexType name="MeteringPointIdVerificationRequestType">
		<xsd:sequence>
			<xsd:element name="RequestId" type="nubix:RequestIdType" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Requestor" type="nubix:RequestorType" minOccurs="1" maxOccurs="1" />
			<xsd:choice>
				<xsd:element name="OrgNo" type="nubix:OrgNoType" minOccurs="1" maxOccurs="1"/>
				<xsd:element name="BirthDate" type="xsd:date" minOccurs="1" maxOccurs="1"/>
			</xsd:choice>
			<xsd:element name="MeteringPointId" type="nubix:MeteringPointIdType" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Address" type="nubix:AddressType" minOccurs="1" maxOccurs="1" />

		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="OrgNoType">
		<xsd:annotation>
			<xsd:documentation>Swedish and Norwegian org.nos.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="\d{6}\-?\d{4}|\d{9}" />
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="RequestIdType">
		<xsd:annotation>
			<xsd:documentation>
				An unique request id generated by requestor identifying a specific MeteringPointIdVerificationRequest
				This unique id must not be removed or replaced by the gridowner recieving the request.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string" />
	</xsd:simpleType>

	<xsd:complexType name="RequestorType">
		<xsd:sequence minOccurs="1" maxOccurs="1">
			<xsd:element name="GLN" type="nubix:GLNType" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="GLNType">
		<xsd:annotation>
			<xsd:documentation>Global Location Number</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="\d{13}" />
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="MeteringPointIdType">
		<xsd:annotation>
			<xsd:documentation>According to GSRN (GS1)</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:length value="18" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="AddressType">
		<xsd:sequence>
			<xsd:element name="Address1" type="xsd:string" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Address2" type="xsd:string" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ResidentialUnitId" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="PostCode" type="nubix:PostCodeType" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Location" type="xsd:string" minOccurs="0" maxOccurs="1" />
			<xsd:element name="CountryCode" type="xsd:NMTOKEN" minOccurs="1" maxOccurs="1" default="NO" />
		</xsd:sequence>
	</xsd:complexType>


	<xsd:simpleType name="PostCodeType">
		<xsd:annotation>
			<xsd:documentation>Norwegian and Swedish post codes</xsd:documentation>
			<xsd:documentation>Example values: 0301 (Norway), 555 11 (Sweden)</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="\d{4}|\d{3}\s\d{2}" />
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>


