<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

	<xs:element name="root">
		<xs:complexType>
			<xs:sequence>

				<!-- ziel -->
				<xs:element name="ziel">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="staat" type="staat" />
							<xs:element name="instanz" type="instanz" />
						</xs:sequence>
						<xs:attribute name="kategorie">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="ENERGIEAUSWEIS" />
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<!-- ende ziel -->

				<!-- client -->
				<xs:element name="client">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="client">
								<xs:attribute name="version" type="stringMin1"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<!-- ende client -->

				<!-- kontakt -->
				<xs:element name="kontaktdaten">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="kontakt" type="kontakt" minOccurs="3" maxOccurs="10" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<!-- ende kontakt -->

				<!-- adressobjekt -->
				<xs:element name="adressobjekt">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="staat" type="staat" />
							<xs:element name="bundesland" type="bundesland" />
							<xs:element name="gwrcode" type="stringMin1" minOccurs="0" />
							<xs:element name="gwrzahl" type="stringMin1" minOccurs="0" />
							<xs:element name="giscode" type="stringMin1" minOccurs="0" />
							<xs:element name="adressnummer" type="stringMin1" minOccurs="0" />
							<xs:element name="plz" type="plz" />
							<xs:element name="gemeinde">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="stringMin2">
											<xs:attribute name="kennziffer">
												<xs:simpleType>
													<xs:restriction base="xs:positiveInteger">
														<xs:minInclusive value="1" />
														<xs:maxInclusive value="999999" />
													</xs:restriction>
												</xs:simpleType>
											</xs:attribute>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="ort">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="stringMin2">
											<xs:attribute name="kennziffer">
												<xs:simpleType>
													<xs:restriction base="xs:positiveInteger">
														<xs:minInclusive value="1" />
														<xs:maxInclusive value="999999" />
													</xs:restriction>
												</xs:simpleType>
											</xs:attribute>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="strasse">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="stringMin2">
											<xs:attribute name="kennziffer">
												<xs:simpleType>
													<xs:restriction base="xs:positiveInteger">
														<xs:minInclusive value="1" />
														<xs:maxInclusive value="999999" />
													</xs:restriction>
												</xs:simpleType>
											</xs:attribute>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="hausnummer" type="stringMin1" />
							<xs:element name="stiege" type="stringMin1" minOccurs="0" />
							<xs:element name="tuer" type="stringMin1" minOccurs="0" />
							<xs:element name="katastralgemeinde">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="stringMin2">
											<xs:attribute name="nummer" type="xs:positiveInteger" use="required" />
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="einlagezahl" type="stringMin1" minOccurs="0" maxOccurs="1" />
							<xs:element name="grundstuecksnummern">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="grundstuecksnummer" type="stringMin1" minOccurs="1" maxOccurs="10"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="eigentuemer" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="PRIVAT" />
										<xs:enumeration value="WOHNBAUTRAEGER_HAUSVERWALTUNG" />
										<xs:enumeration value="GEWERBEBETRIEB_VEREIN_GEWERBEAEHNLICH" />
										<xs:enumeration value="GEMEINDE" />
										<xs:enumeration value="LAND" />
										<xs:enumeration value="BUND" />
										<xs:enumeration value="SONSTIGE" />
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<!-- ende adressobjekt -->

				<!-- energieausweis -->
				<xs:element name="energieausweis">
					<xs:complexType>
						<xs:sequence>

							<!-- energieausweis/projekteigenschaften -->
							<xs:element name="projekteigenschaften">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="typ" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="NEUBAUPLANUNG" />
													<xs:enumeration value="SANIERUNGSPLANUNG" />
													<xs:enumeration value="ISTZUSTAND" />
													<xs:enumeration value="NEUBAUFERTIGSTELLUNG" />
													<xs:enumeration value="SANIERUNGSFERTIGSTELLUNG" />
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="zweck" type="stringMin2" minOccurs="0" />
										<xs:element name="bezeichnung" type="stringMin2" />
										<xs:element name="rechenmethode">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="VEREINFACHT" />
													<xs:enumeration value="DETAILLIERT" />
													<xs:enumeration value="GEMISCHT" />
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="berechnungsmodell" type="berechnungsmodell" />
										<xs:element name="eazonierungstyp">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="GANZES_GEBAEUDE" />
													<xs:enumeration value="HAUSTECHNIKZONE" />
													<xs:enumeration value="NUTZUNGSEINHEIT" />
													<xs:enumeration value="NUTZUNGSZONE" />
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="nutzungszone" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="EINFAMILIENHAUS" />
													<xs:enumeration value="DOPPELHAUS" />
													<xs:enumeration value="REIHENHAUS" />
													<xs:enumeration value="MEHRFAMILIENHAUS" />
													<xs:enumeration value="MEHRGESCHOSSIGER_WOHNBAU" />
													<xs:enumeration value="BUEROGEBAEUDE" />
													<xs:enumeration value="KINDERGARTEN_PFLICHTSCHULE" />
													<xs:enumeration value="HOEHERESCHULE_HOCHSCHULE" />
													<xs:enumeration value="KRANKENHAUS" />
													<xs:enumeration value="PFLEGEHEIM" />
													<xs:enumeration value="PENSION" />
													<xs:enumeration value="HOTEL" />
													<xs:enumeration value="GASTSTAETTE" />
													<xs:enumeration value="VERANSTALTUNGSSTAETTE" />
													<xs:enumeration value="SPORTSTAETTE" />
													<xs:enumeration value="VERKAUFSSTAETTE" />
													<xs:enumeration value="SONSTIGES_KONDITIONIERTES_GEBAEUDE" />
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="eigentumsverhaeltnis" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="VERMIETET" />
													<xs:enumeration value="GEMIETET" />
													<xs:enumeration value="EIGENGENUTZT" />
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="nutzungseinheitenea" type="xs:nonNegativeInteger" minOccurs="0" />
										<xs:element name="nutzungseinheitenganzesgebaeude" type="xs:nonNegativeInteger" minOccurs="0" />
										<xs:element name="nutzungszonenganzesgebaeude" type="xs:nonNegativeInteger" minOccurs="0" />
										<xs:element name="haustechnikzonenganzesgebaeude" type="xs:nonNegativeInteger" minOccurs="0" />
										<xs:element name="geschosseganzesgebaeude" type="xs:positiveInteger" />
										<xs:element name="unterkellerung" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="konditioniert" type="einheit_prozent" />
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="baujahr" type="xs:gYear" />
										<xs:element name="ausstellung" type="xs:date" />
										<xs:element name="gueltigkeit" type="xs:date" minOccurs="0" />
										<xs:element name="baueinreichung" type="xs:date" minOccurs="0" />
										<xs:element name="bauweise">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="LEICHTE_BAUWEISE" />
													<xs:enumeration value="MITTELSCHWERE_BAUWEISE" />
													<xs:enumeration value="SCHWERE_BAUWEISE" />
													<xs:enumeration value="SEHR_SCHWERE_BAUWEISE" />
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="personenimhaushalt" type="xs:positiveInteger" minOccurs="0" />
										<xs:element name="mehrzonigebauweise" type="xs:boolean" />
										<xs:element name="mehrzonigehaustechnik" type="xs:boolean" />
										<xs:element name="denkmalschutz" type="xs:boolean" />
										<xs:element name="sonstigeschuetzenswertegebaeude" type="xs:boolean" />
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<!-- ende energieausweis/projekteigenschaften -->

							<!-- energieausweis/energieausweisdaten -->
							<xs:element name="energieausweisdaten">
								<xs:complexType>
									<xs:sequence>

										<!-- energieausweis/energieausweisdaten/klimalage -->
										<xs:element name="klimalage">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="klimaregion" type="stringMin1" />
													<xs:element name="seehoehe" type="einheit_m" />
													<xs:element name="heizgradtage" type="einheit_kd" />
													<xs:element name="heiztage" type="einheit_d" />
													<xs:element name="normaussentemperatur" type="einheit_grad_celsius" />
													<xs:element name="mittlereinnentemperatur" type="einheit_grad_celsius" />
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<!-- ende energieausweis/energieausweisdaten/klimalage -->

										<!-- energieausweis/energieausweisdaten/anlagentechnik -->
										<xs:element name="anlagentechnik">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="schwimmbadbeheizt" type="xs:boolean" minOccurs="0" />
													<xs:element name="sonstigewaermeabnehmer" type="xs:boolean" minOccurs="0" />

													<!-- energieausweis/energieausweisdaten/anlagentechnik/raumwaerme -->
													<xs:element name="raumwaerme">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="regelung" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:enumeration value="EINZELRAUM_ELEKTRONISCH" />
																			<xs:enumeration value="EINZELRAUM_PI" />
																			<xs:enumeration value="EINZELRAUM_THERMOSTAT" />
																			<xs:enumeration value="EINZELRAUM_ZONENREGELUNG" />
																			<xs:enumeration value="HAENDISCH" />
																			<xs:enumeration value="KEINE" />
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="hilfsenergie" type="einheit_W" minOccurs="0" />

																<xs:element name="speichersystem" type="speichersystem_raumwaerme" minOccurs="0" />

																<!-- energieausweis/energieausweisdaten/anlagentechnik/raumwaerme/waermebereitstellung -->
																<xs:element name="waermebereitstellung">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="heizungstyp" type="heizungstyp" />
																			<xs:element name="zusatzheizungstyp" type="heizungstyp" minOccurs="0" />
																			<xs:element name="art">
																				<xs:simpleType>
																					<xs:restriction base="xs:string">
																						<xs:enumeration value="ZENTRAL" />
																						<xs:enumeration value="DEZENTRAL" />
																					</xs:restriction>
																				</xs:simpleType>
																			</xs:element>
																			<xs:element name="konditioniert" type="xs:boolean" />
																			<xs:element name="nennwaermeleistung" type="einheit_kW" minOccurs="0" />
																			<xs:element name="baujahr" type="xs:gYear" minOccurs="0" />
																			<xs:element name="geblaese" type="xs:boolean" minOccurs="0" />
																			<xs:element name="modulierend" type="xs:boolean" minOccurs="0" />
																			<xs:element name="gleitend" type="xs:boolean" minOccurs="0" />
																			<xs:element name="waermepumpe" minOccurs="0">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="bivalenzpunkt" type="einheit_grad_celsius" minOccurs="0" />
																						<xs:element name="nennleistung" type="einheit_kW" minOccurs="0" />
																						<xs:element name="jahresarbeitszahl" type="nonNegativeDecimal" minOccurs="0" />
																						<xs:element name="leistungszahl" type="nonNegativeDecimal" minOccurs="0" />
																						<xs:element name="stromsubzaehler" type="xs:boolean" minOccurs="0" />
																						<xs:element name="waermemengenzaehler" type="xs:boolean" minOccurs="0" />
																					</xs:sequence>
																					<xs:attribute name="waermepumpentyp" use="required">
																						<xs:simpleType>
																							<xs:restriction base="xs:string">
																								<xs:enumeration value="WW" />
																								<xs:enumeration value="BOHRUNG_SW" />
																								<xs:enumeration value="BOHRUNG_CO2W" />
																								<xs:enumeration value="KOLLEKTOR_SW" />
																								<xs:enumeration value="LW" />
																								<xs:enumeration value="LL" />
																								<xs:enumeration value="DV" />
																								<xs:enumeration value="SONSTIGE" />
																							</xs:restriction>
																						</xs:simpleType>
																					</xs:attribute>
																					<xs:attribute name="betriebsart" use="required">
																						<xs:simpleType>
																							<xs:restriction base="xs:string">
																								<xs:enumeration value="MONOVALENT" />
																								<xs:enumeration value="BIVALENT_ALTERNATIV" />
																								<xs:enumeration value="BIVALENT_PARALLEL" />
																							</xs:restriction>
																						</xs:simpleType>
																					</xs:attribute>
																					<xs:attribute name="anlagentyp">
																						<xs:simpleType>
																							<xs:restriction base="xs:string">
																								<xs:enumeration value="HWB" />
																								<xs:enumeration value="WWWB" />
																								<xs:enumeration value="HWB_WWWB" />
																							</xs:restriction>
																						</xs:simpleType>
																					</xs:attribute>
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<!-- ende energieausweis/energieausweisdaten/anlagentechnik/raumwaerme/waermebereitstellung -->

																<!-- energieausweis/energieausweisdaten/anlagentechnik/raumwaerme/waermeverteilung -->
																<xs:element name="waermeverteilung" minOccurs="0">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="pumpen" minOccurs="0">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="anzahl" type="xs:nonNegativeInteger" />
																						<xs:element name="frequenzgesteuert" type="xs:nonNegativeInteger" />
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<xs:element name="verteilleitungen" type="leitungen" minOccurs="0" />
																			<xs:element name="steigleitungen" type="leitungen" minOccurs="0" />
																			<xs:element name="anbindeleitungen" type="leitungen" minOccurs="0" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<!-- ende energieausweis/energieausweisdaten/anlagentechnik/raumwaerme/waermeverteilung -->

																<!-- energieausweis/energieausweisdaten/anlagentechnik/raumwaerme/waermeabgabe -->
																<xs:element name="waermeabgabe">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="heizkreise" type="xs:nonNegativeInteger" minOccurs="0" />
																			<xs:element name="vorlauftemperatur" type="einheit_grad_celsius" minOccurs="0" />
																			<xs:element name="ruecklauftemperatur" type="einheit_grad_celsius" minOccurs="0" />
																		</xs:sequence>
																		<xs:attribute name="typ" use="required">
																			<xs:simpleType>
																				<xs:restriction base="xs:string">
																					<xs:enumeration value="RADIATOREN" />
																					<xs:enumeration value="FLAECHENHEIZUNG" />
																					<xs:enumeration value="RADIATOREN_FLAECHENHEIZUNG" />
																					<xs:enumeration value="GEBLAESEKONVEKTOREN" />
																					<xs:enumeration value="SONSTIGE" />
																				</xs:restriction>
																			</xs:simpleType>
																		</xs:attribute>
																	</xs:complexType>
																</xs:element>
																<!-- ende energieausweis/energieausweisdaten/anlagentechnik/raumwaerme/waermeabgabe -->

															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/anlagentechnik/raumwaerme -->

													<!-- energieausweis/energieausweisdaten/anlagentechnik/warmwasser -->
													<xs:element name="warmwasser" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="art">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:enumeration value="ZENTRAL" />
																			<xs:enumeration value="DEZENTRAL" />
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="kombiniertheizperiode" type="xs:boolean" minOccurs="0" />
																<xs:element name="zirkulation" type="xs:boolean" />
																<xs:element name="speichersystem" type="speichersystem_warmwasser" minOccurs="0" />
																<xs:element name="verteilleitungen" type="leitungen" minOccurs="0" />
																<xs:element name="steigleitungen" type="leitungen" minOccurs="0" />
																<xs:element name="stichleitungen" type="stichleitungen" minOccurs="0" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/anlagentechnik/warmwasser -->

													<!-- energieausweis/energieausweisdaten/anlagentechnik/solaranlage -->
													<xs:element name="solaranlage" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="kollektorentyp" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:enumeration value="EINFACH" />
																			<xs:enumeration value="HOCHSELEKTIV" />
																			<xs:enumeration value="VAKUUM" />
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="aperturflaeche" type="einheit_m2" minOccurs="0" />
																<xs:element name="suedausrichtung" type="einheit_grad" minOccurs="0" />
																<xs:element name="neigungswinkel" type="einheit_grad" minOccurs="0" />
																<xs:element name="hilfsenergie" type="einheit_W" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="typ" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="HEIZUNG_WARMWASSER" />
																		<xs:enumeration value="WARMWASSER" />
																		<xs:enumeration value="HEIZUNG" />
																		<xs:enumeration value="SONSTIGE" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="gemeinschaftsanlage" use="required" type="xs:boolean" />
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/anlagentechnik/solaranlage -->

													<!-- energieausweis/energieausweisdaten/anlagentechnik/photovoltaik -->
													<xs:element name="photovoltaik" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="kollektorflaeche" type="einheit_m2" minOccurs="0" />
																<xs:element name="leistungpeak" type="einheit_kW" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="typ" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="INSELANLAGE" />
																		<xs:enumeration value="NETZEINSPEISUNG" />
																		<xs:enumeration value="SONSTIGE" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/anlagentechnik/photovoltaik -->

													<!-- energieausweis/energieausweisdaten/anlagentechnik/lueftungsanlage -->
													<xs:element name="raumlufttechnik" minOccurs="0">
														<!--
														lueftungsgeraet
														erdwaermetauscher
														-->
														<xs:complexType>
															<xs:sequence>
																<xs:element name="waermerueckgewinnung" minOccurs="0">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="waermerueckgewinnungsgrad" type="einheit_prozent" minOccurs="0" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="lueftungsgeraet" minOccurs="0">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="wirkungsgrad" type="einheit_prozent" minOccurs="0" />
																		</xs:sequence>
																		<xs:attribute name="typ">
																			<xs:simpleType>
																				<xs:restriction base="xs:string">
																					<xs:enumeration value="KREUZSTROM_WT" />
																					<xs:enumeration value="GEGENSTROM_WT" />
																					<xs:enumeration value="SONSTIGE" />
																				</xs:restriction>
																			</xs:simpleType>
																		</xs:attribute>
																	</xs:complexType>
																</xs:element>
																<xs:element name="erdwaermetauscher" minOccurs="0">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="wirkungsgrad" type="einheit_prozent" minOccurs="0" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="luftvolumenstrom" type="einheit_m3_h" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="art" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="NATUERLICH" />
																		<xs:enumeration value="ABLUFTANLAGE" />
																		<xs:enumeration value="KONTROLLIERTEWOHNRAUMLUEFTUNG" />
																		<xs:enumeration value="LUFTERNEUERUNG" />
																		<xs:enumeration value="RLT_KVS_OHNE" />
																		<xs:enumeration value="RLT_VVS_OHNE" />
																		<xs:enumeration value="RLT_KVS_HEIZEN" />
																		<xs:enumeration value="RLT_VVS_HEIZEN" />
																		<xs:enumeration value="RLT_KVS_HEIZEN_KUEHLEN" />
																		<xs:enumeration value="RLT_VVS_HEIZEN_KUEHLEN" />
																		<xs:enumeration value="RLT_KVS_KUEHLEN" />
																		<xs:enumeration value="RLT_VVS_KUEHLEN" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/anlagentechnik/lueftungsanlage -->

												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<!-- ende energieausweis/energieausweisdaten/anlagentechnik -->

										<!-- energieausweis/energieausweisdaten/energieverbrauch -->
										<xs:element name="energieverbrauch" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="energieendverbrauch" type="einheit_kWh_a" />
													<xs:element name="stromverbrauch" type="einheit_kWh_a" />
													<xs:element name="primaerenergieverbrauch" type="einheit_kWh_a" />
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<!-- ende energieausweis/energieausweisdaten/energieverbrauch -->

										<!-- energieausweis/energieausweisdaten/berechnung -->
										<xs:element name="berechnung">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="flaechenbezogenerhwbohnerlt" type="einheit_kWh_m2_a" />
													<xs:element name="flaechenbezogenerhwbmitrlt" type="einheit_kWh_m2_a" />

													<xs:element name="referenzklima">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="hwb" type="einheit_kWh_a" />
																<xs:element name="hwbspezifisch" type="einheit_kWh_m2_a" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>

													<xs:element name="standortklima">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="hwb" type="einheit_kWh_a" />
																<xs:element name="hwbspezifisch" type="einheit_kWh_m2_a" />
																<xs:element name="eeb" type="einheit_kWh_a" />
																<xs:element name="eebspezifisch" type="einheit_kWh_m2_a" />
																<xs:element name="co2" type="einheit_kg_a" />
																<xs:element name="co2spezifisch" type="einheit_kg_m2_a" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>

													<xs:element name="waermebruecken" type="waermebruecken" />
													<xs:element name="transmissionsleitwert" type="einheit_W_K" />
													<xs:element name="lueftungsleitwert" type="einheit_W_K" />
													<xs:element name="gebaeudeheizlast" type="einheit_kW" />
													<xs:element name="flaechenbezogeneheizlast" type="einheit_W_m2" />
													<xs:element name="mittlereruwert" type="einheit_W_m2K" />
													<xs:element name="lekgebaeudekonstante" type="xs:decimal" />

													<!-- energieausweis/energieausweisdaten/berechnung/gebaeudegeometrie -->
													<xs:element name="gebaeudegeometrie">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="charakteristischelaenge" type="einheit_m" />
																<xs:element name="kompaktheit" type="einheit_1_m" />
																<xs:element name="beheiztesbruttovolumen" type="einheit_m3" />
																<xs:element name="gebaeudehuellflaeche" type="einheit_m2" />
																<xs:element name="bruttogrundflaeche" type="einheit_m2" />
																<xs:element name="nutzflaeche" type="einheit_m2" />
																<xs:element name="oi3konstruktionsoberflaeche" type="einheit_m2" minOccurs="0" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/berechnung/gebaeudegeometrie -->

													<!-- energieausweis/energieausweisdaten/berechnung/energiekennzahlenwohngebaeude -->
													<xs:element name="energiekennzahlenwohngebaeude" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="standortklima">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="wwwb" type="einheit_kWh_a" />
																			<xs:element name="htebrh" type="einheit_kWh_a_negativ" />
																			<xs:element name="htebww" type="einheit_kWh_a_negativ" />
																			<xs:element name="hteb" type="einheit_kWh_a_negativ" />
																			<xs:element name="heb" type="einheit_kWh_a" />
																			<xs:element name="peb" type="einheit_kWh_a" minOccurs="0" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="anforderungen">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="hwb" type="einheit_kWh_m2_a" />
																			<xs:element name="eeb" type="einheit_kWh_m2_a" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- energieausweis/energieausweisdaten/berechnung/energiekennzahlenwohngebaeude -->

													<!-- energieausweis/energieausweisdaten/berechnung/energiekennzahlennichtwohngebaeude -->
													<xs:element name="energiekennzahlennichtwohngebaeude" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="referenzklima">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="hwbstern" type="einheit_kWh_a" />
																			<xs:element name="hwbsternspezifisch" type="einheit_kWh_m3_a" />
																			<xs:element name="kbstern" type="einheit_kWh_a" />
																			<xs:element name="kbsternspezifisch" type="einheit_kWh_m3_a" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="standortklima" minOccurs="0">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="wwwb" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="nerlth" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="kb" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="nerltk" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="nerltd" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="ne" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="kteb" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="keb" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="rlteb" type="einheit_kWh_a" minOccurs="0" />
																			<xs:element name="beleb" type="einheit_kWh_a" minOccurs="0" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="anforderungen">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="hwbstern" type="einheit_kWh_m3_a" />
																			<xs:element name="kbstern" type="einheit_kWh_m3_a" />
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/berechnung/energiekennzahlennichtwohngebaeude -->

													<!-- energieausweis/energieausweisdaten/berechnung/lekwerte -->
													<xs:element name="lekwerte">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="lekt" type="negativeDecimal" />
																<xs:element name="lekv" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekh" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekw" type="negativeDecimal" minOccurs="0" />
																<xs:element name="leksp" type="negativeDecimal" minOccurs="0" />
																<xs:element name="leksa" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekin" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekcstern" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekc" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekhwb" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekheb" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekhev" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekp" type="negativeDecimal" minOccurs="0" />
																<xs:element name="mco2" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lekco2" type="negativeDecimal" minOccurs="0" />
																<xs:element name="lektvs" type="negativeDecimal" minOccurs="0" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/berechnung/lekwerte -->

													<!-- energieausweis/energieausweisdaten/berechnung/waermebilanzwerte -->
													<xs:element name="waermebilanzwerte" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="transmissionswaermeverluste" type="einheit_kWh_a" minOccurs="0" />
																<xs:element name="lueftungswaermeverluste" type="einheit_kWh_a" minOccurs="0" />
																<xs:element name="inneregewinne" type="einheit_kWh_a" minOccurs="0" />
																<xs:element name="aktivesolarewaermegewinne" type="einheit_kWh_a" minOccurs="0" />
																<xs:element name="passivesolarewaermegewinne" type="einheit_kWh_a" minOccurs="0" />
																<xs:element name="nutzbareinneregewinne" type="einheit_kWh_a" minOccurs="0" />
																<xs:element name="nutzbarepassivesolargewinne" type="einheit_kWh_a" minOccurs="0" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/berechnung/waermebilanzwerte -->

													<!-- energieausweis/energieausweisdaten/berechnung/waermerueckgewinnung -->
													<xs:element name="waermerueckgewinnung" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="luftwechsel" type="einheit_1_h" minOccurs="0" />
																<xs:element name="luftwechselrateblowerdoor" type="einheit_1_h" minOccurs="0" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/berechnung/waermerueckgewinnung -->

													<!-- energieausweis/energieausweisdaten/berechnung/oi3emissionen -->
													<xs:element name="oi3emissionen" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="treibhauspotenzial" type="einheit_kgCO2_m2_punkte" minOccurs="0" />
																<xs:element name="versaeuerungspotenzial" type="einheit_kgSO2_m2_punkte" minOccurs="0" />
																<xs:element name="primaerenergieinhalt" type="einheit_MJ_m2_punkte" minOccurs="0" />
																<xs:element name="oi3tgh" type="negativeDecimal" minOccurs="0" />
																<xs:element name="oi3tghbgf" type="negativeDecimal" minOccurs="0" />
																<xs:element name="oi3tghlc" type="negativeDecimal" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="richtlinie">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="1.7" />
																		<xs:enumeration value="2.0" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
													<!-- ende energieausweis/energieausweisdaten/berechnung/oi3emissionen -->

													<!-- energieausweis/energieausweisdaten/berechnung/bauteile -->
													<xs:element name="bauteile" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="bauteil" type="bauteil" maxOccurs="9999" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- energieausweis/energieausweisdaten/berechnung/bauteile -->

													<!-- energieausweis/energieausweisdaten/berechnung/anmerkungen -->
													<xs:element name="anmerkungen" type="anmerkungen" minOccurs="0" />
													<xs:element name="warnungen" type="anmerkungen" minOccurs="0" />
													<xs:element name="empfehlungen" type="anmerkungen" minOccurs="0" />
													<!-- energieausweis/energieausweisdaten/berechnung/anmerkungen -->

												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<!-- ende energieausweis/energieausweisdaten/berechnung -->

										<!-- energieausweis/energieausweisdaten/verbesserungsvorschlaege -->
										<xs:element name="verbesserungsvorschlaege" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="waermedaemmunggebaeudehuelle" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="aussenwand" type="istsoll" minOccurs="0" />
																<xs:element name="fenstertueren" type="istsoll" minOccurs="0" />
																<xs:element name="deckeoben" type="istsoll" minOccurs="0" />
																<xs:element name="deckeunten" type="istsoll" minOccurs="0" />
																<xs:element name="waermebruecken" type="einsparungMitBeschreibung" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="einsparung" type="prozent" />
															<xs:attribute name="einheit" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="%" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>

													<xs:element name="einbauraumlufttechnik" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="waermerueckgewinnung" type="einsparungMitBeschreibung" minOccurs="0" />
																<xs:element name="bedarfsgeregelteabluft" type="einsparungMitBeschreibung" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="einsparung" type="prozent" />
															<xs:attribute name="einheit" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="%" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>

													<xs:element name="optimierungheizsystem" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="leistungsanpassung" type="einsparungMitBeschreibung" minOccurs="0" />
																<xs:element name="daemmungarmaturenleitung" type="einsparungMitBeschreibung" minOccurs="0" />
																<xs:element name="temperaturanpassung" type="einsparungMitBeschreibung" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="einsparung" type="prozent" />
															<xs:attribute name="einheit" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="%" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>

													<xs:element name="optimierungsolarpassiv" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="fensterflaechen" type="einsparungMitBeschreibung" minOccurs="0" />
																<xs:element name="winterbesonnung" type="einsparungMitBeschreibung" minOccurs="0" />
															</xs:sequence>
															<xs:attribute name="einsparung" type="prozent" />
															<xs:attribute name="einheit" use="required">
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:enumeration value="%" />
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
														</xs:complexType>
													</xs:element>

													<xs:element name="solaranlage" type="einsparungMitBeschreibung" minOccurs="0" />

													<xs:element name="co2emission" type="einheit_prozent" />
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<!-- ende energieausweis/energieausweisdaten/verbesserungen -->

										<!-- energieausweis/energieausweisdaten/bundeslanddaten -->
										<xs:element name="bundeslanddaten" minOccurs="0">
											<xs:complexType>
												<xs:sequence>

													<!-- salzburg -->
													<xs:element name="salzburg" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="zuschlagspunkte">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="denkmalschutz" type="xs:boolean" />
																			<!-- energieausweis/bundeslanddaten/energieoekologischemassnahmen -->
																			<xs:element name="energieoekologischemassnahmen">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="lekklasse" type="punkteString" />
																						<xs:element name="anschlussfernwaerme" type="punkteBoolean" />
																						<xs:element name="biomassenutzungabwaermenutzung">
																							<xs:complexType>
																								<xs:simpleContent>
																									<xs:extension base="xs:boolean">
																										<xs:attribute name="punkte" type="xs:nonNegativeInteger" use="required" />
																										<xs:attribute name="umstiegfossilbio" type="xs:boolean" use="required" />
																									</xs:extension>
																								</xs:simpleContent>
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="waermepumpe" type="punkteBoolean" />
																						<xs:element name="aktivsolaranlage">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="solarpro20" type="xs:boolean" />
																									<xs:element name="solarpro30" type="xs:boolean" />
																								</xs:sequence>
																								<xs:attribute name="punkte" type="xs:nonNegativeInteger" use="required" />
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="wohnraumlueftungmitwaermerueckgewinnung" type="punkteBoolean" />
																						<xs:element name="passivsolarenergie" type="punkteBoolean" />
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<!-- energieausweis/bundeslanddaten/sonstigeoekologischemassnahmen -->
																			<xs:element name="sonstigeoekologischemassnahmen">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="oi3lcklasse" type="punkteString" />
																						<xs:element name="regenodergrauwassernutzung" type="punkteBoolean" />
																						<xs:element name="bodenversiegelung" type="punkteBoolean" />
																						<xs:element name="wassereinsparungsensorarmatur" type="punkteBoolean" />
																						<xs:element name="dachbegruenung" type="punkteBoolean" />
																						<xs:element name="energiebuchhaltungeffizienzueberwachung" type="punkteBoolean" />
																						<xs:element name="kontrolliertelueftungmitabluftanlage" type="punkteBoolean" />
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<!-- -->
																			<xs:element name="foerderklasseenergieoekologischemassnahmen" type="xs:nonNegativeInteger" />
																			<xs:element name="foerderklasseoekologischemassnahmen" type="xs:nonNegativeInteger" />
																			<xs:element name="foerdermodell" type="xs:gYear" />
																			<!-- energieausweis/bundeslanddaten/punktesummen -->
																			<xs:element name="punktesummen">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="energiepunkte" type="xs:nonNegativeInteger" />
																						<xs:element name="oekologiepunkte" type="xs:nonNegativeInteger" />
																						<xs:element name="oekologiezuschlagspunkte" type="xs:nonNegativeInteger" />
																						<xs:element name="gesamtpunkte" type="xs:nonNegativeInteger" />
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<!-- energieausweis/bundeslanddaten/nachweise -->
																			<xs:element name="nachweise" minOccurs="0">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="solarpflichtausnahme" type="xs:boolean" minOccurs="0" />
																						<xs:element name="fernwaermeaufbringung" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:enumeration value="KWK" />
																									<xs:enumeration value="ERNEUERBAR" />
																									<xs:enumeration value="KWK_ERNEUERBAR" />
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="fernwaermemoeglich" type="xs:boolean" minOccurs="0" />
																						<xs:element name="biogenmoeglich" type="xs:boolean" minOccurs="0" />
																						<xs:element name="haustechnikneubaugeplant" type="xs:boolean" minOccurs="0" />
																						<xs:element name="kaltwasserzaehler" type="xs:boolean" minOccurs="0" />
																						<xs:element name="wcspuelmengendosierung" type="xs:boolean" minOccurs="0" />
																						<xs:element name="duschkopfmaxneunliter" type="xs:boolean" minOccurs="0" />
																						<xs:element name="waschtischmaxsechsliter" type="xs:boolean" minOccurs="0" />
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="wbffoerdersparten" type="stringMin2" minOccurs="0" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<!-- salzburg -->

													<!-- steiermark -->
													<xs:element name="steiermark" minOccurs="0" />

													<!-- kaernten -->
													<xs:element name="kaernten" minOccurs="0" />

												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<!-- ende energieausweis/energieausweisdaten/bundeslanddaten -->

									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<!-- ende energieausweis/energieausweisdaten -->

						</xs:sequence>
						<xs:attribute name="xmlversion" type="nonNegativeDecimal" fixed="3.1" />
						<xs:attribute name="layoutversion">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="OIB1999" />
									<xs:enumeration value="OIB2007" />
									<xs:enumeration value="SALZBURG2010" />
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<!-- ende energieausweis -->

			</xs:sequence>
		</xs:complexType>
	</xs:element>



	<!--
		wiederverwendbare type definitions
	-->

	<!-- nonNegativeDecimal -->
	<xs:simpleType name="nonNegativeDecimal">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="2" />
			<xs:minInclusive value="0" />
    		<xs:maxInclusive value="99999999" />
		</xs:restriction>
	</xs:simpleType>

	<!-- negativeDecimal -->
	<xs:simpleType name="negativeDecimal">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="2" />
			<xs:minInclusive value="-99999999" />
    		<xs:maxInclusive value="99999999" />
		</xs:restriction>
	</xs:simpleType>

	<!-- instanz -->
	<xs:simpleType name="instanz">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ktn" />
			<xs:enumeration value="sbg" />
			<xs:enumeration value="stmk" />
			<xs:enumeration value="immozeus" />
		</xs:restriction>
	</xs:simpleType>

	<!-- client -->
	<xs:simpleType name="client">
		<xs:restriction base="xs:string">
			<xs:enumeration value="geq"/>
			<xs:enumeration value="ecotech"/>
			<xs:enumeration value="anull"/>
			<xs:enumeration value="ax3000"/>
			<xs:enumeration value="etu"/>
			<xs:enumeration value="solar"/>
		</xs:restriction>
	</xs:simpleType>

	<!-- staat -->
	<xs:simpleType name="staat">
		<xs:restriction base="xs:string">
			<xs:minLength value="2" />
			<xs:maxLength value="3" />
		</xs:restriction>
	</xs:simpleType>

	<!-- bundesland -->
	<xs:simpleType name="bundesland">
		<xs:restriction base="xs:string">
			<xs:enumeration value="bgld" />
			<xs:enumeration value="ktn" />
			<xs:enumeration value="noe" />
			<xs:enumeration value="ooe" />
			<xs:enumeration value="sbg" />
			<xs:enumeration value="stmk" />
			<xs:enumeration value="tirol" />
			<xs:enumeration value="vbg" />
			<xs:enumeration value="wien" />
		</xs:restriction>
	</xs:simpleType>

	<!-- booleanTrue -->
	<xs:simpleType name="booleanTrue">
		<xs:restriction base="xs:string">
			<xs:enumeration value="1" />
			<xs:enumeration value="true" />
		</xs:restriction>
	</xs:simpleType>

	<!-- plz -->
	<xs:simpleType name="plz">
		<xs:restriction base="xs:integer">
			<xs:minInclusive value="1000" />
    		<xs:maxInclusive value="999999" />
		</xs:restriction>
	</xs:simpleType>

	<!-- stringMin1 -->
	<xs:simpleType name="stringMin1">
		<xs:restriction base="xs:string">
			<xs:minLength value="1" />
		</xs:restriction>
	</xs:simpleType>

	<!-- stringMin2 -->
	<xs:simpleType name="stringMin2">
		<xs:restriction base="xs:string">
			<xs:minLength value="2" />
		</xs:restriction>
	</xs:simpleType>

	<!-- kontakt -->
	<xs:complexType name="kontakt">
		<xs:sequence>
			<xs:element name="ansprechperson">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="anrede" minOccurs="0">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:pattern value="Herr|Frau" />
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="titel" type="stringMin2" minOccurs="0" />
						<xs:element name="vorname" type="stringMin1" />
						<xs:element name="nachname" type="stringMin2" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="firma" type="stringMin2" minOccurs="0" />
			<xs:element name="telefon" type="stringMin2" />
			<xs:element name="fax" type="stringMin2" minOccurs="0" />
			<xs:element name="email" type="stringMin2" minOccurs="0" />
			<xs:element name="adresse">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="staat" type="staat" />
						<xs:element name="plz" type="plz" />
						<xs:element name="ort" type="stringMin2" />
						<xs:element name="strasse" type="stringMin2" />
						<xs:element name="hausnummer" type="stringMin1" />
						<xs:element name="stiege" type="stringMin1" minOccurs="0" />
						<xs:element name="tuer" type="stringMin1" minOccurs="0" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="zusatzdaten" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="typ" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="BAUHERR" />
					<xs:enumeration value="PLANER" />
					<xs:enumeration value="EIGENTUEMER" />
					<xs:enumeration value="BERECHNER" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<!-- speichersystem -->
	<xs:complexType name="speichersystem">
		<xs:sequence>
			<xs:element name="volumen" type="einheit_l" />
			<xs:element name="konditioniert" type="xs:boolean" />
			<xs:element name="gedaemmt" type="xs:boolean" />
			<xs:element name="epatrone" type="xs:boolean" />
		</xs:sequence>
	</xs:complexType>

	<!-- speichersystem_raumwaerme -->
	<xs:complexType name="speichersystem_raumwaerme">
		<xs:complexContent>
			<xs:extension base="speichersystem">
				<xs:attribute name="typ" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="PUFFER" />
							<xs:enumeration value="LASTAUSGLEICH_WP" />
							<xs:enumeration value="LASTAUSGLEICH_BIOMASSE" />
							<xs:enumeration value="LASTAUSGLEICH_SOLAR" />
							<xs:enumeration value="LASTAUSGLEICH_HEIZKESSEL" />
							<xs:enumeration value="LASTAUSGLEICH_SONSTIGE" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- speichersystem_warmwasser -->
	<xs:complexType name="speichersystem_warmwasser">
		<xs:complexContent>
			<xs:extension base="speichersystem">
				<xs:sequence>
					<xs:element name="hygienischewarmwasserbereitung" type="xs:boolean" minOccurs="0" />
				</xs:sequence>
				<xs:attribute name="typ" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="INDIREKT_GAS" />
							<xs:enumeration value="INDIREKT_OEL" />
							<xs:enumeration value="INDIREKT_FESTBRENNSTOFF" />
							<xs:enumeration value="INDIREKT_BIOMASSE" />
							<xs:enumeration value="INDIREKT_FERNWAERME" />
							<xs:enumeration value="INDIREKT_SOLAR" />
							<xs:enumeration value="INDIREKT_WP" />
							<xs:enumeration value="INDIREKT_SONSTIGE" />
							<xs:enumeration value="DIREKT_STROM" />
							<xs:enumeration value="DIREKT_GAS" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- heizungstyp -->
	<xs:complexType name="heizungstyp">
		<xs:simpleContent>
			<xs:extension base="heizungstyp_typ">
				<xs:attribute name="energietraeger" type="energietraeger" use="required" />
				<xs:attribute name="beschickung" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="AUTO" />
							<xs:enumeration value="MANUELL" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- heizungstyp_typ -->
	<xs:simpleType name="heizungstyp_typ">
		<xs:restriction base="xs:string">
			<xs:enumeration value="OHNE" />
			<xs:enumeration value="STANDARDKESSEL" />
			<xs:enumeration value="NIEDERTEMPERATUR" />
			<xs:enumeration value="BRENNWERT" />
			<xs:enumeration value="HEIZKESSEL" />
			<xs:enumeration value="HERD" />
			<xs:enumeration value="EINZELOFEN" />
			<xs:enumeration value="STROMDIREKT" />
			<xs:enumeration value="FERNWAERME" />
			<xs:enumeration value="KOMBITHERME_MIT_KLEINSPEICHER" />
			<xs:enumeration value="KOMBITHERME_OHNE_KLEINSPEICHER" />
			<xs:enumeration value="KACHELOFEN" />
			<xs:enumeration value="WAERMEPUMPE" />
			<xs:enumeration value="SONSTIGE" />
		</xs:restriction>
	</xs:simpleType>

	<!-- energietraeger -->
	<xs:simpleType name="energietraeger">
		<xs:restriction base="xs:string">
			<xs:enumeration value="HEIZOEL" />
			<xs:enumeration value="HEIZOEL_EXTRALEICHT" />
			<xs:enumeration value="HEIZOEL_LEICHT" />
			<xs:enumeration value="GAS" />
			<xs:enumeration value="ERDGAS" />
			<xs:enumeration value="FLUESSIGGAS" />
			<xs:enumeration value="FERNWAERME" />
			<xs:enumeration value="KOHLE" />
			<xs:enumeration value="SCHEITHOLZ" />
			<xs:enumeration value="HACKSCHNITZEL" />
			<xs:enumeration value="PELLETS" />
			<xs:enumeration value="BIOMASSE_SONSTIGE" />
			<xs:enumeration value="STROM" />
			<xs:enumeration value="FESTBRENNSTOFF_SONSTIGE" />
			<xs:enumeration value="SONSTIGE" />
		</xs:restriction>
	</xs:simpleType>

	<!-- waermepumpe_typ -->
	<xs:simpleType name="waermepumpe_typ">
		<xs:restriction base="xs:string">
			<xs:enumeration value="WW" />
			<xs:enumeration value="BOHRUNG_SW" />
			<xs:enumeration value="BOHRUNG_CO2W" />
			<xs:enumeration value="KOLLEKTOR_SW" />
			<xs:enumeration value="LW" />
			<xs:enumeration value="LL" />
			<xs:enumeration value="DV" />
			<xs:enumeration value="SONSTIGE" />
		</xs:restriction>
	</xs:simpleType>

	<!-- leitungen -->
	<xs:complexType name="leitungen">
		<xs:sequence>
			<xs:element name="gedaemmt" type="einheit_prozent" />
			<xs:element name="armaturengedaemmt" type="xs:boolean" />
			<xs:element name="konditioniert" type="xs:boolean" />
			<xs:element name="gesamtlaenge" type="einheit_m" />
		</xs:sequence>
	</xs:complexType>
	
	<!-- stichleitungen -->
	<xs:complexType name="stichleitungen">
		<xs:complexContent>
			<xs:extension base="leitungen">
				<xs:sequence>
					<xs:element name="material">
						<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:enumeration value="STAHL" />
								<xs:enumeration value="KUPFER" />
								<xs:enumeration value="KUNSTSTOFF" />
							</xs:restriction>
						</xs:simpleType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- bauteil -->
	<xs:complexType name="bauteil">
		<xs:sequence>
			<xs:element name="bezeichnung" type="stringMin2" minOccurs="0" />
			<xs:element name="flaeche" type="einheit_m2" />
			<xs:element name="uwert" type="einheit_W_m2K" minOccurs="0" />
			<xs:element name="gwert" type="einheit_prozent" minOccurs="0" />
			<xs:element name="bauteilgewicht" type="einheit_kg_m2" minOccurs="0" />
			<xs:element name="temperaturkorrekturfaktor" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="nonNegativeDecimal">
			    		<xs:maxInclusive value="1" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="typ" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<!-- Waende -->
					<xs:enumeration value="AW" />
					<xs:enumeration value="EW" />
					<xs:enumeration value="IW" />
					<xs:enumeration value="ZW" />
					<!-- Decke nach oben -->
					<xs:enumeration value="AD" />
					<xs:enumeration value="AG" />
					<xs:enumeration value="DS" />
					<xs:enumeration value="FD" />
					<xs:enumeration value="ZO" />
					<!-- Decke nach unten -->
					<xs:enumeration value="DD" />
					<xs:enumeration value="EB" />
					<xs:enumeration value="EC" />
					<xs:enumeration value="EK" />
					<xs:enumeration value="ID" />
					<xs:enumeration value="KD" />
					<xs:enumeration value="ZU" />
					<!-- Fenster u. Tueren -->
					<xs:enumeration value="AF" />
					<xs:enumeration value="AT" />
					<xs:enumeration value="DF" />
					<xs:enumeration value="IF" />
					<xs:enumeration value="IT" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="sanierunggeplant" use="required" type="xs:boolean" />
		<xs:attribute name="neubaugeplant" use="required" type="xs:boolean" />
		<xs:attribute name="bestand" use="required" type="xs:boolean" />
		<xs:attribute name="flaechenheizung" type="booleanTrue" />
	</xs:complexType>

	<!-- anmerkungen -->
	<xs:complexType name="anmerkungen">
		<xs:sequence>
			<xs:element name="allgemein" type="stringMin2" minOccurs="0" />
			<xs:element name="bauteile" type="stringMin2" minOccurs="0" />
			<xs:element name="fenster" type="stringMin2" minOccurs="0" />
			<xs:element name="geometrie" type="stringMin2" minOccurs="0" />
			<xs:element name="haustechnik" type="stringMin2" minOccurs="0" />
			<xs:element name="sonstige" type="stringMin2" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<!-- punkteBoolean -->
	<xs:complexType name="punkteBoolean">
		<xs:simpleContent>
			<xs:extension base="xs:boolean">
				<xs:attribute name="punkte" type="xs:nonNegativeInteger" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- punkteDecimal -->
	<xs:complexType name="punkteDecimal">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="punkte" type="xs:nonNegativeInteger" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- punkteString -->
	<xs:complexType name="punkteString">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="punkte" type="xs:nonNegativeInteger" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- wertMitEinheit -->
	<xs:complexType name="wertMitEinheit">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" type="stringMin1" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- berechnungsmodell -->
	<xs:complexType name="berechnungsmodell">
		<xs:simpleContent>
			<xs:extension base="berechnungsmodellEnum">
				<xs:attribute name="version" type="stringMin1" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="berechnungsmodellEnum">
		<xs:restriction base="xs:string">
			<xs:enumeration value="OIB_RICHTLINIE_6" />
		</xs:restriction>
	</xs:simpleType>

	<!-- waermebruecken -->
	<xs:complexType name="waermebruecken">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="berechnung" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="PAUSCHALZUSCHLAG" />
							<xs:enumeration value="DETAILLIERT" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="W/K" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- prozent -->
	<xs:simpleType name="prozent">
		<xs:restriction base="nonNegativeDecimal">
			<xs:maxInclusive value="100" />
		</xs:restriction>
	</xs:simpleType>

	<!-- istsoll -->
	<xs:complexType name="istsoll">
		<xs:sequence>
			<xs:element name="beschreibung" type="stringMin1" minOccurs="0" />
			<xs:element name="einsparung" type="einheit_prozent" />
		</xs:sequence>
		<xs:attribute name="ist" type="nonNegativeDecimal" use="required" />
		<xs:attribute name="soll" type="nonNegativeDecimal" use="required" />
		<xs:attribute name="einheit" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="W/m2K" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<!-- einsparungMitBeschreibung -->
	<xs:complexType name="einsparungMitBeschreibung">
		<xs:sequence>
			<xs:element name="beschreibung" type="stringMin1" minOccurs="0" />
			<xs:element name="einsparung" type="einheit_prozent" />
		</xs:sequence>
	</xs:complexType>


	<!-- PHYSIKALISCHE EINHEITEN -->

	<!-- W -->
	<xs:complexType name="einheit_W">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="W" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- W/m2 -->
	<xs:complexType name="einheit_W_m2">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="W/m2" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- W/m2K (u-wert) -->
	<xs:complexType name="einheit_W_m2K">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="W/m2K" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- mm -->
	<xs:complexType name="einheit_mm">
		<xs:simpleContent>
			<xs:extension base="xs:nonNegativeInteger">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="mm" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- cm -->
	<xs:complexType name="einheit_cm">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="cm" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- m -->
	<xs:complexType name="einheit_m">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="m" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- 1/m -->
	<xs:complexType name="einheit_1_m">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="1/m" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- m2 -->
	<xs:complexType name="einheit_m2">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="m2" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- m3 -->
	<xs:complexType name="einheit_m3">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="m3" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- l (Liter) -->
	<xs:complexType name="einheit_l">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="l" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- t (Tonnen) -->
	<xs:complexType name="einheit_t">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="t" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- d (Tage) -->
	<xs:complexType name="einheit_d">
		<xs:simpleContent>
			<xs:extension base="xs:nonNegativeInteger">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="d" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kd (Heizgradtage) -->
	<xs:complexType name="einheit_kd">
		<xs:simpleContent>
			<xs:extension base="xs:nonNegativeInteger">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kd" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kg -->
	<xs:complexType name="einheit_kg">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kg" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kg/a -->
	<xs:complexType name="einheit_kg_a">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kg/a" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kg/m2 -->
	<xs:complexType name="einheit_kg_m2">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kg/m2" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- kg/m2a -->
	<xs:complexType name="einheit_kg_m2_a">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kg/m2a" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- 1/h -->
	<xs:complexType name="einheit_1_h">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="1/h" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- m3/h -->
	<xs:complexType name="einheit_m3_h">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="m3/h" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kW -->
	<xs:complexType name="einheit_kW">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kW" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kW -->
	<xs:complexType name="einheit_prozent">
		<xs:simpleContent>
			<xs:extension base="prozent">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="%" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kWh/a -->
	<xs:complexType name="einheit_kWh_a">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kWh/a" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kWh/a -->
	<xs:complexType name="einheit_kWh_a_negativ">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kWh/a" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kWh/m2a -->
	<xs:complexType name="einheit_kWh_m2_a">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kWh/m2a" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kWh/m3a -->
	<xs:complexType name="einheit_kWh_m3_a">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kWh/m3a" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- W/K -->
	<xs:complexType name="einheit_W_K">
		<xs:simpleContent>
			<xs:extension base="nonNegativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="W/K" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- ° (Grad) -->
	<xs:complexType name="einheit_grad">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="°" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- °C (Grad Celsius) -->
	<xs:complexType name="einheit_grad_celsius">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="°C" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kgCO2/m2 -->
	<xs:complexType name="einheit_kgCO2_m2_punkte">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kgCO2/m2" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="punkte" type="xs:integer" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- kgSO2/m2 -->
	<xs:complexType name="einheit_kgSO2_m2_punkte">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="kgSO2/m2" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="punkte" type="xs:integer" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<!-- MJ/m2 -->
	<xs:complexType name="einheit_MJ_m2_punkte">
		<xs:simpleContent>
			<xs:extension base="negativeDecimal">
				<xs:attribute name="einheit" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="MJ/m2" />
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="punkte" type="xs:integer" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

</xs:schema>

