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

    <xs:element name="ui" type="nspice-ui-type"/>

    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    


    <xs:complexType name="nspice-ui-type">
        <xs:complexContent>
            <xs:extension base="versioned-object-base">
                <xs:all>
                    <xs:element minOccurs="0" name="commerce" type="commerce-type"/>
                    <xs:element minOccurs="0" name="interactions" type="interaction-type"/>
                    <xs:element minOccurs="0" name="triggers" type="trigger-list-type"/>
                    <xs:element minOccurs="0" name="messages" type="message-list-type"/>
                    <xs:element minOccurs="0" name="groups" type="group-list-type"/>
                    <xs:element minOccurs="0" name="summary" type="summary-list-type"/>
                    <xs:element minOccurs="0" name="design" type="design-type"/>
                    <xs:element minOccurs="0" name="workflow" type="workflow-list-type"/>
                </xs:all>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    
    

    
    

    

    <xs:complexType name="commerce-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Steuert das Aussehen der commerce-Funktionalität im Frontend.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Controls the appearance of commerce functionality in frontend.
            </xs:documentation>
        </xs:annotation>
        <xs:all>
            <xs:element minOccurs="0" name="conclude-button-text" type="name-type"/>
            <xs:element minOccurs="0" name="price" type="price-display-info-type"/>
            <xs:element minOccurs="0" name="weight" type="display-info-type"/>
            <xs:element minOccurs="0" name="delivery-date" type="display-info-type"/>
        </xs:all>
    </xs:complexType>

    
    
    

    <xs:complexType name="interaction-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Steuert die interaction-Funktionalität im Frontend.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Controls the interaction functionality in frontend.
            </xs:documentation>
        </xs:annotation>
        <xs:all>
            <xs:element minOccurs="0" name="conclude-action" type="button-action-type">
                <xs:annotation>
                    <xs:documentation xml:lang="DE">
                        Button, um Vorgänge abzuschließen.
                    </xs:documentation>
                    <xs:documentation xml:lang="EN">
                        Button to conclude processes.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="blocking-actions" type="blocking-action-list-type"/>
            <xs:element minOccurs="0" name="overview-action" type="button-action-type">
                <xs:annotation>
                    <xs:documentation xml:lang="DE">
                        Button, um die Zusammenfassung anzuzeigen.
                    </xs:documentation>
                    <xs:documentation xml:lang="EN">
                        Button to show the Summary/Overview.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="show-changes-action" type="button-action-type">
                <xs:annotation>
                    <xs:documentation xml:lang="DE">
                        Button, um die Änderungen verglichen zur ConfigID anzuzeigen.
                    </xs:documentation>
                    <xs:documentation xml:lang="EN">
                        Button to show changes compared to the config ID.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="collision-detection-action" type="button-action-type">
                <xs:annotation>
                    <xs:documentation xml:lang="DE">
                        Button, um Kollisionen in der Konfiguration zu berechnen.
                    </xs:documentation>
                    <xs:documentation xml:lang="EN">
                        Button to calculate collision within the configuration.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="routing-calculation-action" type="button-action-type">
                <xs:annotation>
                    <xs:documentation xml:lang="DE">
                        Button, um die Berechnung der Verrohrungen in der Konfiguration zu starten.
                    </xs:documentation>
                    <xs:documentation xml:lang="EN">
                        Button to start the routing calculation process of the configuration.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="vgu-calculation-action" type="button-action-type">
                <xs:annotation>
                    <xs:documentation xml:lang="DE">
                        Button, um die Zusammenfassung anzuzeigen.
                    </xs:documentation>
                    <xs:documentation xml:lang="EN">
                        Button to show Summary/Overview.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:all>
    </xs:complexType>

    

    <xs:complexType name="versioned-object-base">
        <xs:attribute name="id" type="id-type" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    ID des Objekts (Pflichteingabe)
                    IDs dürfen nur aus alphanumerischen Zeichen (a-zA-z0-9), Bindestrichen und Unterstrichen bestehen.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    ID of the object (mandatory)
                    IDs may only consist of alphanumeric characters (a-zA-z0-9), hyphens and underlines.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="version" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Versionsnummer des Objekts.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Version number of the objects.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    

    <xs:complexType name="trigger-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Block zur Definition von Triggermerkmalen. Diese werden genutzt, um bestimmte Verhalten in der Anzeige
                zu aktivieren / deaktivieren.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Block for defining trigger values. These can be used to trigger a predefined set of actions in the UI.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence maxOccurs="unbounded">
            <xs:element name="trigger-variable" type="trigger-type"/>
        </xs:sequence>
    </xs:complexType>



    

    <xs:complexType name="message-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Block zur Definition von Benachrichtigungen. Diese werden genutzt, um die Werte bestimmter Characteristics als Benachrichtigungen darzustellen
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Block for defining notifications. These are used to display the values of certain attributes as notifications
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="message" type="message-type"/>
        </xs:sequence>
    </xs:complexType>

    
    
    

    <xs:complexType name="group-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Block zur Beschreibung von gruppierten Variablen. Diese werden im UI dann als eine Gruppe angezeigt.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Block for describing grouped variables. These are then displayed in the UI as one group.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="group" type="group-type"/>
                <xs:element name="subitem" type="subitem-type"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    

    <xs:complexType name="summary-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Block zur Beschreibung von gruppierten Variablen. Diese werden im UI dann in der Zusammenfassung in
                einer Gruppe angezeigt.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Block for describing grouped variables. These are then displayed in the UI as one group in the summary
                view.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="group" type="summary-group-type"/>
        </xs:sequence>
        <xs:attribute default="false" name="include-user-values" type="xs:boolean"/>
    </xs:complexType>
