<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
	vc:minVersion="1.1" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning">

	<!-- RAPPORTO DI CONTROLLO 2 -->
<xs:element name="RapportiControllo2">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="RapportoControllo2" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>

						<!-- SEZIONE A -->
						<xs:element ref="DatiIdentificativi" minOccurs="1" maxOccurs="1"/>

						<!-- SEZIONE B -->
						<xs:element ref="DocTecnicaCorredo" minOccurs="1" maxOccurs="1"/>

						<!-- SEZIONE C -->
						<xs:element ref="TrattamentoAcqua" minOccurs="1" maxOccurs="1"/>

						<!-- SEZIONE D -->
						<xs:element ref="ControlloImpianto" minOccurs="1" maxOccurs="1"/>

						<!-- SEZIONE E -->
						<xs:element ref="AnalisiCircuiti" minOccurs="1" maxOccurs="1"/>

						<!-- SEZIONE F -->
						<xs:element ref="ConsumiCombustibili" minOccurs="0" maxOccurs="1"/>

						<!-- SEZIONE G -->
						<xs:element ref="ConsumoElettricita" minOccurs="0" maxOccurs="1"/>

						<!-- SEZIONE H -->
						<xs:element ref="CheckList" minOccurs="1" maxOccurs="1"/>

					</xs:sequence>
					<xs:assert
						test="every $ConsumoCombustile in ConsumiCombustibili satisfies 
						if(count($ConsumoCombustile//Combustibile) eq 4)
						then $ConsumoCombustile//Combustibile[1]//AnnoInizio != $ConsumoCombustile//Combustibile[2]//AnnoInizio 
						and $ConsumoCombustile//Combustibile[1]//AnnoInizio != $ConsumoCombustile//Combustibile[3]//AnnoInizio 
						and $ConsumoCombustile//Combustibile[1]//AnnoInizio != $ConsumoCombustile//Combustibile[4]//AnnoInizio
						and $ConsumoCombustile//Combustibile[2]//AnnoInizio != $ConsumoCombustile//Combustibile[3]//AnnoInizio
						and $ConsumoCombustile//Combustibile[2]//AnnoInizio != $ConsumoCombustile//Combustibile[4]//AnnoInizio
						and $ConsumoCombustile//Combustibile[3]//AnnoInizio != $ConsumoCombustile//Combustibile[4]//AnnoInizio else 
						if(count($ConsumoCombustile//Combustibile) eq 3) 
						then $ConsumoCombustile//Combustibile[1]//AnnoInizio != $ConsumoCombustile//Combustibile[2]//AnnoInizio 
						and $ConsumoCombustile//Combustibile[1]//AnnoInizio != $ConsumoCombustile//Combustibile[3]//AnnoInizio 
						and $ConsumoCombustile//Combustibile[2]//AnnoInizio != $ConsumoCombustile//Combustibile[3]//AnnoInizio else
						if(count($ConsumoCombustile//Combustibile) eq 2) 
						then $ConsumoCombustile//Combustibile[1]//AnnoInizio != $ConsumoCombustile//Combustibile[2]//AnnoInizio else
						true()"/>
					<xs:assert
						test="every $ConsumoProdotto in TrattamentoAcqua satisfies
						if(count($ConsumoProdotto//Prodotto) eq 4)
						then $ConsumoProdotto//Prodotto[1]//AnnoInizio != $ConsumoProdotto//Prodotto[2]//AnnoInizio
						and $ConsumoProdotto//Prodotto[1]//AnnoInizio != $ConsumoProdotto//Prodotto[3]//AnnoInizio
						and $ConsumoProdotto//Prodotto[1]//AnnoInizio != $ConsumoProdotto//Prodotto[4]//AnnoInizio
						and $ConsumoProdotto//Prodotto[2]//AnnoInizio != $ConsumoProdotto//Prodotto[3]//AnnoInizio
						and $ConsumoProdotto//Prodotto[2]//AnnoInizio != $ConsumoProdotto//Prodotto[4]//AnnoInizio
						and $ConsumoProdotto//Prodotto[3]//AnnoInizio != $ConsumoProdotto//Prodotto[4]//AnnoInizio else
						if(count($ConsumoProdotto//Prodotto) eq 3)
						then $ConsumoProdotto//Prodotto[1]//AnnoInizio != $ConsumoProdotto//Prodotto[2]//AnnoInizio
						and $ConsumoProdotto//Prodotto[1]//AnnoInizio != $ConsumoProdotto//Prodotto[3]//AnnoInizio
						and $ConsumoProdotto//Prodotto[2]//AnnoInizio != $ConsumoProdotto//Prodotto[3]//AnnoInizio else
						if(count($ConsumoProdotto//Prodotto) eq 2)
						then $ConsumoProdotto//Prodotto[1]//AnnoInizio != $ConsumoProdotto//Prodotto[2]//AnnoInizio else
						true()"/>
					<xs:assert
						test="every $ConsumoAcqua in TrattamentoAcqua satisfies
						if(count($ConsumoAcqua//AcquaReintegro) eq 4)
						then $ConsumoAcqua//AcquaReintegro[1]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[2]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[1]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[3]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[1]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[4]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[2]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[3]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[2]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[4]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[3]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[4]//AnnoInizio else
						if(count($ConsumoAcqua//AcquaReintegro) eq 3)
						then $ConsumoAcqua//AcquaReintegro[1]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[2]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[1]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[3]//AnnoInizio
						and $ConsumoAcqua//AcquaReintegro[2]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[3]//AnnoInizio else
						if(count($ConsumoAcqua//AcquaReintegro) eq 2)
						then $ConsumoAcqua//AcquaReintegro[1]//AnnoInizio != $ConsumoAcqua//AcquaReintegro[2]//AnnoInizio else
						true()"/>
					<xs:assert
						test="every $ConsumoElettricita in ConsumiElettricita satisfies
						if(count($ConsumoElettricita//Elettricita) eq 4)
						then $ConsumoElettricita//Elettricita[1]//AnnoInizio != $ConsumoElettricita//Elettricita[2]//AnnoInizio
						and $ConsumoElettricita//Elettricita[1]//AnnoInizio != $ConsumoElettricita//Elettricita[3]//AnnoInizio
						and $ConsumoElettricita//Elettricita[1]//AnnoInizio != $ConsumoElettricita//Elettricita[4]//AnnoInizio
						and $ConsumoElettricita//Elettricita[2]//AnnoInizio != $ConsumoElettricita//Elettricita[3]//AnnoInizio
						and $ConsumoElettricita//Elettricita[2]//AnnoInizio != $ConsumoElettricita//Elettricita[4]//AnnoInizio
						and $ConsumoElettricita//Elettricita[3]//AnnoInizio != $ConsumoElettricita//Elettricita[4]//AnnoInizio else
						if(count($ConsumoElettricita//Elettricita) eq 3)
						then $ConsumoElettricita//Elettricita[1]//AnnoInizio != $ConsumoElettricita//Elettricita[2]//AnnoInizio
						and $ConsumoElettricita//Elettricita[1]//AnnoInizio != $ConsumoElettricita//Elettricita[3]//AnnoInizio
						and $ConsumoElettricita//Elettricita[2]//AnnoInizio != $ConsumoElettricita//Elettricita[3]//AnnoInizio else
						if(count($ConsumoElettricita//Elettricita) eq 2)
						then $ConsumoElettricita//Elettricita[1]//AnnoInizio != $ConsumoElettricita//Elettricita[2]//AnnoInizio else
						true()"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- ******************************************************************* -->
	<!-- 		                     DEFINIZIONE SEZIONI                     -->
	<!-- ******************************************************************* -->

	<!-- SEZIONE A: DATI IDENTIFICATIVI  -->
	<xs:element name="DatiIdentificativi">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Codice" 		type="Varchar020" 		minOccurs="0" maxOccurs="1"/>
				<xs:element name="Targa" 		type="Targa" 			minOccurs="0" maxOccurs="1"/>
				<xs:element name="GF" 			type="Integer8NoZero" 	minOccurs="1" maxOccurs="1"/>
				<xs:element name="Fabbricante" 	type="Varchar060" 		minOccurs="1" maxOccurs="1"/>
				<xs:element name="Modello" 		type="Varchar040" 		minOccurs="1" maxOccurs="1"/>
				<xs:element name="Matricola" 	type="Varchar100" 		minOccurs="1" maxOccurs="1"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE B: DOCUMENTAZIONE TECNICA A CORREDO -->
	<xs:element name="DocTecnicaCorredo">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="LibrettoPresente" 				type="xs:boolean" minOccurs="1" maxOccurs="1"/>
				<xs:element name="DichiarazioneConformitaPresente" 	type="xs:boolean" minOccurs="1"	maxOccurs="1"/>
				<xs:element name="LibrettoGeneratorePresente" 		type="xs:boolean" minOccurs="1"	maxOccurs="1"/>
				<xs:element name="LibrettoCompilato" 				type="xs:boolean" minOccurs="1" maxOccurs="1"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE C: TRATTAMENTO DELL'ACQUA -->
	<xs:element name="TrattamentoAcqua">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="AcquaReintegro" type="AnalisiEsercizio" minOccurs="1"	maxOccurs="4"/>
				<xs:element name="Prodotto" minOccurs="0" maxOccurs="4">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="NomeProdotto" 					type="Varchar060" 			minOccurs="1"	maxOccurs="1"/>
							<xs:element name="Biennio" 							type="AnniEsercizio" 		minOccurs="1"	maxOccurs="1"/>
							<xs:element name="QuantitaProdotto" 				type="Decimal8-1" 			minOccurs="1"	maxOccurs="1"/>
							<xs:element name="UdmProdotto" 						type="UnitaMisuraProdotto" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="CircuitoImpiantoTermicoPresente" 	type="xs:boolean"			minOccurs="1" 	maxOccurs="1"/>
							<xs:element name="CircuitoACSPresente" 				type="xs:boolean" 			minOccurs="1"	maxOccurs="1"/>
							<xs:element name="AltriAusiliariPresenti" 			type="xs:boolean"			minOccurs="1" 	maxOccurs="1"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE D: CONTROLLO IMPIANTO -->
	<xs:element name="ControlloImpianto">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Idoneita" 					type="SiNoNc" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="Ventilazione" 				type="SiNoNc" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="ApertureLibere" 				type="SiNoNc" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="LineeElettriche" 				type="SiNoNc" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="Coibentazioni" 				type="SiNoNc" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="Regime" 						type="TipoRegime" 	minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="AssenzaPerditaRefrigerante" 	type="xs:boolean"	minOccurs="1"	maxOccurs="1"/>
				<xs:element name="FiltriPuliti" 				type="xs:boolean" 	minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="RilevazioneFugheRefrigerante" type="SiNoNc" 		minOccurs="1"	maxOccurs="1"/>
				<xs:element name="ScambiatorePuliti" 			type="SiNoNc" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="RilevazioneFugheIndiretta" 	type="SiNoNc" 		minOccurs="1"	maxOccurs="1"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE E: ANALISI CIRCUITI -->
	<xs:element name="AnalisiCircuiti">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="AnalisiCircuito" minOccurs="1" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Surriscaldamento" 			type="NegativeDecimal7-2" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="Sottoraffreddamento" 			type="NegativeDecimal7-2" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="Condensazione" 				type="NegativeDecimal7-2" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="Evaporazione" 				type="NegativeDecimal7-2" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="IngressoEsterno" 				type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
							<xs:element name="UscitaEsterno" 				type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
							<xs:element name="IngressoUtenze" 				type="NegativeDecimal7-2" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="UscitaUtenze" 				type="NegativeDecimal7-2" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="PotenzaAssorbita" 			type="Decimal7-2NoZero" 	minOccurs="1"	maxOccurs="1"/>
							<xs:element name="UscitaFluido" 				type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
							<xs:element name="Bulbo" 						type="NegativeDecimal7-2" 	minOccurs="0" 	maxOccurs="1"/>
							<xs:element name="IngressoEsternoIntermedio"	type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
							<xs:element name="UscitaEsternoIntermedio" 		type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
							<xs:element name="IngressoMacchina" 			type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
							<xs:element name="UscitaMacchina" 				type="NegativeDecimal7-2" 	minOccurs="0"	maxOccurs="1"/>
						</xs:sequence>
						<xs:attribute name="Circuito" type="Integer8NoZero" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE F: CONSUMO COMBUSTIBILE -->
	<xs:element name="ConsumiCombustibili">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Combustibile" minOccurs="1" maxOccurs="4">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="NomeCombustibile" type="TipoCombustibile"		minOccurs="1" 	maxOccurs="1"/>
							<xs:element name="Biennio" 			type="AnniEsercizio" 		minOccurs="1"	maxOccurs="1"/>
							<xs:element name="Acquisti" 		type="Decimal7-2" 			minOccurs="0"	maxOccurs="1"/>
							<xs:element name="LetturaIniziale" 	type="Decimal7-2" 			minOccurs="0"	maxOccurs="1"/>
							<xs:element name="LetturaFinale" 	type="Decimal7-2" 			minOccurs="0"	maxOccurs="1"/>
							<xs:element name="Consumo" 			type="Decimal7-2" 			minOccurs="1" 	maxOccurs="1"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE G: CONSUMO ELETTRICITA' -->
	<xs:element name="ConsumoElettricita">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Elettricita" type="AnalisiEsercizio" minOccurs="1" maxOccurs="4"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SEZIONE H: CHECK LIST -->
	<xs:element name="CheckList">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SostituzioneGeneratoriConsigliato" 	type="xs:boolean" 	minOccurs="0"	maxOccurs="1"/>
				<xs:element name="SostituzioneSistemiConsigliato" 		type="xs:boolean" 	minOccurs="0"	maxOccurs="1"/>
				<xs:element name="IsolamentoReteConsigliato" 			type="xs:boolean" 	minOccurs="0"	maxOccurs="1"/>
				<xs:element name="IsolamentoCanaliConsigliato" 			type="xs:boolean" 	minOccurs="0"	maxOccurs="1"/>
				<xs:element name="Osservazioni" 						type="Varchar500" 	minOccurs="0" 	maxOccurs="1"/>
				<xs:element name="Raccomandazioni" 						type="Varchar500" 	minOccurs="0" 	maxOccurs="1"/>
				<xs:element name="Prescrizioni" 						type="Varchar500" 	minOccurs="0" 	maxOccurs="1"/>
				<xs:element name="Esito" 								type="xs:boolean" 	minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="DataControllo" 						type="xs:date" 		minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="DataProssimoIntervento" 				type="xs:date" 		minOccurs="0" 	maxOccurs="1"/>
				<xs:element name="OraArrivo" 							type="OreMinuti" 	minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="OraPartenza" 							type="OreMinuti" 	minOccurs="1" 	maxOccurs="1"/>
				<xs:element name="NumRapportoControllo" 				type="Varchar020" 	minOccurs="0"	maxOccurs="1"/>
				<xs:element name="CodiceOperatore" 						type="Varchar010" 	minOccurs="1" 	maxOccurs="1"/>
			</xs:sequence>
			<xs:assert test="OraPartenza gt OraArrivo"/>
			<xs:assert test="if(count(DataProssimoIntervento) ge 1) then DataProssimoIntervento gt DataControllo else true()"></xs:assert>
		</xs:complexType>
	</xs:element>

	<!-- ******************************************************************* -->
	<!-- 		                     TIPI DI DATO COMUNI                     -->
	<!-- ******************************************************************* -->

	<xs:simpleType name="Targa">
		<xs:restriction base="xs:token">
			<xs:pattern value="^(([A-Z]|\d){5})\d{9}03$"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar003">
		<xs:restriction base="xs:string">
			<xs:maxLength value="3"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar010">
		<xs:restriction base="xs:string">
			<xs:maxLength value="10"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar020">
		<xs:restriction base="xs:string">
			<xs:maxLength value="20"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar035">
		<xs:restriction base="xs:string">
			<xs:maxLength value="35"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar040">
		<xs:restriction base="xs:string">
			<xs:maxLength value="40"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar060">
		<xs:restriction base="xs:string">
			<xs:maxLength value="60"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar100">
		<xs:restriction base="xs:string">
			<xs:maxLength value="100"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Varchar500">
		<xs:restriction base="xs:string">
			<xs:maxLength value="500"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Integer8">
		<xs:restriction base="xs:integer">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="99999999"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Integer8NoZero">
		<xs:restriction base="xs:integer">
			<xs:minExclusive value="0"/>
			<xs:maxInclusive value="99999999"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Decimal7-2">
		<xs:restriction base="xs:decimal">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="9999999.99"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Decimal7-2NoZero">
		<xs:restriction base="xs:decimal">
			<xs:minExclusive value="0"/>
			<xs:maxInclusive value="9999999.99"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Decimal8-1">
		<xs:restriction base="xs:decimal">
			<xs:minExclusive value="0"/>
			<xs:maxInclusive value="99999999.9"/>
			<xs:fractionDigits value="1"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="NegativeDecimal7-2">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Anno">
		<xs:restriction base="xs:positiveInteger">
			<xs:totalDigits value="4"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="OreMinuti">
		<xs:restriction base="xs:token">
			<xs:pattern value="(([0]?|1)[0-9]|2[0-3]):([0-5][0-9])"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="SiNoNc">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Si"/>
			<xs:enumeration value="No"/>
			<xs:enumeration value="Nc"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="TipoCombustibile">
		<xs:choice>
			<xs:element name="GasNaturale">
				<xs:complexType>
					<xs:choice>
						<xs:element name="m3">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="GPL">
				<xs:complexType>
					<xs:choice>
						<xs:element name="lt">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Gasolio">
				<xs:complexType>
					<xs:choice>
						<xs:element name="kg">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="AriaPropanata">
				<xs:complexType>
					<xs:choice>
						<xs:element name="lt">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Kerosene">
				<xs:complexType>
					<xs:choice>
						<xs:element name="kg">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="OlioCombustibile">
				<xs:complexType>
					<xs:choice>
						<xs:element name="kg">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="OlioVegetale">
				<xs:complexType>
					<xs:choice>
						<xs:element name="kg">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Biodiesel">
				<xs:complexType>
					<xs:choice>
						<xs:element name="kg">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Biogas">
				<xs:complexType>
					<xs:choice>
						<xs:element name="m3">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="Syngas">
				<xs:complexType>
					<xs:choice>
						<xs:element name="m3">
							<xs:complexType/>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="AnalisiEsercizio">
		<xs:sequence>
			<xs:element name="Biennio" 			type="AnniEsercizio" 	minOccurs="1" maxOccurs="1"/>
			<xs:element name="LetturaIniziale" 	type="Decimal7-2" 		minOccurs="0" maxOccurs="1"/>
			<xs:element name="LetturaFinale" 	type="Decimal7-2" 		minOccurs="0" maxOccurs="1"/>
			<xs:element name="Consumo" 			type="Decimal7-2" 		minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="AnniEsercizio">
		<xs:sequence>
			<xs:element name="AnnoInizio" 	type="Anno" minOccurs="1" maxOccurs="1"/>
			<xs:element name="AnnoFine" 	type="Anno" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
		<xs:assert test="AnnoFine eq AnnoInizio+1"/>
	</xs:complexType>

	<xs:complexType name="UnitaMisuraProdotto">
		<xs:choice>
			<xs:element name="kg">
				<xs:complexType/>
			</xs:element>
			<xs:element name="lt">
				<xs:complexType/>
			</xs:element>
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="TipoRegime">
		<xs:choice>
			<xs:element name="Riscaldamento"/>
			<xs:element name="Raffrescamento"/>
		</xs:choice>
	</xs:complexType>

</xs:schema>