<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <!-- <xsd:key> nicht verwenden, libxslt kann das nicht: "Internal error: xmlSchemaAreValuesEqual, failed to compare the values." -->
    <xsd:annotation>
        <xsd:documentation xml:lang="de">
            $Id: scheduler.xsd 14660 2011-06-23 12:04:10Z jz $
            Schema für die Scheduler-Konfiguration,
            s.a. http://www.zschimmer.com/sos/scheduler/konfiguration.html
        </xsd:documentation>
    </xsd:annotation>
    <xsd:element name="spooler">
        <xsd:complexType>
            <xsd:choice>
                <xsd:element name="config" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element ref="extensions" minOccurs="0"/>
                            <xsd:element name="base" minOccurs="0" maxOccurs="unbounded">
                                <xsd:complexType>
                                    <xsd:attribute name="file" type="File" use="required"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element ref="params" minOccurs="0"/>
                            <xsd:element ref="security" minOccurs="0"/>
                            <xsd:element name="plugins" type="Plugins" minOccurs="0"/>
                            <xsd:element ref="cluster" minOccurs="0"/>
                            <xsd:element ref="process_classes" minOccurs="0"/>
                            <xsd:element name="schedules" minOccurs="0">
                                <xsd:complexType>
                                    <xsd:sequence>
                                        <xsd:element ref="extensions" minOccurs="0"/>
                                        <xsd:element name="schedule" type="run_time" minOccurs="0" maxOccurs="unbounded"/>
                                    </xsd:sequence>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="locks" minOccurs="0">
                                <xsd:complexType>
                                    <xsd:sequence>
                                        <xsd:element ref="extensions" minOccurs="0"/>
                                        <xsd:element name="lock" type="lock" minOccurs="0" maxOccurs="unbounded"/>
                                    </xsd:sequence>
                                </xsd:complexType>
                                <!--xsd:key name="lock">
                                    <xsd:selector xpath="lock"/>
                                    <xsd:field xpath="@name"/>
                                </xsd:key-->
                            </xsd:element>
                            <xsd:choice>
                                <xsd:element ref="script" minOccurs="0"/>
                                <xsd:element name="scheduler_script" type="scheduler_script" minOccurs="0" maxOccurs="unbounded"/>
                            </xsd:choice>
                            <xsd:choice minOccurs="0">
                                <xsd:element ref="http_server"/>
                                <xsd:element ref="web_services"/>
                                <!-- veraltet -->
                            </xsd:choice>
                            <xsd:choice>
                                <xsd:element ref="holidays"/>
                                <xsd:element ref="holiday" minOccurs="0" maxOccurs="unbounded"/>
                            </xsd:choice>
                            <xsd:element ref="jobs" minOccurs="0"/>
                            <xsd:element ref="job_chains" minOccurs="0"/>
                            <xsd:element ref="commands" minOccurs="0"/>
                            <xsd:element ref="monitors" minOccurs="0"/>
                        </xsd:sequence>
                        <xsd:attribute name="spooler_id" type="Name"/>
                        <xsd:attribute name="port" type="xsd:nonNegativeInteger"/>
                        <xsd:attribute name="tcp_port" type="xsd:nonNegativeInteger"/>
                        <xsd:attribute name="udp_port" type="xsd:nonNegativeInteger"/>
                        <xsd:attribute name="ip_address" type="String"/>
                        <xsd:attribute name="param" type="String"/>
                        <xsd:attribute name="log_dir" type="File"/>
                        <xsd:attribute name="priority_max" type="xsd:nonNegativeInteger"/>
                        <xsd:attribute name="include_path" type="File"/>
                        <!-- Seit der Umstellung von libxml2 auf Java-DOM an der Kommandozeile anzugeben:
                        <xsd:attribute name="java_class_path" type="String"/>
                        <xsd:attribute name="java_options" type="String"/-->
                        <xsd:attribute name="main_scheduler" type="String"/>
                        <xsd:attribute name="mail_xslt_stylesheet" type="File"/>
                        <xsd:attribute name="supervisor" type="String"/>
                        <xsd:attribute name="configuration_directory" type="File"/>
                        <xsd:attribute name="central_configuration_directory" type="File"/>
                        <xsd:attribute name="configuration_add_event" type="Path"/>
                        <xsd:attribute name="configuration_modify_event" type="Path"/>
                        <xsd:attribute name="configuration_delete_event" type="Path"/>
                        <!-- veraltet -->
                        <xsd:attribute name="time_zone" type="String"/>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element ref="commands"/>
                <xsd:element name="command" type="Commands">
                    <xsd:annotation>
                        <xsd:documentation>Deprecated. Use &lt;commands></xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="answer">
                    <xsd:complexType/>
                </xsd:element>
                <xsd:element ref="add_jobs"/>
                <xsd:element ref="add_order"/>
                <xsd:element name="check_folders" type="check_folders"/>
                <xsd:element ref="job.why"/>
                <xsd:element ref="kill_task"/>
                <xsd:element ref="modify_job"/>
                <xsd:element ref="modify_order"/>
                <xsd:element ref="modify_spooler"/>
                <xsd:element ref="job_chain.check_distributed"/>
                <xsd:element ref="register_remote_scheduler"/>
                <xsd:element ref="remove_job_chain"/>
                <xsd:element ref="remove_order"/>
                <xsd:element name="run_time" type="run_time"/>
                <xsd:element ref="show_calendar"/>
                <xsd:element ref="show_history"/>
                <xsd:element ref="show_job"/>
                <xsd:element ref="show_jobs"/>
                <xsd:element ref="show_job_chains"/>
                <xsd:element ref="show_job_chain"/>
                <xsd:element ref="show_order"/>
                <xsd:element ref="s"/>
                <xsd:element ref="show_schedulers"/>
                <xsd:element ref="show_state"/>
                <xsd:element ref="show_task"/>
                <xsd:element ref="service_request"/>
                <xsd:element ref="start_job"/>
                <xsd:element ref="subsystem.show"/>
                <xsd:element ref="terminate"/>
                <xsd:element ref="events.get"/>
                <!--xsd:element ref="signal_object"/-->
                <!-- Asynchron ausgeführte Kommandos -->
                <!-- <xsd:element ref="get_events"/> -->
            </xsd:choice>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="Plugins">
        <xsd:sequence>
            <xsd:element name="plugin" type="Plugin" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Plugin">
        <xsd:sequence>
            <xsd:element name="plugin.config" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                    </xsd:sequence>
                    <xsd:anyAttribute processContents="lax"/>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="java_class" type="String"/>
        <!-- dont_activate is for internal testing only. -->
        <xsd:attribute name="dont_activate" type="xsd:boolean"/>
    </xsd:complexType>
    <xsd:element name="plugin.command">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="plugin_class" type="String"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="cluster_member_command">
        <xsd:complexType>
            <xsd:choice>
                <xsd:element name="terminate">
                    <xsd:complexType>
                        <xsd:attribute name="timeout" type="xsd:integer"/>
                        <xsd:attribute name="restart" type="Yes_no"/>
                    </xsd:complexType>
                </xsd:element>
            </xsd:choice>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="commands" type="Commands"/>
    <xsd:complexType name="Commands">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element ref="add_jobs"/>
            <xsd:element ref="add_order"/>
            <xsd:element name="check_folders" type="check_folders"/>
            <xsd:element ref="kill_task"/>
            <xsd:element ref="licence.use"/>
            <xsd:element name="lock" type="lock"/>
            <xsd:element name="lock.remove" type="lock.remove"/>
            <xsd:element ref="modify_job"/>
            <xsd:element ref="modify_hot_folder"/>
            <xsd:element ref="modify_order"/>
            <xsd:element ref="modify_spooler"/>
            <xsd:element ref="job.why"/>
            <xsd:element ref="job_chain.modify"/>
            <xsd:element ref="job_chain_node.modify"/>
            <xsd:element name="order" type="order"/>
            <xsd:element ref="plugin.command"/>
            <xsd:element name="process_class" type="process_class"/>
            <xsd:element name="process_class.remove" type="process_class.remove"/>
            <xsd:element ref="job_chain.check_distributed"/>
            <xsd:element ref="register_remote_scheduler"/>
            <xsd:element ref="remove_job_chain"/>
            <xsd:element ref="remove_order"/>
            <xsd:element name="run_time" type="run_time"/>
            <xsd:element ref="setting.set"/>
            <xsd:element ref="scheduler_log.log_categories.reset"/>
            <xsd:element ref="scheduler_log.log_categories.set"/>
            <xsd:element ref="scheduler_log.log_categories.show"/>
            <xsd:element ref="show_calendar"/>
            <xsd:element ref="show_history"/>
            <xsd:element ref="show_job"/>
            <xsd:element ref="show_jobs"/>
            <xsd:element ref="show_job_chains"/>
            <xsd:element ref="show_job_chain"/>
            <xsd:element ref="show_order"/>
            <xsd:element ref="s"/>
            <xsd:element ref="show_schedulers"/>
            <xsd:element ref="show_state"/>
            <xsd:element ref="show_task"/>
            <xsd:element ref="service_request"/>
            <xsd:element ref="start_job"/>
            <xsd:element ref="subsystem.show"/>
            <xsd:element ref="remote_scheduler.start_remote_task"/>
            <xsd:element ref="remote_scheduler.remote_task.close"/>
            <xsd:element ref="remote_scheduler.remote_task.kill"/>
            <xsd:element ref="terminate"/>
            <!-- Nicht für den Scheduler, sondern für Mürüvet Öksüzs Konfigurations-Editor. 2007-10-04 -->
            <!--xsd:element ref="signal_object"/-->
        </xsd:choice>
        <xsd:attribute name="on_exit_code">
            <xsd:annotation>
                <xsd:documentation>
                    Only valid in element job!
                    examples: on_exit_code="success" on_exit_code="error" on_exit_code="1 2 3"
                </xsd:documentation>
            </xsd:annotation>
            <xsd:simpleType>
                <xsd:union>
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:NMTOKEN">
                            <xsd:enumeration value="success">
                                <xsd:annotation>
                                    <xsd:documentation>This is exit code 0</xsd:documentation>
                                </xsd:annotation>
                            </xsd:enumeration>
                            <xsd:enumeration value="error">
                                <xsd:annotation>
                                    <xsd:documentation>This is all other exit codes but 0</xsd:documentation>
                                </xsd:annotation>
                            </xsd:enumeration>
                            <xsd:enumeration value="signal">
                                <xsd:annotation>
                                    <xsd:documentation>exit codes less than 0 (a signal under Unix)</xsd:documentation>
                                </xsd:annotation>
                            </xsd:enumeration>
                        </xsd:restriction>
                    </xsd:simpleType>
                    <xsd:simpleType>
                        <xsd:list>
                            <xsd:simpleType>
                                <xsd:union memberTypes="xsd:integer Unix_signal_name"/>
                            </xsd:simpleType>
                        </xsd:list>
                    </xsd:simpleType>
                </xsd:union>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:element name="add_jobs">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="job" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="add_order" type="order"/>
    <xsd:element name="check_folders" type="check_folders"/>
    <xsd:element name="holiday">
        <xsd:complexType>
            <xsd:attribute name="date" type="String" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="holidays">
        <xsd:complexType>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="weekdays" minOccurs="0">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="day" maxOccurs="unbounded">
                                <xsd:complexType>
                                    <xsd:attribute name="day" use="required">
                                        <xsd:simpleType>
                                            <xsd:list itemType="Weekday"/>
                                        </xsd:simpleType>
                                    </xsd:attribute>
                                </xsd:complexType>
                            </xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element ref="holiday"/>
                <xsd:element ref="include"/>
            </xsd:choice>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="include">
        <xsd:complexType>
            <xsd:attribute name="file" type="File"/>
            <xsd:attribute name="live_file" type="File"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="job">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="extensions" minOccurs="0"/>
                <xsd:element name="settings" type="Job.Settings" minOccurs="0"/>
                <xsd:element name="description" minOccurs="0">
                    <xsd:complexType mixed="true">
                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
                            <xsd:element ref="include"/>
                        </xsd:choice>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="lock.use" minOccurs="0" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:attribute name="lock" type="String" use="required"/>
                        <xsd:attribute name="exclusive" type="Yes_no"/>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element ref="params" minOccurs="0"/>
                <xsd:element name="environment" type="environment" minOccurs="0"/>
                <xsd:element name="login" minOccurs="0">
                    <xsd:complexType>
                        <xsd:choice>
                            <xsd:element name="password.plain">
                                <xsd:complexType>
                                    <xsd:attribute name="password" type="String" use="required"/>
                                </xsd:complexType>
                            </xsd:element>
                        </xsd:choice>
                        <xsd:attribute name="user" type="String" use="required"/>
                    </xsd:complexType>
                </xsd:element>
                <xsd:choice minOccurs="0">
                    <xsd:element ref="script"/>
                    <xsd:element name="process">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="environment" type="environment" minOccurs="0"/>
                                <!-- Veraltet -->
                            </xsd:sequence>
                            <xsd:attribute name="file" type="File" use="required"/>
                            <xsd:attribute name="param" type="String"/>
                            <xsd:attribute name="log_file" type="File"/>
                            <xsd:attribute name="ignore_error" type="Yes_no"/>
                            <xsd:attribute name="ignore_signal" type="Yes_no"/>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:choice>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element ref="monitor"/>
                    <xsd:element name="monitor.use">
                        <xsd:complexType>
                            <xsd:attribute name="monitor" type="Path" use="required"/>
                            <xsd:attribute name="ordering" type="xsd:nonNegativeInteger"/>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:choice>
                <xsd:element name="start_when_directory_changed" minOccurs="0" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:attribute name="directory" type="File" use="required"/>
                        <xsd:attribute name="regex" type="String"/>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="delay_after_error" minOccurs="0" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:attribute name="error_count" type="xsd:positiveInteger" use="required"/>
                        <xsd:attribute name="delay" use="required">
                            <xsd:simpleType>
                                <xsd:restriction base="String"/>
                                <!-- Das lässt libxslt abstürzen:
                                <xsd:union>
                                    <xsd:simpleType>
                                        <xsd:restriction base="Duration"/>
                                    </xsd:simpleType>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:NMTOKEN">
                                            <xsd:enumeration value="stop"/>
                                            <xsd:enumeration value="stop"/>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:union-->
                            </xsd:simpleType>
                        </xsd:attribute>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="delay_order_after_setback" minOccurs="0" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:attribute name="setback_count" type="xsd:positiveInteger" use="required"/>
                        <xsd:attribute name="delay" type="Duration"/>
                        <xsd:attribute name="is_maximum" type="Yes_no"/>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="run_time" type="run_time" minOccurs="0"/>
                <xsd:element name="commands" type="Commands" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="name" type="Name"/>
            <xsd:attribute name="visible" type="Yes_no_never"/>
            <xsd:attribute name="priority" type="Process_priority"/>
            <xsd:attribute name="temporary" type="Yes_no"/>
            <xsd:attribute name="spooler_id" type="Name"/>
            <xsd:attribute name="title" type="String"/>
            <xsd:attribute name="log_append" type="Yes_no"/>
            <xsd:attribute name="order" type="Yes_no"/>
            <xsd:attribute name="separate_process" type="Yes_no"/>
            <xsd:attribute name="tasks" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="min_tasks" type="xsd:positiveInteger"/>
            <xsd:attribute name="timeout" type="Duration"/>
            <xsd:attribute name="idle_timeout" type="Duration_or_never"/>
            <xsd:attribute name="force_idle_timeout" type="Yes_no"/>
            <xsd:attribute name="process_class" type="Path"/>
            <xsd:attribute name="mail_xslt_stylesheet" type="File"/>
            <xsd:attribute name="java_options" type="String"/>
            <xsd:attribute name="stop_on_error" type="Yes_no"/>
            <xsd:attribute name="ignore_signals">
                <xsd:simpleType>
                    <xsd:union>
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NMTOKEN">
                                <xsd:enumeration value="all"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                        <xsd:simpleType>
                            <xsd:list itemType="Unix_signal"/>
                        </xsd:simpleType>
                    </xsd:union>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="replace" type="Yes_no"/>
            <xsd:attribute name="warn_if_longer_than" type="Duration_or_percentage"/>
            <xsd:attribute name="warn_if_shorter_than" type="Duration_or_percentage"/>
            <xsd:attribute name="enabled" type="Yes_no"/>
            <xsd:attribute name="stderr_log_level" type="Log_level"/>
            <!-- Veraltet, wird ignoriert -->
            <!-- Für ap, 1.4.06 timeout="0" soll erlaubt sein (kein Aprilscherz) -->
        </xsd:complexType>
        <!--libxslt xsd:key name="delay_after_error">
            <xsd:selector xpath="delay_after_error"/>
            <xsd:field xpath="@error_count"/>
        </xsd:key-->
        <!--libxslt xsd:key name="delay_order_after_setback">
            <xsd:selector xpath="delay_order_after_setback"/>
            <xsd:field xpath="@setback_count"/>
        </xsd:key-->
    </xsd:element>
    <xsd:complexType name="Job.Settings">
        <xsd:sequence>
            <xsd:element name="mail_on_error" type="Yes_no" minOccurs="0"/>
            <xsd:element name="mail_on_warning" type="Yes_no" minOccurs="0"/>
            <xsd:element name="mail_on_success" type="Yes_no" minOccurs="0"/>
            <xsd:element name="mail_on_process" minOccurs="0">
                <xsd:simpleType>
                    <xsd:union memberTypes="Yes_no xsd:positiveInteger"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="mail_on_delay_after_error" minOccurs="0">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="all"/>
                        <xsd:enumeration value="first_only"/>
                        <xsd:enumeration value="last_only"/>
                        <xsd:enumeration value="first_and_last_only"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="log_mail_to" type="Non_empty_string" minOccurs="0"/>
            <xsd:element name="log_mail_cc" type="Non_empty_string" minOccurs="0"/>
            <xsd:element name="log_mail_bcc" type="Non_empty_string" minOccurs="0"/>
            <xsd:element name="log_level" type="Log_level" minOccurs="0"/>
            <xsd:element name="history" type="Yes_no" minOccurs="0"/>
            <xsd:element name="history_on_process" minOccurs="0">
                <xsd:simpleType>
                    <xsd:union memberTypes="Yes_no xsd:nonNegativeInteger"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="history_with_log" minOccurs="0">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="yes"/>
                        <xsd:enumeration value="no"/>
                        <xsd:enumeration value="gzip"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="monitor">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="script"/>
            </xsd:sequence>
            <xsd:attribute name="name" type="Name"/>
            <xsd:attribute name="ordering" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="job_chain">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="extensions" minOccurs="0"/>
                <xsd:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:choice>
                    <xsd:sequence>
                        <xsd:element name="job_chain_node.job_chain" type="job_chain_node.job_chain"/>
                        <xsd:choice maxOccurs="unbounded">
                            <xsd:element name="job_chain_node.job_chain" type="job_chain_node.job_chain"/>
                            <xsd:element name="job_chain_node.end" type="job_chain_node.end"/>
                        </xsd:choice>
                    </xsd:sequence>
                    <xsd:sequence>
                        <xsd:element name="file_order_source" minOccurs="0" maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:attribute name="directory" type="String" use="required"/>
                                <xsd:attribute name="regex" type="String"/>
                                <xsd:attribute name="delay_after_error" type="xsd:positiveInteger"/>
                                <xsd:attribute name="repeat">
                                    <xsd:simpleType>
                                        <xsd:union>
                                            <xsd:simpleType>
                                                <xsd:restriction base="xsd:NMTOKEN">
                                                    <xsd:enumeration value="no"/>
                                                </xsd:restriction>
                                            </xsd:simpleType>
                                            <xsd:simpleType>
                                                <xsd:restriction base="xsd:positiveInteger"/>
                                            </xsd:simpleType>
                                        </xsd:union>
                                    </xsd:simpleType>
                                </xsd:attribute>
                                <xsd:attribute name="max" type="xsd:positiveInteger"/>
                                <xsd:attribute name="next_state" type="String"/>
                                <xsd:attribute name="alert_when_directory_missing" type="Yes_no"/>
                            </xsd:complexType>
                        </xsd:element>
                        <xsd:choice maxOccurs="unbounded">
                            <xsd:element name="job_chain_node">
                                <xsd:complexType>
                                    <xsd:sequence>
                                        <xsd:element ref="extensions" minOccurs="0"/>
                                        <xsd:any namespace="##other" processContents="lax" minOccurs="0"/>
                                        <xsd:element name="on_return_codes" minOccurs="0">
                                            <xsd:complexType>
                                                <xsd:sequence maxOccurs="unbounded">
                                                    <xsd:element name="on_return_code">
                                                        <xsd:complexType>
                                                            <xsd:sequence>
                                                                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                                                                <xsd:element name="to_state" minOccurs="0">
                                                                    <xsd:complexType>
                                                                        <xsd:attribute name="state" type="String"/>
                                                                    </xsd:complexType>
                                                                </xsd:element>
                                                            </xsd:sequence>
                                                            <xsd:attribute name="return_code"/>
                                                        </xsd:complexType>
                                                    </xsd:element>
                                                </xsd:sequence>
                                            </xsd:complexType>
                                        </xsd:element>
                                    </xsd:sequence>
                                    <xsd:attribute name="state" type="String" use="required"/>
                                    <xsd:attribute name="job" type="Path"/>
                                    <xsd:attribute name="next_state" type="String"/>
                                    <xsd:attribute name="error_state" type="String"/>
                                    <xsd:attribute name="on_error">
                                        <xsd:simpleType>
                                            <xsd:restriction base="xsd:NMTOKEN">
                                                <xsd:enumeration value="setback"/>
                                                <xsd:enumeration value="suspend"/>
                                            </xsd:restriction>
                                        </xsd:simpleType>
                                    </xsd:attribute>
                                    <xsd:attribute name="suspend" type="Yes_no"/>
                                    <xsd:attribute name="delay" type="xsd:nonNegativeInteger"/>
                                    <xsd:anyAttribute namespace="##other" processContents="lax"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="file_order_sink">
                                <xsd:complexType>
                                    <xsd:attribute name="state" type="String" use="required"/>
                                    <xsd:attribute name="remove" type="Yes_no"/>
                                    <xsd:attribute name="move_to" type="File"/>
                                    <xsd:attribute name="delay" type="xsd:nonNegativeInteger"/>
                                </xsd:complexType>
                            </xsd:element>
                            <xsd:element name="job_chain_node.end" type="job_chain_node.end"/>
                        </xsd:choice>
                    </xsd:sequence>
                </xsd:choice>
            </xsd:sequence>
            <xsd:attribute name="name" type="Name"/>
            <xsd:attribute name="replace" type="Yes_no"/>
            <xsd:attribute name="visible" type="Yes_no_never"/>
            <xsd:attribute name="orders_recoverable" type="Yes_no"/>
            <xsd:attribute name="distributed" type="Yes_no"/>
            <xsd:attribute name="title" type="String"/>
            <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="process_class" type="Path"/>
            <xsd:attribute name="fileWatchingProcessClass" type="Path"/>
        </xsd:complexType>
        <!--libxslt xsd:key name="job_chain_node">
            <xsd:selector xpath="job_chain_node"/>
            <xsd:field xpath="@state"/>
        </xsd:key-->
        <!--xsd:keyref name="job_chain_node.next_state" refer="job_chain_node">
            <xsd:selector xpath="job_chain_node"/>
            <xsd:field xpath="@next_state"/>
        </xsd:keyref-->
        <!--xsd:keyref name="job_chain_node.error_state" refer="job_chain_node">
            <xsd:selector xpath="job_chain_node"/>
            <xsd:field xpath="@error_state"/>
        </xsd:keyref-->
    </xsd:element>
    <xsd:complexType name="job_chain_node.job_chain">
        <xsd:attribute name="state" type="String" use="required"/>
        <xsd:attribute name="job_chain" type="Path"/>
        <xsd:attribute name="next_state" type="String"/>
        <xsd:attribute name="error_state" type="String"/>
    </xsd:complexType>
    <xsd:complexType name="job_chain_node.end">
        <xsd:attribute name="state" type="String" use="required"/>
    </xsd:complexType>
    <xsd:element name="job_chains">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="job_chain" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="jobs">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="job" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
        <!--libxslt xsd:key name="job">
            <xsd:selector xpath="job"/>
            <xsd:field xpath="@name"/>
        </xsd:key-->
    </xsd:element>
    <xsd:element name="monitors">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="monitor" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="kill_task">
        <xsd:complexType>
            <xsd:attribute name="job" type="Path" use="required"/>
            <xsd:attribute name="id" type="Task_id" use="required"/>
            <xsd:attribute name="immediately" type="Yes_no"/>
            <xsd:attribute name="timeout">
                <xsd:simpleType>
                    <xsd:union>
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:nonNegativeInteger"/>
                        </xsd:simpleType>
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NMTOKEN">
                                <xsd:enumeration value="never"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:union>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="licence.use">
        <xsd:complexType>
            <xsd:attribute name="key" type="String" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="modify_job">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="run_time" type="run_time" minOccurs="0"/>
            </xsd:sequence>
            <xsd:attribute name="job" type="Path" use="required"/>
            <xsd:attribute name="cmd">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="stop"/>
                        <xsd:enumeration value="unstop"/>
                        <xsd:enumeration value="start"/>
                        <xsd:enumeration value="wake"/>
                        <xsd:enumeration value="wake_when_in_period"/>
                        <xsd:enumeration value="end"/>
                        <xsd:enumeration value="suspend"/>
                        <xsd:enumeration value="continue"/>
                        <xsd:enumeration value="reread"/>
                        <xsd:enumeration value="remove"/>
                        <xsd:enumeration value="enable"/>
                        <xsd:enumeration value="disable"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="modify_hot_folder" type="modify_hot_folder"/>
    <xsd:element name="job_chain.modify">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="state">
                <xsd:simpleType>
                    <xsd:restriction base="String">
                        <xsd:enumeration value="running"/>
                        <xsd:enumeration value="stopped"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="job_chain_node.modify">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="state" type="String" use="required"/>
            <xsd:attribute name="action" type="Job_chain_node.Action"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="lock" type="lock"/>
    <xsd:element name="lock.remove" type="lock.remove"/>
    <xsd:element name="modify_order">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="params" minOccurs="0"/>
                <xsd:element name="xml_payload" type="Xml_payload" minOccurs="0"/>
                <xsd:element name="run_time" type="run_time" minOccurs="0"/>
            </xsd:sequence>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="order" type="Order_id" use="required"/>
            <xsd:attribute name="priority" type="xsd:integer"/>
            <xsd:attribute name="title" type="String"/>
            <xsd:attribute name="state" type="String"/>
            <xsd:attribute name="setback" type="No"/>
            <xsd:attribute name="suspended" type="Yes_no"/>
            <xsd:attribute name="at" type="Date_time_with_now"/>
            <xsd:attribute name="end_state" type="String"/>
            <xsd:attribute name="action">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="reset"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="modify_spooler">
        <xsd:complexType>
            <xsd:attribute name="cmd">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="pause"/>
                        <xsd:enumeration value="continue"/>
                        <xsd:enumeration value="stop"/>
                        <xsd:enumeration value="reload"/>
                        <xsd:enumeration value="terminate"/>
                        <xsd:enumeration value="terminate_and_restart"/>
                        <xsd:enumeration value="let_run_terminate_and_restart"/>
                        <xsd:enumeration value="abort_immediately"/>
                        <xsd:enumeration value="abort_immediately_and_restart"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="timeout" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="note">
        <xsd:annotation>
            <xsd:documentation>additional note in HTML</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType mixed="true">
            <xsd:complexContent mixed="true">
                <xsd:restriction base="xsd:anyType">
                    <xsd:sequence>
                        <xsd:any namespace="http://www.w3.org/1999/xhtml" processContents="lax"/>
                    </xsd:sequence>
                    <xsd:attribute name="language" use="required">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:string">
                                <xsd:length value="2"/>
                                <xsd:enumeration value="de"/>
                                <xsd:enumeration value="en"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:restriction>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="order" type="order"/>
    <xsd:complexType name="order">
        <xsd:sequence>
            <xsd:element ref="extensions" minOccurs="0"/>
            <xsd:element ref="params" minOccurs="0"/>
            <xsd:element name="run_time" type="run_time" minOccurs="0"/>
            <xsd:element name="payload" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:any processContents="skip"/>
                    </xsd:sequence>
                </xsd:complexType>
                <!--xsd:element ref="params" minOccurs="0"/-->
            </xsd:element>
            <xsd:element name="xml_payload" type="Xml_payload" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="job_chain" type="Path"/>
        <xsd:attribute name="id" type="Order_id"/>
        <xsd:attribute name="priority" type="xsd:integer"/>
        <xsd:attribute name="title" type="String"/>
        <xsd:attribute name="state" type="String"/>
        <xsd:attribute name="end_state" type="String"/>
        <xsd:attribute name="web_service" type="Name"/>
        <xsd:attribute name="replace" type="Yes_no"/>
        <xsd:attribute name="at" type="Date_time_with_now"/>
        <xsd:attribute name="suspended" type="Yes_no"/>
    </xsd:complexType>
    <!--xsd:complexType name="order">
        <xsd:sequence>
            <xsd:element ref="params"   minOccurs="0"/>
            <xsd:element ref="run_time" minOccurs="0"/>

            <xsd:element name="payload" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:any processContents="skip"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="xml_payload" type="Xml_payload" minOccurs="0"/>
        </xsd:sequence>

        <xsd:attribute name="priority"          type="xsd:integer"/>
        <xsd:attribute name="title"             type="String"/>
        <xsd:attribute name="state"             type="String"/>
        <xsd:attribute name="at"                type="Date_time_with_now"/>
        <xsd:attribute name="suspended"         type="Yes_no"/>
    </xsd:complexType-->
    <xsd:element name="param">
        <xsd:complexType>
            <xsd:attribute name="name" type="String" use="required"/>
            <xsd:attribute name="value" type="String" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="param.get">
        <xsd:complexType>
            <xsd:attribute name="name" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="params">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element ref="param"/>
                    <xsd:element name="copy_params">
                        <xsd:complexType>
                            <xsd:attribute name="from" use="required">
                                <xsd:annotation>
                                    <xsd:documentation>Only valid in element job/commands/start_job and job/commands/add_order</xsd:documentation>
                                </xsd:annotation>
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:NMTOKEN">
                                        <xsd:enumeration value="task"/>
                                        <xsd:enumeration value="order"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:attribute>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="include">
                        <xsd:complexType>
                            <xsd:attribute name="file" type="File"/>
                            <xsd:attribute name="live_file" type="File"/>
                            <xsd:attribute name="node" type="String"/>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:choice>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="params.get"/>
    <xsd:element name="period">
        <xsd:complexType>
            <xsd:attribute name="single_start" type="Time_of_day"/>
            <xsd:attribute name="begin" type="Time_of_day"/>
            <xsd:attribute name="end" type="Time_of_day"/>
            <xsd:attribute name="let_run" type="Yes_no"/>
            <xsd:attribute name="repeat" type="Duration"/>
            <xsd:attribute name="absolute_repeat" type="Duration"/>
            <xsd:attribute name="when_holiday" type="When_holiday"/>
            <xsd:attribute name="start_once" type="Yes_no">
                <xsd:annotation>
                    <xsd:documentation>Test only for Joacim Zschimmer</xsd:documentation>
                </xsd:annotation>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="process_class" type="process_class"/>
    <xsd:element name="process_class.remove" type="process_class.remove"/>
    <xsd:element name="process_classes">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="extensions" minOccurs="0"/>
                <xsd:element name="process_class" type="process_class" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="ignore" type="Yes_no"/>
        </xsd:complexType>
        <!-- XML-Schema erlaubt keine leeren Schlüssel.
        <xsd:key name="process_class">
            <xsd:selector xpath="process_class"/>
            <xsd:field xpath="@name"/>
        </xsd:key-->
    </xsd:element>
    <xsd:element name="register_remote_scheduler">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="ERROR" minOccurs="0">
                    <xsd:complexType/>
                </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="version" type="String"/>
            <xsd:attribute name="scheduler_id" type="String"/>
            <xsd:attribute name="tcp_port" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="udp_port" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="is_cluster_member" type="String"/>
            <xsd:attribute name="logoff" type="Yes_no"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="remove_job_chain">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="remove_order">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="order" type="Order_id" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="run_time" type="run_time"/>
    <!-- Für Order.Run_time.xml = "<run_time>" -->
    <xsd:element name="s" type="Show_state"/>
    <xsd:element name="schedule" type="run_time"/>
    <xsd:element name="schedule.remove" type="schedule.remove"/>
    <xsd:element name="script">
        <xsd:complexType mixed="true">
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                <xsd:element ref="include"/>
            </xsd:choice>
            <xsd:attribute name="language" type="Name"/>
            <xsd:attribute name="use_engine">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="task"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="com_class" type="String"/>
            <xsd:attribute name="filename" type="File"/>
            <xsd:attribute name="java_class" type="String"/>
            <xsd:attribute name="recompile" type="Yes_no"/>
            <xsd:attribute name="encoding" type="Code_page_encoding"/>
            <xsd:attribute name="java_class_path" type="String"/>
            <!-- JS-540 -->
            <!--xsd:attribute name="process_class"         type="Path"    s. eMail von Püschel 2007-11-06 12:55 /-->
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="security">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="allowed_host" minOccurs="0" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:attribute name="host" type="String" use="required"/>
                        <xsd:attribute name="level" use="required">
                            <xsd:simpleType>
                                <xsd:restriction base="xsd:NMTOKEN">
                                    <xsd:enumeration value="none"/>
                                    <xsd:enumeration value="signal"/>
                                    <xsd:enumeration value="info"/>
                                    <xsd:enumeration value="no_add"/>
                                    <xsd:enumeration value="all"/>
                                </xsd:restriction>
                            </xsd:simpleType>
                        </xsd:attribute>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="ignore_unknown_hosts" type="Yes_no"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="supervisor.configuration.fetch">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="configuration.file" type="configuration.file"/>
                    <xsd:element name="configuration.directory" type="configuration.directory"/>
                </xsd:choice>
            </xsd:sequence>
            <xsd:attribute name="version" type="String" use="required"/>
            <xsd:attribute name="scheduler_id" type="String" use="required"/>
            <xsd:attribute name="cluster_member_id" type="String"/>
            <xsd:attribute name="ip" type="String"/>
            <xsd:attribute name="udp_port" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="interval" type="xsd:nonNegativeInteger" use="required"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="supervisor.remote_scheduler.configuration.fetch_updated_files">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded">
                    <xsd:element name="configuration.file" type="configuration.file"/>
                    <xsd:element name="configuration.directory" type="configuration.directory"/>
                </xsd:choice>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="cluster">
        <xsd:complexType>
            <xsd:attribute name="heart_beat_timeout" type="xsd:positiveInteger"/>
            <xsd:attribute name="heart_beat_own_timeout">
                <xsd:simpleType>
                    <xsd:union memberTypes="xsd:positiveInteger">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NMTOKEN">
                                <xsd:enumeration value="never"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:union>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="heart_beat_warn_timeout" type="xsd:positiveInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="job.why">
        <xsd:complexType>
            <xsd:attribute name="job" type="Path" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="job_chain.check_distributed">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="order_state" type="String"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="setting.set">
        <xsd:complexType>
            <xsd:attribute name="name" type="String" use="required"/>
            <xsd:attribute name="value" type="String" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="scheduler_log.log_categories.reset">
        <xsd:complexType>
            <xsd:attribute name="delay" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="scheduler_log.log_categories.set">
        <xsd:complexType>
            <xsd:attribute name="category" type="String" use="required"/>
            <xsd:attribute name="value" type="Yes_no"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="scheduler_log.log_categories.show"/>
    <xsd:element name="service_request">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="web_service" type="web_service" minOccurs="0"/>
                <xsd:element name="content">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:any namespace="##any"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="url" type="String"/>
            <xsd:attribute name="url_path" type="String"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_calendar">
        <xsd:complexType>
            <xsd:attribute name="from" type="xsd:dateTime"/>
            <xsd:attribute name="before" type="xsd:dateTime"/>
            <xsd:attribute name="limit" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="what" type="What"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_history">
        <xsd:complexType>
            <xsd:attribute name="job" type="Path" use="required"/>
            <xsd:attribute name="id" type="Task_id"/>
            <xsd:attribute name="prev" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="next" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="what" type="What"/>
            <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_job">
        <xsd:complexType>
            <xsd:attribute name="job" type="Path" use="required"/>
            <xsd:attribute name="job_chain" type="Path"/>
            <xsd:attribute name="what" type="What"/>
            <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="max_task_history" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_job_chain">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="what" type="What"/>
            <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="max_order_history" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_job_chains">
        <xsd:complexType>
            <xsd:attribute name="what" type="Path"/>
            <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="max_order_history" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_jobs">
        <xsd:complexType>
            <xsd:attribute name="what" type="What"/>
            <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="max_task_history" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_order">
        <xsd:complexType>
            <xsd:attribute name="job_chain" type="Path" use="required"/>
            <xsd:attribute name="order" type="Order_id"/>
            <xsd:attribute name="history_id" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="what" type="What"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="show_schedulers" type="Show_state"/>
    <xsd:element name="show_state" type="Show_state"/>
    <xsd:element name="subsystem.show" type="Subsystem.show"/>
    <xsd:complexType name="Show_state">
        <xsd:attribute name="what" type="String"/>
        <xsd:attribute name="subsystems" type="String"/>
        <xsd:attribute name="max_orders" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="max_order_history" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="max_task_history" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="path" type="Path"/>
    </xsd:complexType>
    <xsd:element name="show_task">
        <xsd:complexType>
            <xsd:attribute name="id" type="Task_id" use="required"/>
            <xsd:attribute name="what" type="What"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="Subsystem.show">
        <xsd:attribute name="what" type="String"/>
    </xsd:complexType>
    <xsd:element name="start_job">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="params" minOccurs="0"/>
                <xsd:element name="environment" type="environment" minOccurs="0"/>
            </xsd:sequence>
            <xsd:attribute name="job" type="Path" use="required"/>
            <xsd:attribute name="name" type="Name"/>
            <xsd:attribute name="at" type="Date_time_with_now_or_period"/>
            <xsd:attribute name="after" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="web_service" type="Name"/>
            <xsd:attribute name="force" type="Yes_no"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="remote_scheduler.start_remote_task">
        <xsd:complexType>
            <xsd:attribute name="tcp_port" type="xsd:nonNegativeInteger" use="required"/>
            <xsd:attribute name="kind">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="process"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="java_options" type="String"/>
            <xsd:attribute name="java_classpath" type="String"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="remote_scheduler.remote_task.kill">
        <xsd:complexType>
            <xsd:attribute name="process_id" type="xsd:long" use="required"/>
            <xsd:attribute name="signal">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="SIGTERM"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="remote_scheduler.remote_task.close">
        <xsd:complexType>
            <xsd:attribute name="process_id" type="xsd:long" use="required"/>
            <xsd:attribute name="kill" type="Yes_no"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="terminate">
        <xsd:complexType>
            <xsd:attribute name="all_schedulers" type="Yes_no"/>
            <xsd:attribute name="restart" type="Yes_no"/>
            <xsd:attribute name="timeout" type="xsd:integer"/>
            <xsd:attribute name="continue_exclusive_operation" type="Yes_no"/>
            <xsd:attribute name="cluster_member_id" type="String"/>
            <xsd:attribute name="delete_dead_entry" type="Yes_no"/>
            <!--xsd:attribute name="continue_exclusive_operation">
                <xsd:simpleType>
                    <xsd:union>
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NMTOKEN">
                                <xsd:enumeration value="non_backup"/>
                                <xsd:enumeration value="this"/>
                                <xsd:enumeration value="any"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                        <xsd:simpleType>
                            <xsd:restriction base="String">
                                <xsd:pattern value="http://.+"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:union>
                </xsd:simpleType>
            </xsd:attribute-->
        </xsd:complexType>
    </xsd:element>
    <!-- <xsd:element name="get_events"> -->
    <xsd:element name="events.get">
        <xsd:complexType/>
    </xsd:element>
    <xsd:element name="http_server">
        <xsd:complexType>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="http.authentication" type="http.authentication"/>
                <xsd:element name="web_service" type="web_service"/>
                <xsd:element name="http_directory" type="http_directory"/>
            </xsd:choice>
        </xsd:complexType>
        <!--libxslt xsd:key name="web_service">
            <xsd:selector xpath="web_service"/>
            <xsd:field xpath="@name"/>
        </xsd:key-->
        <!--libxslt xsd:key name="web_service.url_path">
            <xsd:selector xpath="web_service"/>
            <xsd:field xpath="@url_path"/>
        </xsd:key-->
    </xsd:element>
    <xsd:element name="web_services">
        <xsd:annotation>
            <xsd:documentation>Deprecated. Use http_server</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="web_service" type="web_service" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ELEMENT-TYPEN-->
    <xsd:complexType name="check_folders"/>
    <xsd:complexType name="configuration.directory">
        <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="configuration.directory" type="configuration.directory"/>
                <xsd:element name="configuration.file" type="configuration.file"/>
            </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="name" type="String"/>
    </xsd:complexType>
    <xsd:complexType name="configuration.file">
        <xsd:attribute name="name" type="String" use="required"/>
        <xsd:attribute name="last_write_time" type="xsd:dateTime"/>
        <xsd:attribute name="md5" type="Md5"/>
        <!--xsd:sequence>
            <xsd:element name="content" type="content"/>
        </xsd:sequence-->
    </xsd:complexType>
    <xsd:complexType name="environment">
        <xsd:sequence>
            <xsd:element name="variable" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:attribute name="name" type="String" use="required"/>
                    <xsd:attribute name="value" type="String" use="required"/>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="http.authentication">
        <xsd:sequence>
            <xsd:element name="http.users">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="http.user" maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:attribute name="name" type="Name" use="required"/>
                                <xsd:attribute name="password_md5" type="Md5_checksum" use="required"/>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="scheme">
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="basic"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="http_directory">
        <xsd:attribute name="url_path" type="Url_path" use="required"/>
        <xsd:attribute name="path" use="required">
            <xsd:simpleType>
                <xsd:restriction base="String">
                    <xsd:pattern value=".+"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="lock">
        <xsd:attribute name="name" type="Name"/>
        <xsd:attribute name="max_non_exclusive" type="xsd:nonNegativeInteger"/>
    </xsd:complexType>
    <xsd:complexType name="lock.remove">
        <xsd:attribute name="lock" type="Path" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="modify_hot_folder">
        <xsd:choice>
            <xsd:element ref="job"/>
            <xsd:element ref="job_chain"/>
            <xsd:element ref="lock"/>
            <xsd:element ref="order"/>
            <xsd:element ref="process_class"/>
            <xsd:element ref="schedule"/>
        </xsd:choice>
        <xsd:attribute name="folder" type="Path"/>
    </xsd:complexType>
    <xsd:complexType name="monthdays">
        <xsd:sequence maxOccurs="unbounded">
            <xsd:choice>
                <xsd:element name="day" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
                        </xsd:sequence>
                        <xsd:attribute name="day" use="required">
                            <xsd:simpleType>
                                <xsd:list>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:positiveInteger">
                                            <xsd:maxInclusive value="31"/>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:list>
                            </xsd:simpleType>
                        </xsd:attribute>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="weekday" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
                        </xsd:sequence>
                        <xsd:attribute name="day" use="required">
                            <xsd:simpleType>
                                <xsd:list itemType="Weekday"/>
                            </xsd:simpleType>
                        </xsd:attribute>
                        <xsd:attribute name="which" use="required">
                            <xsd:simpleType>
                                <xsd:union>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:positiveInteger">
                                            <xsd:maxInclusive value="4"/>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:negativeInteger">
                                            <xsd:minInclusive value="-4"/>
                                        </xsd:restriction>
                                    </xsd:simpleType>
                                </xsd:union>
                            </xsd:simpleType>
                        </xsd:attribute>
                    </xsd:complexType>
                </xsd:element>
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="process_class">
        <xsd:sequence>
            <xsd:element name="remote_schedulers" minOccurs="0">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="remote_scheduler" minOccurs="0" maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:attribute name="remote_scheduler" type="String"/>
                                <xsd:attribute name="http_heartbeat_period" type="xsd:positiveInteger"/>
                                <xsd:attribute name="http_heartbeat_timeout" type="xsd:positiveInteger"/>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                    <xsd:attribute name="select">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:NMTOKEN">
                                <xsd:enumeration value="first"/>
                                <xsd:enumeration value="next"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="name" type="Name"/>
        <xsd:attribute name="max_processes" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="remote_scheduler" type="String"/>
        <xsd:attribute name="spooler_id" type="Name"/>
        <xsd:attribute name="replace" type="Yes_no"/>
    </xsd:complexType>
    <xsd:complexType name="process_class.remove">
        <xsd:attribute name="process_class" type="Path"/>
    </xsd:complexType>
    <xsd:complexType name="run_time">
        <xsd:sequence>
            <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="at" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:attribute name="at" type="Loose_date_time"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="date" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
                    </xsd:sequence>
                    <xsd:attribute name="date" type="String" use="required"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="weekdays" type="weekdays" minOccurs="0">
                <!--libxslt xsd:key name="weekdays">
                        <xsd:selector xpath="day"/>
                        <xsd:field xpath="@day"/>
                    </xsd:key-->
            </xsd:element>
            <xsd:element name="monthdays" type="monthdays" minOccurs="0">
                <!--libxslt xsd:key name="monthdays">
                        <xsd:selector xpath="day"/>
                        <xsd:field xpath="@day"/>
                    </xsd:key-->
            </xsd:element>
            <xsd:element name="ultimos" type="ultimos" minOccurs="0">
                <!--libxslt xsd:key name="ultimos">
                        <xsd:selector xpath="day"/>
                        <xsd:field xpath="@day"/>
                    </xsd:key-->
            </xsd:element>
            <xsd:element name="month" minOccurs="0" maxOccurs="12">
                <xsd:complexType>
                    <xsd:choice minOccurs="0" maxOccurs="unbounded">
                        <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
                        <xsd:element name="weekdays" type="weekdays"/>
                        <xsd:element name="monthdays" type="monthdays"/>
                        <xsd:element name="ultimos" type="ultimos"/>
                    </xsd:choice>
                    <xsd:attribute name="month">
                        <xsd:simpleType>
                            <xsd:list itemType="Month_name"/>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:complexType>
            </xsd:element>
            <xsd:choice>
                <xsd:element ref="holidays"/>
                <xsd:element ref="holiday" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="schedule" type="String"/>
        <xsd:attribute name="name" type="Name"/>
        <xsd:attribute name="title" type="String"/>
        <xsd:attribute name="substitute" type="Path"/>
        <xsd:attribute name="valid_from" type="Date_time"/>
        <xsd:attribute name="valid_to" type="Date_time"/>
        <xsd:attribute name="single_start" type="Time_of_day"/>
        <xsd:attribute name="begin" type="Time_of_day"/>
        <xsd:attribute name="end" type="Time_of_day"/>
        <xsd:attribute name="let_run" type="Yes_no"/>
        <xsd:attribute name="repeat" type="Duration"/>
        <xsd:attribute name="when_holiday" type="When_holiday"/>
        <xsd:attribute name="once" type="Yes_no"/>
        <xsd:attribute name="start_time_function" type="xsd:NMTOKEN"/>
        <!-- Nur zum Abruf ("<schedule.use>") -->
        <!-- Nur zur Definition eines benannten <schedule> -->
        <!-- Für überdeckendes <schedule> -->
        <xsd:attribute name="time_zone" type="String"/>
    </xsd:complexType>
    <xsd:complexType name="schedule.remove">
        <xsd:attribute name="schedule" type="Path"/>
    </xsd:complexType>
    <xsd:complexType name="scheduler_script">
        <xsd:sequence>
            <xsd:element ref="script"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="Name"/>
        <xsd:attribute name="ordering" type="xsd:nonNegativeInteger"/>
    </xsd:complexType>
    <xsd:complexType name="ultimos">
        <xsd:sequence>
            <xsd:element name="day" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
                    </xsd:sequence>
                    <xsd:attribute name="day" use="required">
                        <xsd:simpleType>
                            <xsd:list>
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:nonNegativeInteger">
                                        <xsd:maxInclusive value="30"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:list>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="web_service">
        <xsd:sequence>
            <xsd:element ref="params" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="Name"/>
        <xsd:attribute name="url_path" type="Url_path" use="required"/>
        <xsd:attribute name="debug" type="Yes_no"/>
        <xsd:attribute name="request_xslt_stylesheet" type="File"/>
        <xsd:attribute name="response_xslt_stylesheet" type="File"/>
        <xsd:attribute name="forward_xslt_stylesheet" type="File"/>
        <xsd:attribute name="job_chain" type="Path"/>
        <xsd:attribute name="timeout" type="xsd:positiveInteger"/>
        <!-- Diese Attribute und die folgenden Attribute schließen einander aus -->
    </xsd:complexType>
    <xsd:complexType name="weekdays">
        <xsd:sequence>
            <xsd:element name="day" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element ref="period" minOccurs="0" maxOccurs="unbounded"/>
                    </xsd:sequence>
                    <xsd:attribute name="day" use="required">
                        <xsd:simpleType>
                            <xsd:list itemType="Weekday"/>
                        </xsd:simpleType>
                    </xsd:attribute>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Xml_payload">
        <xsd:sequence minOccurs="0">
            <xsd:any processContents="skip"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ATTRIBUT-TYPEN-->
    <xsd:simpleType name="Code_page_encoding">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="oem"/>
            <xsd:enumeration value="cp437"/>
            <xsd:enumeration value="cp850"/>
            <xsd:enumeration value="latin1"/>
            <xsd:enumeration value="none"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Job_chain_node.Action">
        <xsd:restriction base="String">
            <xsd:enumeration value="process"/>
            <xsd:enumeration value="stop"/>
            <xsd:enumeration value="next_state"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Yes_no">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="yes"/>
            <xsd:enumeration value="no"/>
            <xsd:enumeration value="true"/>
            <xsd:enumeration value="false"/>
            <xsd:enumeration value="1"/>
            <xsd:enumeration value="0"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="No">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="no"/>
            <xsd:enumeration value="false"/>
            <xsd:enumeration value="0"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Yes_no_never">
        <xsd:union memberTypes="Yes_no">
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="never"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="Md5_checksum">
        <xsd:restriction base="xsd:string">
            <xsd:length value="32" fixed="true"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Name">
        <xsd:restriction base="String">
            <xsd:pattern value="[^/]*"/>
        </xsd:restriction>
        <!-- Eine engere Beschränkung wäre gut: Buchstabe gefolgt von (Buchstabe, Ziffer, _ und vielleicht -)*  -->
        <!-- Regulärer Ausdruck wie bei Path -->
    </xsd:simpleType>
    <xsd:simpleType name="Absolute_path">
        <xsd:restriction base="Path">
            <xsd:pattern value="/.*"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Path">
        <xsd:restriction base="String">
            <xsd:pattern value="/?([^/]+/)*([^/]*)"/>
        </xsd:restriction>
        <!-- Eine Folge von Name. Regulärer Ausdruck wie bei Name -->
    </xsd:simpleType>
    <xsd:simpleType name="What">
        <xsd:restriction base="String"/>
    </xsd:simpleType>
    <xsd:simpleType name="Task_id">
        <xsd:restriction base="xsd:positiveInteger"/>
    </xsd:simpleType>
    <xsd:simpleType name="Order_id">
        <xsd:restriction base="String"/>
    </xsd:simpleType>
    <xsd:simpleType name="File">
        <xsd:restriction base="String"/>
    </xsd:simpleType>
    <xsd:simpleType name="Date_time">
        <xsd:annotation>
            <xsd:documentation>"yyyy-mm-dd HH:MM[:SS]"</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="String">
            <xsd:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}(:[0-9]{2})?"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Loose_date_time">
        <xsd:annotation>
            <xsd:documentation>"yyyy-mm-dd HH:MM[:SS]"</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="String"/>
    </xsd:simpleType>
    <xsd:simpleType name="Date_time_with_now">
        <xsd:annotation>
            <xsd:documentation>"yyyy-mm-dd HH:MM[:SS]", "now + HH:MM[:SS]" or "now+SECONDS"</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="String"/>
    </xsd:simpleType>
    <xsd:simpleType name="Date_time_with_now_or_period">
        <xsd:union memberTypes="Date_time_with_now">
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="period"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="Time_of_day">
        <xsd:restriction base="String">
            <xsd:pattern value="\d{1,2}:\d{2}(:\d\d)?"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Weekday">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:pattern value="[01234567]|(so(nntag)?)|(mo(ntag)?)|(di(enstag)?)|(mi(ttwoch)?)|(do(nnerstag)?)|(fr(eitag)?)|(sa(mstag)?)|(sun(day)?)|(mon(day)?)|(tue(sday)?)|(wed(nesday)?)|(thu(rsday)?)|(fri(day)?)|(sat(urday)?)"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Duration">
        <xsd:union memberTypes="xsd:nonNegativeInteger">
            <xsd:simpleType>
                <xsd:restriction base="String">
                    <xsd:annotation>
                        <xsd:documentation xml:lang="de">
                            Duration in format HH:MM[:SS]
                        </xsd:documentation>
                    </xsd:annotation>
                    <xsd:pattern value="(\d+)|(\d+:\d{2}(:\d\d)?)"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="Duration_or_never">
        <xsd:union memberTypes="xsd:nonNegativeInteger">
            <xsd:simpleType>
                <xsd:restriction base="String">
                    <xsd:annotation>
                        <xsd:documentation xml:lang="de">
                            Duration in format HH:MM[:SS]
                        </xsd:documentation>
                    </xsd:annotation>
                    <xsd:pattern value="(\d+)|(\d+:\d{2}(:\d\d)?)"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="never"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="Duration_or_percentage">
        <xsd:union memberTypes="xsd:nonNegativeInteger">
            <xsd:simpleType>
                <xsd:restriction base="String">
                    <xsd:annotation>
                        <xsd:documentation xml:lang="de">
                            Duration in format HH:MM[:SS]
                        </xsd:documentation>
                    </xsd:annotation>
                    <xsd:pattern value="(\d+)|(\d+:\d{2}(:\d\d)?)"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:pattern value="\d+%"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
        <!--libxml2 bricht ab:
        <xsd:union>
            <xsd:simpleType>
                <xsd:restriction base="Duration"/>
            </xsd:simpleType>

            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:pattern value="\d+%"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
        -->
    </xsd:simpleType>
    <xsd:simpleType name="Log_level">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="error"/>
            <xsd:enumeration value="warn"/>
            <xsd:enumeration value="info"/>
            <xsd:enumeration value="debug"/>
            <xsd:enumeration value="debug1"/>
            <xsd:enumeration value="debug2"/>
            <xsd:enumeration value="debug3"/>
            <xsd:enumeration value="debug4"/>
            <xsd:enumeration value="debug5"/>
            <xsd:enumeration value="debug6"/>
            <xsd:enumeration value="debug7"/>
            <xsd:enumeration value="debug8"/>
            <xsd:enumeration value="debug9"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Md5">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9a-fA-F]{32}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Month_name">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="january"/>
            <xsd:enumeration value="february"/>
            <xsd:enumeration value="march"/>
            <xsd:enumeration value="april"/>
            <xsd:enumeration value="may"/>
            <xsd:enumeration value="june"/>
            <xsd:enumeration value="july"/>
            <xsd:enumeration value="august"/>
            <xsd:enumeration value="september"/>
            <xsd:enumeration value="october"/>
            <xsd:enumeration value="november"/>
            <xsd:enumeration value="december"/>
            <xsd:enumeration value="1"/>
            <xsd:enumeration value="2"/>
            <xsd:enumeration value="3"/>
            <xsd:enumeration value="4"/>
            <xsd:enumeration value="5"/>
            <xsd:enumeration value="6"/>
            <xsd:enumeration value="7"/>
            <xsd:enumeration value="8"/>
            <xsd:enumeration value="9"/>
            <xsd:enumeration value="10"/>
            <xsd:enumeration value="11"/>
            <xsd:enumeration value="12"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Non_empty_string">
        <xsd:restriction base="String">
            <xsd:pattern value=".+"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Positive_duration">
        <xsd:restriction base="Duration">
            <xsd:pattern value=".*[123456789].*"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Url_path">
        <xsd:restriction base="String">
            <xsd:pattern value="/.*"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="String">
        <xsd:annotation>
            <xsd:documentation>
                Only characters out of ISO-8859-1 can be used.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[\r\n\t&#x20;-&#x7e;&#xa0;-&#xff;]*"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Process_priority">
        <xsd:union memberTypes="Unix_process_priority Windows_process_priority_class"/>
    </xsd:simpleType>
    <xsd:simpleType name="Unix_process_priority">
        <xsd:restriction base="xsd:integer">
            <xsd:minInclusive value="-20"/>
            <xsd:maxInclusive value="+20"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Windows_process_priority_class">
        <xsd:union>
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:enumeration value="idle"/>
                    <xsd:enumeration value="below_normal"/>
                    <xsd:enumeration value="normal"/>
                    <xsd:enumeration value="above_normal"/>
                    <xsd:enumeration value="high"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="Unix_signal">
        <xsd:union memberTypes="Unix_signal_name xsd:positiveInteger"/>
    </xsd:simpleType>
    <xsd:simpleType name="Unix_signal_name">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:enumeration value="SIGHUP"/>
            <xsd:enumeration value="SIGINT"/>
            <xsd:enumeration value="SIGQUIT"/>
            <xsd:enumeration value="SIGILL"/>
            <xsd:enumeration value="SIGTRAP"/>
            <xsd:enumeration value="SIGABRT"/>
            <xsd:enumeration value="SIGIOT"/>
            <xsd:enumeration value="SIGBUS"/>
            <xsd:enumeration value="SIGFPE"/>
            <xsd:enumeration value="SIGKILL"/>
            <xsd:enumeration value="SIGUSR1"/>
            <xsd:enumeration value="SIGSEGV"/>
            <xsd:enumeration value="SIGUSR2"/>
            <xsd:enumeration value="SIGPIPE"/>
            <xsd:enumeration value="SIGALRM"/>
            <xsd:enumeration value="SIGTERM"/>
            <xsd:enumeration value="SIGSTKFLT"/>
            <xsd:enumeration value="SIGCHLD"/>
            <xsd:enumeration value="SIGCONT"/>
            <xsd:enumeration value="SIGSTOP"/>
            <xsd:enumeration value="SIGTSTP"/>
            <xsd:enumeration value="SIGTTIN"/>
            <xsd:enumeration value="SIGTTOU"/>
            <xsd:enumeration value="SIGURG"/>
            <xsd:enumeration value="SIGXCPU"/>
            <xsd:enumeration value="SIGXFSZ"/>
            <xsd:enumeration value="SIGVTALRM"/>
            <xsd:enumeration value="SIGPROF"/>
            <xsd:enumeration value="SIGWINCH"/>
            <xsd:enumeration value="SIGPOLL"/>
            <xsd:enumeration value="SIGIO"/>
            <xsd:enumeration value="SIGPWR"/>
            <xsd:enumeration value="SIGSYS"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="When_holiday">
        <xsd:restriction base="String">
            <xsd:enumeration value="suppress"/>
            <xsd:enumeration value="ignore_holiday"/>
            <xsd:enumeration value="previous_non_holiday"/>
            <xsd:enumeration value="next_non_holiday"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="extensions">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:any namespace="www.sos-berlin.com/schema/joe" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>