<xs:complexType name="design-type">
    <xs:attribute name="column-count" type="xs:decimal"/>
</xs:complexType>


    <xs:simpleType name="email-type">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,}"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="workflow-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Block zur Beschreibung von gruppierten Variablen. Diese werden im UI dann im Startdialog für
                die Workflow Berechnung angezeigt.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Block for describing grouped variables. These are then displayed in the UI as one group in the start dialog
                for the workflow calculation.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element minOccurs="0" name="info-text" type="name-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="group" type="summary-group-type"/>
            <xs:element default="noreply@example.com" minOccurs="0" name="email" type="email-type"/>
        </xs:sequence>
        <xs:attribute name="workflowId" type="xs:string" use="required"/>
    </xs:complexType>
<xs:complexType name="name-type">
        <xs:annotation>
            <xs:documentation xml:lang="DE">
                Der Name des Objektes und der jeweilige Key für die Übersetzung (Key-Value).
            </xs:documentation>
            <xs:documentation xml:lang="DE">
                The name of the object and the respective key for the translation (Key-Value).
            </xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:token">
                <xs:attribute name="key" type="xs:normalizedString" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
<xs:complexType name="display-info-type">
        <xs:attribute name="trigger" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Id des Triggers, welcher die Sichtbarkeit der Information steuert.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Id of the trigger, which controls the information visibility.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ref" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenz auf die ID der zugehörigen Characteristic.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to the ID of the associated characteristic.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

<xs:complexType name="price-display-info-type">
        <xs:attribute name="trigger" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Id des Triggers, welcher die Sichtbarkeit der Information steuert.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Id of the trigger, which controls the information visibility.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>


    

    <xs:complexType name="blocking-action-list-type">
        <xs:sequence maxOccurs="unbounded">
            <xs:element name="action" type="blocking-action-type"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="blocking-action-type">
        <xs:complexContent>
            <xs:extension base="button-action-type">
                <xs:attribute name="id" type="xs:string" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Id des Blocking-Triggers der Fire-Engine.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Id of blocking-trigger from a fire engine.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="trigger-id" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Id des Triggers für die Anzeige des Buttons.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Id of the trigger to show the Button
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute default="true" name="show-3d" type="xs:boolean">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Zeige 3d-Viewer in blocking dialog. Default ist true.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Show 3d-Viewer in blocking dialog. Default is true.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="action-done-trigger" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Id des Triggers um zu checken, ob eine bestimmte Blocking Action ausgeführt wurde.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Id of the trigger for checking whether a certain blocking action was performed or not.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>


    <xs:complexType name="button-action-type">
        <xs:all>
            <xs:element name="title" type="name-type"/>
            <xs:element name="notification" type="name-type"/>
        </xs:all>
        <xs:attribute name="active-trigger" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    ID des Triggers, der den Button aktiv oder deaktiviert schaltet.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    ID of the trigger to activate or deactivate the button.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
<xs:simpleType name="id-type">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}"/>
        </xs:restriction>
    </xs:simpleType>
