<?xml version="1.0" encoding="UTF-8"?>
<!-- edited by dmc-ortim GmbH -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:annotation>
		<xs:documentation xml:lang="en">Industry standard for process modules.</xs:documentation>
		<xs:documentation xml:lang="de">Industriestandard für Prozessbausteine.</xs:documentation>
	</xs:annotation>

    <xs:element name="ProcessElement" type="ProcessElementType"/>
	<xs:element name="Formula" type="FormulaType">
		<xs:annotation>
			<xs:documentation>Beschreibung einer Formel</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Contents">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="AllProcessElements">
					<xs:annotation>
						<xs:documentation>Liste von Prozesselementen</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence minOccurs="0" maxOccurs="unbounded">
							<xs:element ref="ProcessElement" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element ref="Formula" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
        <xs:element name="TimeUnitFactors" type="TimeUnitFactorsType"/>
        <xs:element name="DocumentsFolder" type="DocumentsFolderType"/>
        <xs:element name="Application" type="ApplicationType"/>
        <xs:element name="Version" type="VersionType"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
  <xs:complexType name="ApplicationType">
    <xs:sequence>
      <xs:element name="ProductName" type="xs:string"/>
      <xs:element name="Version" type="xs:string"/>
      <xs:element name="DateOfExport" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VersionType">
    <xs:sequence>
      <xs:element name="Scheme" type="xs:string"/>
      <xs:element name="File" type="xs:string"/>
      <xs:element name="Extensions" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
	<xs:complexType name="DescriptionType">
		<xs:annotation>
			<xs:documentation>Beschreibung</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="HeaderDescription">
				<xs:annotation>
					<xs:documentation>Kurzbechreibung am Kopf</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="DescriptionText" type="xs:string"/>
						<xs:element name="Language" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:sequence minOccurs="0">
				<xs:element name="LongText" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Langtexte formatiert/Unformatiert</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ContentLink" type="xs:string">
								<xs:annotation>
									<xs:documentation>Textinhalt oder Linkverweis</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="DataTyp" type="xs:language" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Typ des Textes (PDF, RTF, PlainText)</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="LinkType" type="xs:string">
								<xs:annotation>
									<xs:documentation>Dokument extern oder im File</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="Language" type="xs:language" minOccurs="0">
								<xs:annotation>
									<xs:documentation>omplett durchziehen...</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:sequence minOccurs="0">
				<xs:element name="Beginning" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Text für Beginn eines Prozessbausteins</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Content" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Inhalt eines Prozessbausteins</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="End" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Text für Ende eines Prozessbausteins</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Limitation" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Text für Begrenzung des Prozessbausteins für bestimmtes Umfeld/Situationen</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CodingType">
		<xs:annotation>
			<xs:documentation>Codierung</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Code" type="xs:string">
				<xs:annotation>
					<xs:documentation>Kodierung eines Prozessbausteins. Diese ist entsprechend kurz und prägnant zu halten. Verwiesen wird hier die MTM-Richtlinien zur Datenkonstruktion</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Index" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Zusätzliches Attribut, um einen Baustein eindeutig zu halten</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DataArea" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Zusätzliches Attribut, um einen Baustein eindeutig zu halten. Grenzt einen kompletten Bereich an von anderen Daten ab, greift aber auf die gleichen Basisdaten zu.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ShortCode" type="xs:string" minOccurs="0"/>
      <xs:element name="Variant" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Zusätzliches Attribut, um einen Baustein eindeutig zu halten</xs:documentation>
        </xs:annotation>
      </xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="ConditionType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="If"/>
			<xs:enumeration value="Then"/>
			<xs:enumeration value="Else"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="HeaderDataType">
		<xs:annotation>
			<xs:documentation>Kopfdaten-Typ</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PlaningExecution" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Ausführung / Planung</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="C-Calculation"/>
						<xs:enumeration value="P-Planning"/>
						<xs:enumeration value="E-Execute"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SetupExecution" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Rüsten / Ausführen / Getrennt</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="State" type="StateType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Freigabestatus eines Bausteins. (Nur eigener Baustein, Geprüft, Freigegeben) Zusätzlich Statusdetail optional</xs:documentation>
				</xs:annotation>
				<!--<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:short"/>
					</xs:simpleContent>
				</xs:complexType>-->
			</xs:element>
			<xs:element name="HumanEquipment" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Mensch/Betriebsmittel/Material</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="UserCode" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Bearbeiter/Eigentümer, Entscheidung über Auswertung liegt beim einlesenden System</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CreateUserDate" type="UserDateTimeType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Ersteller + DatumUhrzeit</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LastChangeUserDate" type="UserDateTimeType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Datum der letzten Änderung</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AuditorUserDate" type="UserDateTimeType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Prüfdatum und User</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Validity" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Gültigkeit von- bis</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ValidFrom" type="xs:dateTime" minOccurs="0"/>
						<xs:element name="ValidTo" type="xs:dateTime" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="DataOrigin" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Herkunftskennzeichen, z.B. System, Gerät o.ä. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<!--<xs:element name="DetailStateInfo"/>-->
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="UserDateTimeType">
		<xs:annotation>
			<xs:documentation></xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="UserCode" type="xs:string">
				<xs:annotation>
					<xs:documentation>name of the user</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TimeStamp" type="xs:dateTime"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TimesType"/>
	<xs:complexType name="TimesSetType">
		<xs:annotation>
			<xs:documentation>Liste von Zeitwerten mit Einheit</xs:documentation>
		</xs:annotation>
		<xs:sequence>
      <xs:choice>
        <xs:element name="time_ins" type="xs:float">
          <xs:annotation>
            <xs:documentation>eingebene Zeit</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="time_cal" type="xs:float">
          <xs:annotation>
            <xs:documentation>berechnete Zeit</xs:documentation>
          </xs:annotation>
        </xs:element>        
      </xs:choice>
			<xs:element name="time_unit" type="xs:string">
				<xs:annotation>
					<xs:documentation>Zeiteinheit</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PercentSetType">
		<xs:annotation>
			<xs:documentation>Liste von Prozentwerten, aus denen die Zeitwerte berechnet werden können</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="percent_ins" type="xs:float" nillable="true" minOccurs="0" default="0">
				<xs:annotation>
					<xs:documentation>eingegebener Wert</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="percent_cal" type="xs:float" minOccurs="0" default="0">
				<xs:annotation>
					<xs:documentation>berechneter Wert</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="HumanAssignableTimesType">
          <xs:sequence>
          	<xs:choice>
          		<xs:element name="ttb" type="TimesSetType" />
          		<xs:element name="ttu" type="TimesSetType" />
          		<xs:element name="thb" type="TimesSetType" />
          		<xs:element name="tnb" type="TimesSetType" />
          		<xs:element name="tnu" type="TimesSetType" />
          		<xs:element name="th" type="TimesSetType" />
          		<xs:element name="thu" type="TimesSetType" />
          		<xs:element name="tgr99" type="TimesSetType" />
          		<xs:element name="F" type="TimesSetType" />
          		<xs:element name="N" type="TimesSetType" />
          		<xs:element name="ter" type="TimesSetType" />
          		<xs:element name="tg" type="TimesSetType" />
          		<xs:element name="tn" type="TimesSetType" />
          		<xs:element name="tp" type="TimesSetType" />
          		<xs:element name="trer" type="TimesSetType" />
          		<xs:element name="trg" type="TimesSetType" />
          		<xs:element name="trp" type="TimesSetType" />
          		<xs:element name="trs" type="TimesSetType" />
          		<xs:element name="trsk" type="TimesSetType" />
          		<xs:element name="trsv" type="TimesSetType" />
          		<xs:element name="trv" type="TimesSetType" />
          		<xs:element name="trgb" type="TimesSetType" />
          		<xs:element name="trgu" type="TimesSetType" />
          		<xs:element name="ts" type="TimesSetType" />
          		<xs:element name="tsk" type="TimesSetType" />
          		<xs:element name="tsv" type="TimesSetType" />
          		<xs:element name="tv" type="TimesSetType" />
          		<xs:element name="tw" type="TimesSetType" />
          		<xs:element name="twa" type="TimesSetType" />
          		<xs:element name="twe" type="TimesSetType" />
          		<xs:element name="X" type="TimesSetType" />
          	</xs:choice>
          </xs:sequence>
	</xs:complexType>
		<xs:complexType name="EquipmentAssignableTimesType">
          <xs:sequence>
          	<xs:choice>
          		<xs:element name="thB" type="TimesSetType"/>
          		<xs:element name="thbB" type="TimesSetType"/>
          		<xs:element name="thuB" type="TimesSetType"/>
          		<xs:element name="tnbB" type="TimesSetType"/>
          		<xs:element name="tnuB" type="TimesSetType"/>
          		<xs:element name="tbB" type="TimesSetType"/>
          		<xs:element name="tbBA" type="TimesSetType"/>
          		<xs:element name="tbBE" type="TimesSetType"/>
          		<xs:element name="tbBS" type="TimesSetType"/>
          		<xs:element name="tbBZ" type="TimesSetType"/>
          		<xs:element name="tgB" type="TimesSetType"/>
          		<xs:element name="tbBP" type="TimesSetType"/>
          		<xs:element name="tBF" type="TimesSetType"/>
          		<xs:element name="tBN" type="TimesSetType"/>
          		<xs:element name="tnB" type="TimesSetType"/>
          		<xs:element name="trgB" type="TimesSetType"/>
          		<xs:element name="trvB" type="TimesSetType"/>
          		<xs:element name="tvB" type="TimesSetType"/>
          	</xs:choice>
          </xs:sequence>
        </xs:complexType>
	<xs:complexType name="ValAddedType">
		<xs:annotation>
			<xs:documentation>Wertschöpfung</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="MainCriteria" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Hauptkriterium</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SubCriteria" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Unterkriterium</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="VaTime" type="TimesSetType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Zeitwerte</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="VaPercent" type="PercentSetType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Prozentwerte</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StateType">
		<xs:annotation>
			<xs:documentation>Statuscode und -definition</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="StateValue" type="xs:string">
				<xs:annotation>
					<xs:documentation>Der Status (z. B. F)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DetailInfos" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Die Bedeutung des Status (z. B. Freigabe)</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ParameterType">
		<xs:annotation>
			<xs:documentation>Parameterbeschreibung</xs:documentation>
		</xs:annotation>

		<xs:attribute name="Variable">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Value" type="xs:float"/>
	</xs:complexType>
	<xs:complexType name="ParseTreeType">
		<xs:annotation>
			<xs:documentation>Rechenbaum einer Formel</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Div" minOccurs="0"/>
			<xs:element name="Minus" minOccurs="0"/>
			<xs:element name="Mul" minOccurs="0"/>
			<xs:element name="Plus" minOccurs="0"/>
			<xs:element name="Pow" minOccurs="0"/>
			<xs:element name="Percent" minOccurs="0"/>
			<xs:element name="Negation" minOccurs="0"/>
			<xs:element name="And" minOccurs="0"/>
			<xs:element name="Or" minOccurs="0"/>
			<xs:element name="Equal" minOccurs="0"/>
			<xs:element name="Greater" minOccurs="0"/>
			<xs:element name="GreaterOrEqual" minOccurs="0"/>
			<xs:element name="LessOrEqual" minOccurs="0"/>
			<xs:element name="LessThan" minOccurs="0"/>
			<xs:element name="Unequal" minOccurs="0"/>
			<xs:element name="Constant" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="Value" type="xs:float" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Expression" minOccurs="0">
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="Case" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Function" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="Name" type="xs:string"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Parameter" type="ParameterType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="Type" type="ConditionType"/>
	</xs:complexType>
	<xs:complexType name="DocumentsType">
		<xs:annotation>
			<xs:documentation>Dokument-Liste</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Document" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Location" type="xs:string">
							<xs:annotation>
								<xs:documentation>Vollständiger Dateiname mit Verzeichnis-Pfad</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Description" type="xs:string" minOccurs="0"/>
						<xs:element name="Size" type="xs:positiveInteger" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="Type" type="xs:string" use="required">
						<xs:annotation>
							<xs:documentation>Image, AudioVideo, Document</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProcessElementType">
		<xs:annotation>
			<xs:documentation>Process module type</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ProcessElementID" type="OdbId">
				<xs:annotation>
					<xs:documentation>Eindeutige ID eines Prozessbausteins Eindeutig im System</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OrtimID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>18-stelliger, eindeutiger Identifikator für Verwendung in Fremdsystemen</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:length value="18"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Coding" type="CodingType">
				<xs:annotation>
					<xs:documentation>Kodierungsdaten</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="HeaderData" type="HeaderDataType">
				<xs:annotation>
					<xs:documentation>Kopfdaten</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="DescriptionType">
				<xs:annotation>
					<xs:documentation>Beschreibungstexte</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AdditionalClass" minOccurs="0"/>
			<xs:element name="Additional" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TVP">
							<xs:annotation>
								<xs:documentation>Persönlicher Verteilzeitzuschlag</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="TVS">
							<xs:annotation>
								<xs:documentation>Sachlicher Verteilzeitzuschlag</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="TVE">
							<xs:annotation>
								<xs:documentation>Erholzeitzuschlag</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:sequence minOccurs="0" maxOccurs="unbounded">
							<xs:element name="TVx"/>
						</xs:sequence>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Journal" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Tagebuch</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="JournalEntry">
							<xs:annotation>
								<xs:documentation>Tagebucheintrag</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Identifier"/>
									<xs:element name="ChangeUser" type="xs:string"/>
									<xs:element name="ChangeDate" type="xs:dateTime"/>
									<xs:element name="ChangeDescription" type="xs:string"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Equipment" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Betriebsmittel</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Parts" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Teile</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ShortCode" minOccurs="0">
				<xs:annotation>
					<xs:documentation>KurzCode</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AnalyseMethod"/>
						<xs:element name="Code"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Criteria" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Suchkriterien Zusatzinfos</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="CriteriaCode"/>
						<xs:element name="CriteriaValue"/>
						<xs:element name="Type"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
      <xs:element name="ValueAdded" type="ValAddedType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Wertschöpfung</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="time_unit" type="xs:string" minOccurs="0"/>
      <xs:element name="Documents" type="DocumentsType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Liste von Dokumenten</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Structure" type="StructureType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Strukturinformationen.</xs:documentation>
				</xs:annotation>
			</xs:element>
      <xs:element name="Times" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Human" type="HumanTimesType" minOccurs="0"/>
            <xs:element name="Equipment" type="EquipmentTimesType" minOccurs="0"/>
            <xs:element name="Material" type="MaterialTimesType" minOccurs="0"/>
            <xs:element name="FreeTimes" minOccurs="0"/>
            <xs:element name="Quantity" type="xs:float">
              <xs:annotation>
                <xs:documentation>Menge</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PartsSameTime" type="xs:float" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Anzahl Teile gleichzeitig</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="QuantityTime" type="xs:float" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Anzahl zeitbestimmend</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

    </xs:sequence>
		<xs:attribute name="Type" use="required">
			<xs:annotation>
				<xs:documentation>valid types are: working process, working process module, analysis module</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:whiteSpace value="preserve"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Inactive" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>the attribute will appear, when the process element is inactive</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="FormulaType">
		<xs:annotation>
			<xs:documentation>Beschreibung einer Formel</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="FormulaID" type="OdbId"/>
			<xs:element name="OrtimID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>18-stelliger, eindeutiger Identifikator zur Verwendung in Fremdsystemen</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:length value="18"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Coding" type="CodingType"/>
			<xs:element name="HeaderData" type="HeaderDataType"/>
			<xs:element name="Description" type="DescriptionType" minOccurs="0"/>
			<!-- <xs:element name="State" type="StateType"/> -->
			<xs:element name="Definition" type="xs:string">
				<xs:annotation>
					<xs:documentation>Der Formel-Quellcode</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="InfluencingFactors" minOccurs="0">
				<xs:complexType>
					<xs:sequence minOccurs="0" maxOccurs="unbounded">
						<xs:element name="InfluencingFactor" type="InfluencingFactor"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ParseTrees" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Liste von ParseTree-Elementen</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="3">
						<xs:element name="ParseTree" type="ParseTreeType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Documents" type="DocumentsType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Liste von Dokumenten</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="time_unit" type="xs:string">
				<xs:annotation>
					<xs:documentation>Zeiteinheit</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Times" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Human" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="RootTimes" type="HumanAssignableTimesType" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Zugeordnete Zeitart</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Equipment" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="RootTimes" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Zugeordnete Zeitart</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="timeCategory"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Type" use="required">
			<xs:annotation>
				<xs:documentation>valid types are: formula, sco formula</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:whiteSpace value="preserve"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Invalid" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>the attribute will appear with value true, when the formula is inactive</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
  <xs:complexType name="HumanTimesType">
    <xs:sequence>
      <xs:element name="RootTimes" type="HumanAssignableTimesType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Zugeordnete Zeitart</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BasicTimes" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Berechnete Grundzeitarten</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
          	<xs:choice minOccurs="1" maxOccurs="unbounded">
            <xs:element name="tg" type="TimesSetType"/>
            <xs:element name="trg" type="TimesSetType"/>          	
          	</xs:choice>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdditionalTimes" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Zuschlagszeiten</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="tvp" type="TimesSetType"/>
            <xs:element name="tvs" type="TimesSetType"/>
            <xs:element name="ter" type="TimesSetType"/>
            <xs:element name="trv" type="TimesSetType"/>
            <xs:element name="trer" type="TimesSetType"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ResultTimes" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Berechnete Ergebniszeitarten</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
          	<xs:choice minOccurs="1" maxOccurs="unbounded">
            	<xs:element name="te" type="TimesSetType"/>
            	<xs:element name="tr" type="TimesSetType"/>          	
          	</xs:choice>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MaterialTimesType">
    <xs:sequence>
      <xs:element name="BasicTimes">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="tae" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Einwirken</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="taf" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Fördern</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="taz" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>zusätzliches Verändern</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="tap" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Prüfen</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="taa" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Ablaufbedingtes Liegen</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="tas" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>zusätzliches (sonstiges) Liegen</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="tal" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Lagern</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="tax" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Nicht erkennbar</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ResultTimes">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ta" type="TimesSetType">
              <xs:annotation>
                <xs:documentation>Arbeitsgegenstand</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FactorType">
    <xs:sequence>
      <xs:element name="FValue" type="xs:float"/>
      <xs:element name="FactorString" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EquipmentTimesType">
    <xs:sequence>
      <xs:element name="RootTimes" type="EquipmentAssignableTimesType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Zugeordnete Zeitart</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BasicTimes" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Berechnete Grundzeitarten</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
          	<xs:choice  minOccurs="1" maxOccurs="unbounded">
            	<xs:element name="tgB" type="TimesSetType"/>
            	<xs:element name="trgB" type="TimesSetType"/>          	
          	</xs:choice>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdditionalTimes" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Zuschlagszeiten</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="tvp" type="TimesSetType"/>
            <xs:element name="tvs" type="TimesSetType"/>
            <xs:element name="ter" type="TimesSetType"/>
            <xs:element name="trv" type="TimesSetType"/>
            <xs:element name="trer" type="TimesSetType"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ResultTimes" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Berechnete Ergebniszeitarten</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
          	<xs:choice minOccurs="1" maxOccurs="unbounded">
            	<xs:element name="teB" type="TimesSetType"/>
            	<xs:element name="trB" type="TimesSetType"/>          	
          	</xs:choice>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
	<xs:complexType name="InfluencingFactor">
		<xs:annotation>
			<xs:documentation>Beschreibung einer Einflussgröße</xs:documentation>
		</xs:annotation>
		<xs:attribute name="Name" type="xs:string"/>
		<xs:attribute name="Min">
			<xs:simpleType>
				<xs:restriction base="xs:float">
					<xs:minInclusive value="0.0"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Max">
			<xs:simpleType>
				<xs:restriction base="xs:float">
					<xs:minInclusive value="0.0"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="TimeUnitFactorsType">
		<xs:annotation>
			<xs:documentation>Umrechnungstabelle für Zeiteinheiten auf Basis HHM</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="time_unit">
				<xs:complexType>
					<xs:attribute name="Name" type="xs:string"/>
					<xs:attribute name="Factor" type="xs:float"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
  <xs:complexType name="StructureType">
      <xs:sequence>
      	<xs:element name="LineNumber">
      		<xs:annotation>
      			<xs:documentation>Zeilennummer</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="ProcessElementID" type="OdbId">
      		<xs:annotation>
      			<xs:documentation>
      				Eindeutiger Identifikator des Strukturelements.
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="OrtimID" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				18-stelliger, eindeutiger Identifikator für
      				Verwendung in Fremdsystemen
      			</xs:documentation>
      		</xs:annotation>
      		<xs:simpleType>
      			<xs:restriction base="xs:string">
      				<xs:length value="18" />
      			</xs:restriction>
      		</xs:simpleType>
      	</xs:element>
      	<xs:element name="Coding" type="CodingType">
      		<xs:annotation>
      			<xs:documentation>Kodierungsdaten</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="State" type="StateType" minOccurs="0" />
      	<!--<xs:element name="Text" type="DescriptionType" minOccurs="0">
      		<xs:annotation>
      		<xs:documentation>Zeilenbeschreibung</xs:documentation>
      		</xs:annotation>
      		</xs:element>-->
      	<xs:element name="Description"
      		type="StructureDescriptionType">
      		<xs:annotation>
      			<xs:documentation>
      				Beschreibungstexte
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="Factor" type="FactorType" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Faktor: kann Formel sein
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="ValueAdded" type="ValAddedType">
      		<xs:annotation>
      			<xs:documentation>Wertschöpfung</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="Parameters" minOccurs="0">
      		<xs:complexType>
      			<xs:sequence>
      				<xs:element name="Parameter" type="ParameterType"
      					maxOccurs="unbounded" />
      			</xs:sequence>
      		</xs:complexType>
      	</xs:element>
      	<xs:element name="ProcessValues" type="ProcessValueType" maxOccurs="unbounded" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>List of process values based on process line paths.

