<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="g_hyphen">
        <xs:restriction base="xs:string">
            <xs:pattern value="-"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_float_or_hyphen">
        <xs:union memberTypes="xs:float g_hyphen"/>
    </xs:simpleType>

    <xs:simpleType name="g_vector_float">
        <xs:list itemType="g_float_or_hyphen"/>
    </xs:simpleType>

    <xs:simpleType name="g_string">
        <xs:annotation><xs:appinfo><typeStr>String</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_l10n_string">
        <xs:annotation><xs:appinfo><typeStr>String or l10n key</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_float">
        <xs:annotation><xs:appinfo><typeStr>Float</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:float"/>
    </xs:simpleType>

    <xs:simpleType name="g_angle">
        <xs:annotation><xs:appinfo><typeStr>Angle</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:float"/>
    </xs:simpleType>

    <xs:simpleType name="g_time">
        <xs:annotation><xs:appinfo><typeStr>Time in seconds</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:float"/>
    </xs:simpleType>

    <xs:simpleType name="g_int">
        <xs:annotation><xs:appinfo><typeStr>Integer</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:integer"/>
    </xs:simpleType>

    <xs:simpleType name="g_bool">
        <xs:annotation><xs:appinfo><typeStr>Boolean</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="true|false"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_node_index">
        <xs:annotation><xs:appinfo><typeStr>Index to i3d node or i3d mapping identifier</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_node_indices">
        <xs:annotation><xs:appinfo><typeStr>List of indices to i3d nodes or i3d mapping identifiers</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_vector_2">
        <xs:annotation><xs:appinfo><typeStr>Multiple values (x, y)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_3">
        <xs:annotation><xs:appinfo><typeStr>Multiple values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_4">
        <xs:annotation><xs:appinfo><typeStr>Multiple values (x, y, z, w)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_n">
        <xs:annotation><xs:appinfo><typeStr>Multiple values</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float"/>
    </xs:simpleType>

    <xs:simpleType name="g_vector_trans">
        <xs:annotation><xs:appinfo><typeStr>Translation values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_rot">
        <xs:annotation><xs:appinfo><typeStr>Rotation values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_rot_2">
        <xs:annotation><xs:appinfo><typeStr>Rotation values (x, y)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_scale">
        <xs:annotation><xs:appinfo><typeStr>Scale values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_color">
        <xs:annotation><xs:appinfo><typeStr>Color values (r, g, b) or brand color id</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:element name="vehicles">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="attachments" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                            <xs:element name="attachment" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="attachmentId" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Attachment vehicle id</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="inputJointDescIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Index of input attacher joint</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="jointIndex" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Index of attacher joint</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="moveDown" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Attachment lowered or lifted</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                        <xs:attribute name="rootVehicleId" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Id of root vehicle</xs:documentation></xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
                <xs:element name="parentFile" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="attributes" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="clearList" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="keepIndex" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Index of list to keep</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="path" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">List to clear but keep one item</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="remove" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="path" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Path to remove from parent xml</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="set" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="path" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Path change in parent xml</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="value" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Target value to set in parent file</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                        </xs:all>
                        <xs:attribute name="xmlFilename" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Remove vehicle if unit empty</xs:documentation></xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
                <xs:element name="vehicle" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                            <xs:element name="actionController" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="action" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="identifier" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Action identifier</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lastDirection" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Last action direction</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="name" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Action name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="lastDirection" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Last action controller direction</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="numActions" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Action controller actions</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="aiConveyorBelt" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="currentAngle" type="g_float" default="45">
                                        <xs:annotation><xs:documentation xml:lang="en">Current angle</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="aiFieldWorker" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="lastTurnDirection" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Last AI turn direction</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="attachable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="lowerAnimTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Lower animation time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="attacherJoints" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="comboDirection" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current combo direction</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="baleLoader" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="bale" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="fermentation" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="isFermenting" type="g_bool">
                                                                <xs:annotation><xs:documentation xml:lang="en">Bale is fermenting</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="time" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Current fermentation time</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="textures" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="wrapDiffuse" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Current wrap diffuse file</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="wrapNormal" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Current wrap normal file</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:all>
                                                <xs:attribute name="balePlace" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale place index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="farmId" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Farm index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="filename" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Filename</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillLevel" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Filllevel</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillType" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current bale fill type</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="helper" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Helper index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="isMissionBale" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale was produced in mission context</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="position" type="g_vector_trans">
                                                    <xs:annotation><xs:documentation xml:lang="en">Position</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="rotation" type="g_vector_rot">
                                                    <xs:annotation><xs:documentation xml:lang="en">Rotation</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="valueScale" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale value scale</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="wrappingColor" type="g_vector_4">
                                                    <xs:annotation><xs:documentation xml:lang="en">Wrapping color</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="wrappingState" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current wrapping state</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="baleTypeIndex" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Last bale type index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="isInWorkPosition" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Is in working Position</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="lastFoldingAnimation" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Last folding animation name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="baler" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="bale" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="baleTime" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale time</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="filename" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">XML Filename of bale</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillLevel" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale fill level</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillType" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale fill type index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="baleTypeIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Current bale type index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="bufferUnloadingStarted" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Baler buffer unloading in progress</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="fillUnitCapacity" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Current baler capacity depending on bale size</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="numBales" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Number of bales</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="platformReadyToDrop" type="g_bool" default="false">
                                        <xs:annotation><xs:documentation xml:lang="en">Platform is ready to drop</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="preSelectedBaleTypeIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Pre selected bale type index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="baleWrapper" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="bale" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="fermentation" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="isFermenting" type="g_bool">
                                                                <xs:annotation><xs:documentation xml:lang="en">Bale is fermenting</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="time" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Current fermentation time</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="textures" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="wrapDiffuse" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Current wrap diffuse file</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="wrapNormal" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Current wrap normal file</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:all>
                                                <xs:attribute name="farmId" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Id of owner farm</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="filename" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Path to bale xml file</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillLevel" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current bale fill level</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillType" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current bale fill type</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="isMissionBale" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale was produced in mission context</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="position" type="g_vector_trans">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale position</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="rotation" type="g_vector_rot">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale rotation</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="valueScale" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Bale value scale</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="wrappingColor" type="g_vector_4">
                                                    <xs:annotation><xs:documentation xml:lang="en">Wrapping color</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="wrappingState" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current wrapping state</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:all>
                                    <xs:attribute name="wrapperTime" type="g_float" default="0">
                                        <xs:annotation><xs:documentation xml:lang="en">Bale wrapping time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="boughtConfiguration" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="id" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Configuration save id</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="name" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Configuration name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="combine" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="isSwathActive" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Swath is active</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="numAttachedCutters" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Number of last attached cutters</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="workedHectars" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Worked hectars</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="component" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="index" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Component index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="position" type="g_vector_trans">
                                        <xs:annotation><xs:documentation xml:lang="en">Component position</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="rotation" type="g_vector_rot">
                                        <xs:annotation><xs:documentation xml:lang="en">Component rotation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="configuration" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="id" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Configuration save id</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="name" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Configuration name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="cover" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="state" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current cover state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="crabSteering" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="state" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Current steering mode</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="cylindered" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="movingTool" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="animationTime" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current animation time</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="rotation" type="g_angle">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current rotation in rad</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="translation" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Current translation value</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="drivable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="cruiseControl" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current cruise control speed</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="cruiseControlReverse" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current cruise control speed reverse</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="enterable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="camera" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="cameraYDebugActive" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">Camera Y Debug Mode Active</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="cameraYDebugHeight" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Camera Y Debug Mode orthographic height</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fovY" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Custom Field of View Y</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lodDebugActive" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">LOD Debug Mode Active</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lodDebugZoom" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">LOD Debug Mode Zoom Ref</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="rotation" type="g_vector_rot">
                                                    <xs:annotation><xs:documentation xml:lang="en">Camera rotation</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="translation" type="g_vector_trans">
                                                    <xs:annotation><xs:documentation xml:lang="en">Camera translation</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="zoom" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Camera zoom</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="activeCameraIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Index of active camera</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="isTabbable" type="g_bool" default="true">
                                        <xs:annotation><xs:documentation xml:lang="en">Is tabbable</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="fillUnit" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="unit" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="fillLevel" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fill level</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fillType" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fill type</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="index" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fill Unit index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="foldable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="foldAnimTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Fold animation time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="licensePlates" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="characters" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Characters string</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="colorIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Selected color index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="placementIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Selected placement index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="variation" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">License plate variation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="livestockTrailer" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="animalType" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Animal type name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="mixerWagon" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="fillType" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="fillLevel" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fill level</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="pipe" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="state" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current pipe state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="plow" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="rotationMax" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Rotation max.</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="turnAnimTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Turn animation time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="plowPacker" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="lastPackerState" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Last packer state while turning</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="packerState" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Packer state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="receivingHopper" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="createBoxes" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Create boxes</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="reverseDriving" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="isActive" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Reverse driving is active</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="rideable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="animalType" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Animal type name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="ridgeMarker" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="state" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Ridge marker state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="sowingMachine" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="selectedSeedFruitType" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Selected fruit type name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="tensionBelts" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="belt" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="isActive" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Belt is active</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="trailer" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="doorState" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Current back door state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="tipAnimationTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Current tip animation time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="tipSideIndex" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current tip side index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="tipState" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Current tip state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="treePlanter" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="lastTreePos" type="g_vector_trans">
                                        <xs:annotation><xs:documentation xml:lang="en">Position of last tree</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="palletHadBeenMounted" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Pallet is mounted</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="variableWorkWidth" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="leftSide" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Left side section states</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="rightSide" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Right side section states</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="washable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="dirtNode" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="amount" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Dirt amount</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="snowScale" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Snow scale</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="wearable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="wearNode" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="amount" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Wear amount</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="damage" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Damage amount</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="wheels" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="lastWheelConfiguration" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Last selected wheel configuration</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="woodHarvester" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="currentCutLengthIndex" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Current cut length selection index</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="hasAttachedSplitShape" type="g_bool" default="false">
                                        <xs:annotation><xs:documentation xml:lang="en">Has split shape attached</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="isTurnedOn" type="g_bool" default="false">
                                        <xs:annotation><xs:documentation xml:lang="en">Harvester is turned on</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="lastCutAttachDirection" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Last tree attach direction</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="lastTreeJointPos" type="g_vector_3">
                                        <xs:annotation><xs:documentation xml:lang="en">Last tree joint position in local space of splitShape</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="lastTreeSize" type="g_vector_4">
                                        <xs:annotation><xs:documentation xml:lang="en">Last dimensions of tree to cutNode</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="workMode" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="state" type="g_int" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Current work mode</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                        <xs:attribute name="activeMissionId" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Active mission id</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="age" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Age in number of months</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="defaultFarmProperty" type="g_bool" default="false">
                            <xs:annotation><xs:documentation xml:lang="en">Property of default farm</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="farmId" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Farm id</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="filename" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">XML filename</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="id" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Vehicle id</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="isAbsolute" type="g_bool">
                            <xs:annotation><xs:documentation xml:lang="en">Position is Absolute</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="modName" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Vehicle mod name</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="operatingTime" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Operating time</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="price" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Price</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="propertyState" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Property state</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="selectedObjectIndex" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Selected object index</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="subSelectedObjectIndex" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Sub selected object index</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="tourId" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Tour id</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="xPosition" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">X Position</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="yOffset" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Y Offset</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="yRotation" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Y Rotation</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="zPosition" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Z Position</xs:documentation></xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
            <xs:attribute name="loadAnyFarmInSingleplayer" type="g_bool" default="false">
                <xs:annotation><xs:documentation xml:lang="en">Load any farm in singleplayer</xs:documentation></xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
</xs:schema>