<xs:complexType name="trigger-type">
        <xs:attribute name="id" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Id zur Referenzierung des Triggers.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Id to reference the trigger.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ref" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Name der Variable, welche den Trigger auslöst.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Variable name, which activates the trigger.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="value" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Wert der Variable, bei dem der Trigger ausgelöst wird.
                    Kann eine Komma separierte Liste sein. ("value1, value2")
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Value to activate the trigger. Can be a comma seperated list. ("value1, value2")
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="target" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Zusätzlicher Seiteneffekt, welchen der Trigger auslösen soll.
                    Z.B. "3D" aktiviert die anzeige der 3d-Visualisierung.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Additional side effect, which is activated.
                    E.g. "3D" activates the 3d-visualisation.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    

    <xs:complexType name="message-type">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute default="INFO" name="type" type="message-presentation-type">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Art wie die Benachrichtigung dargestellt werden soll.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Type how the notification should be displayed.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    
    
    
    
    
    

    <xs:complexType name="group-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                In einer Gruppe können Variablen angegeben werden, die als eine Gruppe im UI angezeigt werden sollen.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                In a group, variables can be specified to be displayed as a group in the UI.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="name" type="name-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="tooltip" type="tooltip-type"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="group" type="group-type"/>
                <xs:element name="subitem" type="subitem-type"/>
            </xs:choice>
            <xs:element minOccurs="0" name="controls" type="control-list-type"/>
        </xs:sequence>
        <xs:attribute name="id" type="id-type" use="required"/>
        <xs:attribute default="true" name="show-in-menu" type="xs:boolean"/>
    </xs:complexType>

    
    
    

    <xs:complexType name="subitem-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Repräsentiert ein Subitem der Konfiguration.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Represent a subitem of a configuration.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="name" type="name-type"/>
        </xs:sequence>
        <xs:attribute name="id" type="id-type" use="required"/>
        <xs:attribute name="item-id" type="xs:string" use="required"/>
        <xs:attribute default="false" name="show-as-group" type="xs:boolean"/>
        <xs:attribute default="true" name="show-in-menu" type="xs:boolean"/>
        <xs:attribute default="false" name="squash-toplevel-groups" type="xs:boolean"/>
        <xs:attribute default="false" name="hide" type="xs:boolean"/>
    </xs:complexType>

    
    

    <xs:complexType name="summary-group-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                In einer Gruppe können Variablen angegeben werden, die in der Zusammenfassung angezeigt werden können.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                In a group, variables can be specified to be displayed in the summary view.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="name" type="name-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="variable" type="summary-variable-type"/>
        </xs:sequence>
    </xs:complexType>
<xs:simpleType name="message-presentation-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="INFO"/>
            <xs:enumeration value="WARNING"/>
            <xs:enumeration value="ERROR"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:complexType name="tooltip-type">
        <xs:annotation>
            <xs:documentation xml:lang="DE">
                Tooltip für eine Gruppe oder Variable.
            </xs:documentation>
            <xs:documentation xml:lang="DE">
                Tooltip for a group or a variable.
            </xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:token">
                <xs:attribute name="key" type="xs:normalizedString" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Key für zur Übersetzung des Tooltips
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Translation key for tooltip
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute default="false" name="expand" type="xs:boolean">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Tooltip zu Beginn ausklappen. (Default ist false.)
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Expand tooltip at first. (Default is false.)
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="trigger" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Id des Triggers, welcher die Anzeige des Tooltips steuert.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Id of the trigger, which controls the tooltips visibility.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    
    
    

    <xs:complexType name="control-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Referenzen auf die Variablen, welche im UI angezeigt werden sollen.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                References to the variables to be displayed in the UI.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="table-view" type="table-view-type"/>
                <xs:element name="variable" type="variable-type"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