This is an exact representation of the ORTIMplan ProcessValues class.

By now only the elements based on process line paths are included.
Elements representing processes are not included.</xs:documentation>
      		</xs:annotation></xs:element>
      	<xs:element name="Times" minOccurs="0">
      		<xs:complexType>
      			<xs:sequence>
      				<xs:element name="Human" type="HumanTimesType"
      					minOccurs="0" />
      				<xs:element name="Equipment"
      					type="EquipmentTimesType" minOccurs="0" />
      				<xs:element name="Material"
      					type="MaterialTimesType" minOccurs="0" />
      			</xs:sequence>
      		</xs:complexType>
      	</xs:element>
      	<xs:element name="Documents" type="DocumentsType"
      		minOccurs="0" />
      	<xs:element name="FactorValue" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Faktor: Ergebniswert
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:choice minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>Kodierung</xs:documentation>
      		</xs:annotation>
      		<xs:element name="ChildID" />
      		<xs:element name="ChildCoding" type="CodingType" />
      	</xs:choice>
      	<xs:element name="StandardTextFlag" type="xs:boolean"
      		minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Kennzeichnet, ob ein Text überschrieben ist oder
      				der vom System vorgeschriebene Satandardtext
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="FParamValue" minOccurs="0"
      		maxOccurs="unbounded" />
      	<xs:sequence minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Beidhand-Analyse-Daten (MTM-1 u. MTM-2)
      			</xs:documentation>
      		</xs:annotation>
      		<xs:element name="BlockAttribute" type="xs:string"
      			minOccurs="0">
      			<xs:annotation>
      				<xs:documentation>
      					Information zum Zeitverhalten
      					(gleichzeitig/kombiniert...)
      				</xs:documentation>
      			</xs:annotation>
      		</xs:element>
      		<xs:element name="BlockAttributeID" type="xs:integer">
      			<xs:annotation>
      				<xs:documentation>
      					Eindeutige Kennzeichenung des Blockaatributs
      				</xs:documentation>
      			</xs:annotation>
      		</xs:element>
      		<xs:choice>
      			<xs:element name="LeftHandCode" type="xs:string" />
      			<xs:element name="RightHandCode" type="xs:string" />
      		</xs:choice>
      	</xs:sequence>
      	<xs:element name="LineTime" type="TimesType" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Eingegebene optionale Zeiteintragung
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="ParallelFlag" type="xs:string"
      		minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Parallelitätskennzeichen
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="DataOrigin" type="xs:string"
      		minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				z.B. Zeile einer Zeitanalyse
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="DocumentLink" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Liste von Dateiverknüpfungen
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="HandAttribute" minOccurs="0">
      		<xs:annotation>
      			<xs:documentation>
      				Kennzeichnung ob linke o. rechte Hand, beidhändig,
      				synchron
      			</xs:documentation>
      		</xs:annotation>
      	</xs:element>
      	<xs:element name="TimeCategoryAssignedIds" minOccurs="0"
      		maxOccurs="unbounded">
      		<xs:annotation>
      			<xs:documentation>
      				Liste von ProcessElementIds. Ids der
      				Strukturelemente, in denen eine Zeitart direkt
      				zugeordnet wird.
      			</xs:documentation>
      		</xs:annotation>
      		<xs:complexType>
      			<xs:sequence minOccurs="0" maxOccurs="unbounded">
      				<xs:element name="ProcessElementID"
      					type="OdbId">
      					<xs:annotation>
      						<xs:documentation>
      							Eindeutiger Identifikator des
      							Strukturelements.
      						</xs:documentation>
      					</xs:annotation>
      				</xs:element>
      			</xs:sequence>
      		</xs:complexType>
      	</xs:element>
      </xs:sequence>
      <xs:attribute name="Type" type="xs:string" use="required">
        <xs:annotation>
          <xs:documentation>working process line, analysis line, compound line, manual line, comment line, process line, study line</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="Inactive" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>the attribute will appear when the structure element is inactive</xs:documentation>
        </xs:annotation>
      </xs:attribute>
   </xs:complexType>
	<xs:complexType name="ProcessElements">
		<xs:annotation>
			<xs:documentation>List of process elements</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ProcessElement" maxOccurs="unbounded"/>
			<xs:element name="Formula" type="FormulaType" maxOccurs="unbounded"/>
			<xs:element name="MasterData"/>
		</xs:sequence>
	</xs:complexType>
  <xs:complexType name="StructureDescriptionType">
    <xs:sequence>
      <xs:element name="LineDescription">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DescriptionText" type="xs:string"/>
            <xs:element name="Language" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>        
      </xs:element>
      <xs:element name="LongText" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ContentLink" type="xs:string"/>
            <xs:element name="LinkType" type="xs:string"/>
            <xs:element name="Language" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
	<xs:complexType name="DocumentsFolderType">
		<xs:annotation>
			<xs:documentation>Ordner für Dokumente</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="Location" type="xs:string">
				<xs:annotation>
					<xs:documentation>Vollständiger Verzeichnis-Pfad</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="OdbId">
		<xs:annotation>
			<xs:documentation>Kombination aus Objekt- und Datenbank-Identifikator getrennt durch Doppelpunkt. Beispiel: 4711:0123456789</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ProcessValueType">
		<xs:sequence>
			<xs:element name="ProcessPath" type="OdbId"
				maxOccurs="unbounded" minOccurs="0">
                <xs:annotation>
                	<xs:documentation>List of process line identifiers.
Each identifier points to a StructureType element.</xs:documentation>
                </xs:annotation>
			</xs:element>
			<xs:element name="Parameters" type="ParameterType" maxOccurs="unbounded" minOccurs="0">
				<xs:annotation>
					<xs:documentation>List of parameters.</xs:documentation>
				</xs:annotation></xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>