<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Heinrich Müller (ARBURG / Entwicklung Software) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xsd:include schemaLocation="kbbenumt.xsd"/>
	<xsd:complexType name="UnitDescriptionType">
		<xsd:annotation>
			<xsd:documentation>Typ einer Unit</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Occurrence" type="OccurrenceType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="AktivDescriptionPtr" type="AktivDescriptionPtrType"/>
			</xsd:sequence>
			<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
			<xsd:choice maxOccurs="unbounded">
				<xsd:element name="UnitDescription" type="UnitDescriptionType">
					<xsd:unique name="UnitUstringUnique2">
						<xsd:selector xpath="*"/>
						<xsd:field xpath="@UString"/>
					</xsd:unique>
				</xsd:element>
				<xsd:group ref="UnitKinder"/>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attributeGroup ref="AlleElemente"/>
		<xsd:attribute name="AediSymbolZugeordnet" type="xsd:boolean" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="PointerType">
		<xsd:annotation>
			<xsd:documentation>Referenz  (event. über Bauregel)</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence minOccurs="0">
			<xsd:element name="BauRegel" type="BauRegelType"/>
		</xsd:sequence>
		<xsd:attribute name="Ziel" type="xsd:NCName" use="required"/>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="RegelType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType"/>
			<xsd:element name="ArgumentListe" type="RegelArgumentDefType" minOccurs="0"/>
			<xsd:element name="Locals" type="RegelArgumentLocalType" minOccurs="0"/>
			<xsd:element name="Algorithmus">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attributeGroup ref="ID"/>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute ref="UString" use="required"/>
		<xsd:attribute name="CodeGenerieren" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NCName">
					<xsd:enumeration value="JA"/>
					<xsd:enumeration value="NEIN"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="KonkurrenzRegelType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType"/>
			<xsd:element name="ArgumentListe" minOccurs="0">
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:extension base="RegelArgumentDefType">
							<xsd:sequence minOccurs="0">
								<xsd:element name="Konkurrent" minOccurs="0" maxOccurs="unbounded">
									<xsd:annotation>
										<xsd:documentation>UID auf Komponente</xsd:documentation>
									</xsd:annotation>
									<xsd:complexType>
										<xsd:attribute name="Name" use="required">
											<xsd:simpleType>
												<xsd:restriction base="xsd:NCName">
													<xsd:minLength value="1"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:attribute>
										<xsd:attribute name="BasisTyp" type="RegelArgumentOperandType" use="optional"/>
										<xsd:attributeGroup ref="ID"/>
									</xsd:complexType>
								</xsd:element>
								<xsd:element name="MultiKonkurrent" minOccurs="0" maxOccurs="unbounded">
									<xsd:annotation>
										<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
									</xsd:annotation>
									<xsd:complexType>
										<xsd:attribute name="Name" use="required">
											<xsd:simpleType>
												<xsd:restriction base="xsd:NCName">
													<xsd:minLength value="1"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:attribute>
										<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
										<xsd:attributeGroup ref="ID"/>
									</xsd:complexType>
								</xsd:element>
							</xsd:sequence>
						</xsd:extension>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Locals" minOccurs="0">
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:extension base="RegelArgumentLocalType">
							<xsd:sequence minOccurs="0">
								<xsd:element name="Konkurrent" minOccurs="0" maxOccurs="unbounded">
									<xsd:annotation>
										<xsd:documentation>UID auf Komponente</xsd:documentation>
									</xsd:annotation>
									<xsd:complexType>
										<xsd:attribute name="Name" use="required">
											<xsd:simpleType>
												<xsd:restriction base="xsd:NCName">
													<xsd:minLength value="1"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:attribute>
										<xsd:attribute name="BasisTyp" type="RegelArgumentOperandType" use="optional"/>
									</xsd:complexType>
								</xsd:element>
								<xsd:element name="MultiKonkurrent" minOccurs="0" maxOccurs="unbounded">
									<xsd:annotation>
										<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
									</xsd:annotation>
									<xsd:complexType>
										<xsd:attribute name="Name" use="required">
											<xsd:simpleType>
												<xsd:restriction base="xsd:NCName">
													<xsd:minLength value="1"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:attribute>
										<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
									</xsd:complexType>
								</xsd:element>
							</xsd:sequence>
						</xsd:extension>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Algorithmus">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attributeGroup ref="ID"/>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute ref="UString" use="required"/>
		<xsd:attribute name="CodeGenerieren" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NCName">
					<xsd:enumeration value="JA"/>
					<xsd:enumeration value="NEIN"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="ErgebnisTyp" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="MinMaxWert"/>
					<xsd:enumeration value="WerteListe"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="SollParameterDescriptionType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="DatenTyp"/>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Occurrence" type="OccurrenceType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="AktivDescriptionPtr" type="AktivDescriptionPtrType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="BereichDescriptionPtr" type="PointerType"/>
			</xsd:sequence>
			<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="AlleElemente"/>
		<xsd:attribute name="Konvertierung" type="StgKonvertierung" use="optional" default="WIE_STG"/>
		<xsd:attribute name="InitWert" type="xsd:string" use="optional"/>
		<xsd:attribute name="InStgVerwaltet" type="xsd:boolean" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="IstParameterDescriptionType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="DatenTyp"/>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Occurrence" type="OccurrenceType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="AktivDescriptionPtr" type="AktivDescriptionPtrType"/>
			</xsd:sequence>
			<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="Quelle" type="ParaQuelleType" use="optional"/>
		<xsd:attributeGroup ref="AlleElemente"/>
		<xsd:attribute name="Konvertierung" type="StgKonvertierung" use="optional" default="WIE_STG"/>
		<xsd:attribute name="InStgVerwaltet" type="xsd:boolean" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="FestParameterDescriptionType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="DatenTyp"/>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Occurrence" type="OccurrenceType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="AktivDescriptionPtr" type="AktivDescriptionPtrType"/>
			</xsd:sequence>
			<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="AlleElemente"/>
		<xsd:attribute name="Konvertierung" type="StgKonvertierung" use="optional" default="WIE_STG"/>
		<xsd:attribute name="InitWert" type="xsd:string" use="optional"/>
		<xsd:attribute name="InStgVerwaltet" type="xsd:boolean" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="ZwischenParameterDescriptionType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="DatenTyp"/>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="Occurrence" type="OccurrenceType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="AktivDescriptionPtr" type="AktivDescriptionPtrType"/>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="ZwischenWertDescriptionPtr" type="PointerType"/>
			</xsd:sequence>
			<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="AlleElemente"/>
	</xsd:complexType>
	<xsd:complexType name="RestrictionDescriptionType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="AktivDescriptionPtr">
					<xsd:complexType>
						<xsd:complexContent>
							<xsd:extension base="AktivDescriptionPtrType"/>
						</xsd:complexContent>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="KonkurrenzDescriptionPtr">
					<xsd:complexType>
						<xsd:complexContent>
							<xsd:extension base="PointerType"/>
						</xsd:complexContent>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
			<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="AlleElemente"/>
	</xsd:complexType>
	<xsd:complexType name="RegelDescriptionType">
		<xsd:sequence>
			<xsd:element name="Note" type="NoteType" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="RegelPtr">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="RegelPtrType">
							<xsd:attributeGroup ref="ID"/>
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="ArgumentListe" type="RegelArgumentUseType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute ref="UString" use="required"/>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="AktivDescriptionPtrType">
		<xsd:sequence minOccurs="0">
			<xsd:element name="BauRegel" type="BauRegelType"/>
		</xsd:sequence>
		<xsd:attribute name="Ziel" type="AktivDescriptionPtrSimpleType" use="required"/>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="BauRegelType">
		<xsd:sequence minOccurs="0">
			<xsd:element name="Note" type="NoteType"/>
		</xsd:sequence>
		<xsd:attribute name="Regel" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:normalizedString">
					<xsd:minLength value="1"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:simpleType name="NoteType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="RegelPtrType">
		<xsd:annotation>
			<xsd:documentation>Verweis auf Regel</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="WertType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:attribute name="UString">
		<xsd:simpleType>
			<xsd:restriction base="xsd:NCName">
				<xsd:minLength value="1"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:attribute>
	<xsd:attribute name="Dependency" type="DependencyType"/>
	<xsd:attributeGroup name="ID">
		<xsd:attribute name="ID" type="xsd:ID" use="required"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="AlleElemente">
		<xsd:attribute ref="UString" use="required"/>
		<xsd:attribute ref="Dependency" use="required"/>
		<xsd:attributeGroup ref="ID"/>
	</xsd:attributeGroup>
	<xsd:complexType name="OccurrenceType">
		<xsd:sequence minOccurs="0">
			<xsd:element name="BauRegel" type="BauRegelType"/>
		</xsd:sequence>
		<xsd:attribute name="Min" type="xsd:byte" use="required"/>
		<xsd:attribute name="Max" type="xsd:byte" use="required"/>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="RegelArgumentDefType">
		<xsd:sequence minOccurs="0">
			<xsd:element name="Operand" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Parameter oder fester Wert</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiOperand" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Konstante" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Komponente</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentKonstanteType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiKonstante" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Ablauf" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Ablauf</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentAblaufType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiAblauf" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Ablaeufen</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Flag" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Enum mit Typ</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence maxOccurs="unbounded">
						<xsd:element name="Define">
							<xsd:complexType>
								<xsd:attribute name="Name" use="required">
									<xsd:simpleType>
										<xsd:restriction base="xsd:NCName">
											<xsd:minLength value="1"/>
										</xsd:restriction>
									</xsd:simpleType>
								</xsd:attribute>
								<xsd:attributeGroup ref="ID"/>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentFlagType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MaschinenKonfig" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Globaler Enum</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMaschinenKonfigType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="RegelArgumentUseType">
		<xsd:sequence>
			<xsd:element name="Operand" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Parameter oder fester Wert</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attributeGroup ref="ID"/>
					<xsd:attribute name="BasisTyp" type="RegelArgumentOperandType" use="required"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiOperand" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Konstante" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Komponente</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentKonstanteType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiKonstante" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiKonstanteType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Ablauf" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Ablauf</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentAblaufType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiAblauf" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiAblaufType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Flag" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Enum mit Typ</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentFlagType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MaschinenKonfig" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Globaler Enum</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMaschinenKonfigType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:complexType name="RegelArgumentLocalType">
		<xsd:sequence minOccurs="0">
			<xsd:element name="Operand" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Parameter oder fester Wert</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentOperandType" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiOperand" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Konstante" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Komponente</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentKonstanteType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiKonstante" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Parametern</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" type="xsd:string" use="required"/>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Ablauf" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>UID auf Ablauf</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentAblaufType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MultiAblauf" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>KXPath auf Menge von Ablaeufen</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMultiOperandType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Flag" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Enum mit Typ</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence maxOccurs="unbounded">
						<xsd:element name="Define">
							<xsd:complexType>
								<xsd:attribute name="Name" use="required">
									<xsd:simpleType>
										<xsd:restriction base="xsd:NCName">
											<xsd:minLength value="1"/>
										</xsd:restriction>
									</xsd:simpleType>
								</xsd:attribute>
								<xsd:attributeGroup ref="ID"/>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentFlagType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MaschinenKonfig" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Globaler Enum</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:attribute name="Name" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NCName">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="Wert" use="required">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:minLength value="1"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:attribute name="BasisTyp" type="RegelArgumentMaschinenKonfigType" use="optional"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="ID"/>
	</xsd:complexType>
	<xsd:simpleType name="DefaultAktivDescriptionSimpleType">
		<xsd:restriction base="xsd:NCName">
			<xsd:enumeration value="DefaultAktivDescription"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="AktivDescriptionPtrSimpleType">
		<xsd:union memberTypes="xsd:NCName DefaultAktivDescriptionSimpleType"/>
	</xsd:simpleType>
	<xsd:group name="UnitKinder">
		<xsd:choice>
			<xsd:element name="SollParameterDescription" type="SollParameterDescriptionType"/>
			<xsd:element name="IstParameterDescription" type="IstParameterDescriptionType"/>
			<xsd:element name="FestParameterDescription" type="FestParameterDescriptionType"/>
			<xsd:element name="ZwischenParameterDescription" type="ZwischenParameterDescriptionType"/>
			<xsd:element name="ParameterReferenz">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="BauRegel" type="BauRegelType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:attribute name="XPath" type="xsd:normalizedString" use="required"/>
					<xsd:attributeGroup ref="ID"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="RestrictionDescription" type="RestrictionDescriptionType"/>
			<xsd:element name="AktivRegelDescription" type="RegelDescriptionType"/>
			<xsd:element name="BereichRegelDescription" type="RegelDescriptionType"/>
			<xsd:element name="KonkurrenzRegelDescription" type="RegelDescriptionType"/>
			<xsd:element name="ZwischenWertRegelDescription" type="RegelDescriptionType"/>
			<xsd:element name="AktivRegel" type="RegelType"/>
			<xsd:element name="ZwischenWertRegel" type="RegelType"/>
			<xsd:element name="BereichRegel">
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:extension base="RegelType">
							<xsd:attribute name="ErgebnisTyp" use="required">
								<xsd:simpleType>
									<xsd:restriction base="xsd:string">
										<xsd:enumeration value="MinMaxWert"/>
										<xsd:enumeration value="WerteListe"/>
										<xsd:enumeration value="StringLaenge"/>
									</xsd:restriction>
								</xsd:simpleType>
							</xsd:attribute>
						</xsd:extension>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="KonkurrenzRegel" type="KonkurrenzRegelType"/>
			<xsd:element name="AblaufDescription">
				<xsd:complexType>
					<xsd:sequence minOccurs="0" maxOccurs="unbounded">
						<xsd:element name="AktivDescriptionPtr" type="AktivDescriptionPtrType"/>
					</xsd:sequence>
					<xsd:attributeGroup ref="AlleElemente"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:choice>
	</xsd:group>
</xsd:schema>