<xs:complexType name="summary-variable-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Definiert die Variable, die in der Zusammenfassung angezeigt werden soll.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Defines the variable which should be shown in the summary view.
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="ref" type="xs:token" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenz auf die ID der Variable der zugehörigen Specification/Configuration
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to the ID of the variable of the associated specification/configuration
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="trigger" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Id des Triggers, welcher die Anzeige des Zusammenfassungsvariable steuert.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Id of the trigger, which controls the summary variable visibility.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    
    
    
    
    

    <xs:complexType name="table-view-type">
        <xs:sequence>
            <xs:element minOccurs="0" name="name" type="name-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="tooltip" type="tooltip-type"/>
            <xs:element minOccurs="0" name="columns" type="column-list-type"/>
        </xs:sequence>
        <xs:attribute name="ref" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenz auf die ID der Tabelle
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to the ID of the table
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="variable" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenz auf die ID der Variable der zugehörigen Specification
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to the ID of the variable of the associated specification
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="selection" type="table-view-selection-type"/>
        <xs:attribute default="false" name="editable" type="xs:boolean"/>
        <xs:attribute default="false" name="showId" type="xs:boolean"/>
        <xs:attribute name="visibility-trigger-ref" type="xs:string">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenziert einen Trigger, um die Sichtbarkeit der Tabelle zu steuern.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to a Trigger to control the visibility of the table.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute default="0" name="rows" type="xs:unsignedShort">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Gibt die Anzahl der angezeigten Zeilen an
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Specifies the number of lines displayed
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    
    
    
    
    
    
    
    

    <xs:complexType name="variable-type">
        <xs:sequence>
            <xs:element minOccurs="0" name="name" type="name-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="tooltip" type="tooltip-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="image" type="image-type"/>
            <xs:element minOccurs="0" name="values" type="variable-value-list-type"/>
            <xs:element minOccurs="0" name="button-text" type="name-type"/>
        </xs:sequence>

        <xs:attribute name="ref" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenz auf die ID der Variable der zugehörigen Specification
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to the ID of the variable of the associated specification
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appearance" type="variable-appearance-type" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Angabe der Anzeigeform im UI
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Specifying the control in the UI
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute default="original" name="sort" type="variable-sort-type">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Angabe der Sortierreihenfolge im UI
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Specifying the sort order in the UI
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxLength" type="xs:int">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Maximale Zeichenanzahl für Werte. Wird bei Auswahlfeldern nicht berücksichtigt.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Maximum character amount. Is not being evaluated within choice fields.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="step" type="xs:double">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Die Werte, bei denen der Schieber einrastet.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    The values at which the thumb will snap.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute default="horizontal" name="orientation" type="variable-orientation">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Für Radiobuttons und Checkboxes: Ausrichtung der Controls.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    For radiobuttons and checkboxes only: orientation of the controls.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute default="false" name="indented" type="xs:boolean">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Gibt an, ob die Variable im UI eingerückt dargestellt werden soll.
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Indicates whether the variable should be displayed indented in the UI.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
<xs:simpleType name="table-view-selection-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Gibt die Selektionsmethode für die Tabelle an
            </xs:documentation>
            <xs:documentation xml:lang="en">
                Specifies the selection method of the table
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="NONE"/>
            <xs:enumeration value="SINGLE"/>
            <xs:enumeration value="MULTIPLE"/>
        </xs:restriction>
    </xs:simpleType>

    

    <xs:complexType name="column-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Referenzen auf die Spalten, welche im UI angezeigt werden sollen.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                References to the columns to be displayed in the UI.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="column" type="column-type"/>
        </xs:sequence>
    </xs:complexType>

    

    <xs:complexType name="variable-value-list-type">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                Liste der Values einer Variable.
            </xs:documentation>
            <xs:documentation xml:lang="en">
                List of variable values.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="value" type="variable-value-type"/>
        </xs:sequence>
    </xs:complexType>
<xs:simpleType name="variable-appearance-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="radiobutton"/>
            <xs:enumeration value="checkbox"/>
            <xs:enumeration value="dropdown"/>
            <xs:enumeration value="numberfield"/>
            <xs:enumeration value="textfield"/>
            <xs:enumeration value="textarea"/>
            <xs:enumeration value="slider"/>
            <xs:enumeration value="label"/>
            <xs:enumeration value="button"/>
        </xs:restriction>
    </xs:simpleType>
<xs:simpleType name="variable-sort-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="original"/>
            <xs:enumeration value="asc-id"/>
            <xs:enumeration value="asc-name"/>
            <xs:enumeration value="desc-id"/>
            <xs:enumeration value="desc-name"/>
        </xs:restriction>
    </xs:simpleType>
<xs:simpleType name="variable-orientation">
        <xs:restriction base="xs:string">
            <xs:enumeration value="horizontal"/>
            <xs:enumeration value="vertical"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:complexType name="column-type">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="tooltip" type="tooltip-type"/>
        </xs:sequence>

        <xs:attribute name="ref" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Referenz auf die ID der Spalte
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Reference to the ID of the column
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    
    

    <xs:complexType name="variable-value-type">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="tooltip" type="tooltip-type"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="image" type="image-type"/>
        </xs:sequence>

        <xs:attribute name="ref" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Name des Values
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Value name
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>

        <xs:attribute default="true" name="show-label" type="xs:boolean">
            <xs:annotation>
                <xs:documentation xml:lang="de">
                    Steuert ob das Label des Wertes angezeigt werden soll
                </xs:documentation>
                <xs:documentation xml:lang="en">
                    Controls whether the label of the value should be displayed
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
<xs:complexType name="image-type">
        <xs:annotation>
            <xs:documentation xml:lang="DE">
                Bilder für eine Variable oder Variablenwert.
            </xs:documentation>
            <xs:documentation xml:lang="DE">
                Image for a variable or a variable value.
            </xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:token">
                <xs:attribute name="src" type="xs:normalizedString" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Quelle für zur Übersetzung des Bildes
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Translation src for Images
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="alt" type="xs:normalizedString" use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Key für zur Übersetzung des Bild Alt Werts
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Translation key for image alt values
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="trigger" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="de">
                            Id des Triggers, welcher die Anzeige des Bildes steuert.
                        </xs:documentation>
                        <xs:documentation xml:lang="en">
                            Id of the trigger, which controls the image visibility.
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:schema>