<?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="placeables">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <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="placeable" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="animatedObjects" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="animatedObject" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="direction" type="g_int" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Animated object direction</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="time" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Animated object time</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="beehivePalletSpawner" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="beehivePalletSpawner" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:attribute name="pendingLiters" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Pending liters to be spawned</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="bunkerSilo" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="compactedFillLevel" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Compacted fill level</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="fermentingTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Fermenting time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="fillLevel" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Current fill level</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="openedAtBack" type="g_bool" default="false">
                                        <xs:annotation><xs:documentation xml:lang="en">Is opened at back</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="openedAtFront" type="g_bool" default="false">
                                        <xs:annotation><xs:documentation xml:lang="en">Is opened at front</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="state" type="g_int" default="0">
                                        <xs:annotation><xs:documentation xml:lang="en">Current silo state (FILL = 0, CLOSED = 1, FERMENTED = 2, DRAIN = 3)</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="colorable" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="color" type="g_int" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">Active color index</xs:documentation></xs:annotation>
                                        </xs:element>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="customImage" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="filename" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Path to a custom image file</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="doghouse" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="name" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Name of dog</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="fence" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="segments" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="segment" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:all>
                                                                <xs:element name="animatedObject" minOccurs="0" maxOccurs="1">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="direction" type="g_int" default="0">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Animated object direction</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="time" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Animated object time</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:all>
                                                            <xs:attribute name="end" type="g_vector_2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Segment end position</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="first" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Segment has first pole visible</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="gateIndex" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Gate index</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="last" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Segment has last pole visible</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="start" type="g_vector_2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Segment start position</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="husbandry" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="module" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="name" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Name of module</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="storage" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="node" 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:attribute name="fillType" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Fill type name</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="farmId" type="g_int" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Owner farm land id</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="globalProductionFactor" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Global production factor</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="husbandryFeedingRobot" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="unloadingSpot" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="fillLevel" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Unloading spot filllevel</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="index" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Unloading spot index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="husbandryFood" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="fillLevel" 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:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="husbandryPallets" minOccurs="0" maxOccurs="1">
                                <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="pendingLiters" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Pending liters</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="manureHeap" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="manureToDrop" type="g_int" default="0">
                                        <xs:annotation><xs:documentation xml:lang="en">Manure that should be drop the visible heap</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="manureToPick" type="g_int" default="0">
                                        <xs:annotation><xs:documentation xml:lang="en">Manure that need to be picked from visible heap</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="objectStorage" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="object" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <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 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="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:choice>
                                                <xs:attribute name="className" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Object class name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <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="isBigBag" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">Is a big bag object</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:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="productionPoint" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="autoDeliverFillType" type="g_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">fillType currently configured to be automatically delivered</xs:documentation></xs:annotation>
                                        </xs:element>
                                        <xs:element name="directSellFillType" type="g_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">fillType currently configured to be directly sold</xs:documentation></xs:annotation>
                                        </xs:element>
                                        <xs:element name="production" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="id" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Unique id of the production</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="isEnabled" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">State of the production</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="storage" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="node" 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:attribute name="fillType" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Fill type name</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="farmId" type="g_int" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Owner farm land id</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="palletSpawnCooldown" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">remaining cooldown duration of pallet spawner</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="productionCostsToClaim" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">production costs yet to be claimed from the owning player</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="sellingStation" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="stats" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="curve1" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="amplitude" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Amplitude</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="amplitudeDistribution" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Amplitude fistribution</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalAmplitude" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Normal amplitude</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalAmplitudeVariation" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Normal amplitude variation</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalPeriod" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Nominal period</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalPeriodVariation" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Nominal period variation</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="period" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Period</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="periodDistribution" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Period distribution</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="time" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Time</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="curveBaseCurve" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="amplitude" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Amplitude</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="amplitudeDistribution" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Amplitude fistribution</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalAmplitude" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Normal amplitude</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalAmplitudeVariation" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Normal amplitude variation</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalPeriod" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Nominal period</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="nominalPeriodVariation" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Nominal period variation</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="period" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Period</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="periodDistribution" type="g_int">
                                                                <xs:annotation><xs:documentation xml:lang="en">Period distribution</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="time" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Time</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:all>
                                                <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="isInPlateau" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">Is in plateau</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="meanValue" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Mean value</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="nextPlateauNumber" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Next plateau number</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="paid" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Payed fill level</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="plateauDuration" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Plateau duration</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="plateauTime" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Plateau time</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="priceVersion" type="g_int" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Price version (If version is outdated values are reseted)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="received" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Recieved fill level</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="silo" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="storage" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="node" 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:attribute name="fillType" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Fill type name</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="farmId" type="g_int" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Owner farm land id</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="index" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Storage index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="siloExtension" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="node" 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:attribute name="fillType" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fill type name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="farmId" type="g_int" default="0">
                                        <xs:annotation><xs:documentation xml:lang="en">Owner farm land id</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="solarPanels" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="headRotationRandom" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Head random rotation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="trainSystem" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="railroadObjects" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="index" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Object index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="railroadVehicle" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="vehicleId" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Vehicle id</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="currentPrice" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Current pending rent price</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="isRented" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Is train rented</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="rentFarmId" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Train is rented by farm</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="splineTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Current spline time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="vine" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="startGrowthState" type="g_int">
                                        <xs:annotation><xs:documentation xml:lang="en">Vineyard start growth state</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="windTurbine" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="headRotation" type="g_angle">
                                        <xs:annotation><xs:documentation xml:lang="en">Current head rotation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:all>
                        <xs:attribute name="age" type="g_float" default="0">
                            <xs:annotation><xs:documentation xml:lang="en">Age of placeable in months.</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="boughtWithFarmlandOverwrite" type="g_bool" default="false">
                            <xs:annotation><xs:documentation xml:lang="en">Placeable is bought with farmland overwritten by savegame</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="defaultFarmProperty" type="g_bool" default="false">
                            <xs:annotation><xs:documentation xml:lang="en">Is property of default farm. Causes object to be removed on non-starter games.</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="farmId" type="g_int" default="0">
                            <xs:annotation><xs:documentation xml:lang="en">Owner farmland</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="filename" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Path to xml filename</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="id" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Save id</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="mapBoundId" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Map bound identifier (defines that a placeable is placed on a map directly, and with a unique ID)</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="modName" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Name of mod</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="name" type="g_string">
                            <xs:annotation><xs:documentation xml:lang="en">Custom name set by player to be used instead of store item name</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="price" type="g_float">
                            <xs:annotation><xs:documentation xml:lang="en">Price of placeable</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="sinceVersion" type="g_int">
                            <xs:annotation><xs:documentation xml:lang="en">Version of xml file when this placeable was added. Will cause placeable to appear on older, existing saves</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. Causes any placeable with any farmId to be loaded.</xs:documentation></xs:annotation>
            </xs:attribute>
            <xs:attribute name="version" type="g_int">
                <xs:annotation><xs:documentation xml:lang="en">Version of map placeables file</xs:documentation></xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
</xs:schema>
