<?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:complexType name="SoundManager_sound">
        <xs:choice maxOccurs="unbounded">
            <xs:element name="loopSynthesisLoad" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="modifiedValue" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="type" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="value" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                </xs:complexType>
            </xs:element>
            <xs:element name="loopSynthesisRpm" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="modifiedValue" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="type" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="value" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                </xs:complexType>
            </xs:element>
            <xs:element name="lowpassCutoffFrequency" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="indoor" type="g_float" default="5000">
                        <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="outdoor" type="g_float" default="5000">
                        <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="lowpassGain" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="modifiedValue" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="type" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="value" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                    <xs:attribute name="indoor" type="g_float" default="0.8">
                        <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass gain</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="outdoor" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass gain</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="lowpassResonance" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="indoor" type="g_float" default="2">
                        <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass resonance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="outdoor" type="g_float" default="2">
                        <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass resonance</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="pitch" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="modifiedValue" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="type" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="value" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                    <xs:attribute name="indoor" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">Indoor pitch</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="outdoor" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">Outdoor pitch</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="randomization" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="isInside" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">Randomization is applied inside</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="isOutside" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">Randomization is applied outside</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxLowpassGain" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxPitch" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxVolume" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Max volume</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minLowpassGain" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minPitch" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minVolume" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Min volume</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="sourceRandomization" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="file" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="volume" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="modifiedValue" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="type" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="value" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                    <xs:attribute name="indoor" type="g_float" default="0.8">
                        <xs:annotation><xs:documentation xml:lang="en">Indoor volume</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="outdoor" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">Outdoor volume</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:choice>
        <xs:attribute name="debug" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">Flag to enable debug rendering</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeIn" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">Fade in time in seconds</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeOut" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">Fade out time in seconds</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="file" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="innerRadius" type="g_float" default="80">
            <xs:annotation><xs:documentation xml:lang="en">Inner radius</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="isLocalSound" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">While set for vehicle sounds it will only play for the player currently using the vehicle</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="linkNode" type="g_node_index">
            <xs:annotation><xs:documentation xml:lang="en">Link node for 3d sound</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="linkNodeOffset" type="g_vector_trans">
            <xs:annotation><xs:documentation xml:lang="en">Sound source will be offset by this value to the link node</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="loops" type="g_int" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Number of loops (0 = infinite)</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="loopSynthesisRPMRatio" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Ratio between rpm in the gls file and actual rpm of the motor (e.g. 0.9: max. rpm in the gls file will be reached at 90% of motor rpm)</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="lowpassGainScale" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Additional lowpass gain that is applied on the volume attributes</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="outerRadius" type="g_float" default="5">
            <xs:annotation><xs:documentation xml:lang="en">Outer radius</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="parent" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Parent sample for heredity</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="pitchScale" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Additional pitch that is applied on the volume attributes</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="supportsReverb" type="g_bool" default="true">
            <xs:annotation><xs:documentation xml:lang="en">Flag to disable reverb</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="template" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Sound template name</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="volumeScale" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Additional scale that is applied on the volume attributes</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="AnimationNode">
        <xs:all>
            <xs:element name="spikes" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="spike" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="direction" type="g_int">
                                    <xs:annotation><xs:documentation xml:lang="en">Spike rot. direction</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="node" type="g_node_index">
                                    <xs:annotation><xs:documentation xml:lang="en">Spike node</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                    <xs:attribute name="maxRot" type="g_angle">
                        <xs:annotation><xs:documentation xml:lang="en">Max. spike rotation</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="moveDownRange" type="g_vector_rot_2">
                        <xs:annotation><xs:documentation xml:lang="en">Move down range</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="moveUpRange" type="g_vector_rot_2">
                        <xs:annotation><xs:documentation xml:lang="en">Move up range</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="rotAxis" type="g_int" default="3">
                        <xs:annotation><xs:documentation xml:lang="en">Rotation axis</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:all>
        <xs:attribute name="class" type="g_string" default="RotationAnimation">
            <xs:annotation><xs:documentation xml:lang="en">Animation class (RotationAnimation | RotationAnimationSpikes | ScrollingAnimation | ShakeAnimation)</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="minAlphaForTurnOff" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">Min. alpha for turn off (speed [0-1])</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="node" type="g_node_index">
            <xs:annotation><xs:documentation xml:lang="en">Node</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="rotAxis" type="g_float" default="2">
            <xs:annotation><xs:documentation xml:lang="en">Rotation axis</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="rotSpeed" type="g_angle" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Rotation speed</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="scrollLength" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ScrollingAnimation) Scroll length</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="scrollSpeed" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ScrollingAnimation) Scroll speed</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shaderComponentScale" type="g_vector_4" default="1 0 0 0">
            <xs:annotation><xs:documentation xml:lang="en">Shader parameter name</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shaderParameterComponent" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ScrollingAnimation) Shader parameter component</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shaderParameterName" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Shader parameter name</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shaderParameterPrevName" type="g_string" default="automatically calculated from #shaderParameterName">
            <xs:annotation><xs:documentation xml:lang="en">Prev Shader parameter name</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shaking" type="g_vector_4" default="0 0 0 0">
            <xs:annotation><xs:documentation xml:lang="en">(ShakeAnimation) Shaking scale for shader parameters</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="speedFunc" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Lua speed function</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="speedFuncParam" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Additional string parameter that is passed to the speedFunc</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnedOffPosition" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ScrollingAnimation) Target position while turned off</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnedOffRotation" type="g_angle">
            <xs:annotation><xs:documentation xml:lang="en">(RotationAnimation) Target rotation while turned off</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnedOffSubDivisions" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">Amount of sub divisions which have the same state</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnOffFadeTime" type="g_float" default="2">
            <xs:annotation><xs:documentation xml:lang="en">Turn off fade time</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnOnFadeTime" type="g_float" default="2">
            <xs:annotation><xs:documentation xml:lang="en">Turn on fade time</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnOnOffVariance" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">Turn off time variance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(ScrollingAnimation) Fill type name</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="EffectNode">
        <xs:choice maxOccurs="unbounded">
            <xs:element name="effectNode" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="motionPathEffect" minOccurs="0" maxOccurs="1">
                            <xs:complexType>
                                <xs:attribute name="delay" type="g_float" default="0">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Start and stop delay</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="density" type="g_float" default="1">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Density Scale</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="densityMaskFilename" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Custom Density Mask Texture</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="densityScale" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Density Scale</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="endFade" type="g_float" default="0.8">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) End of fading depending on test area result</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="fadeOutScale" type="g_float" default="1">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Fade out speed multiplicator</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="fadeVisibilityMax" type="g_float" default="0">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Default fade visibility max. value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="fadeVisibilityMin" type="g_float" default="1">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Default fade visibility min. value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="inversedFadeOut" type="g_bool" default="false">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Using inversed fade in as fade out</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="isCultivatorSweepEffect" type="g_bool" default="false">
                                    <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Is sweep effect</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="isLeft" type="g_bool" default="false">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) Defines if rake is mounted on left or right side</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="isPickup" type="g_bool" default="false">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) Defines if the effect is a pickup effect and width is adjusted by hiding rows instead of the fade value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="maxDensitySpeed" type="g_float" default="8">
                                    <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Speed at which the density is 1</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="maxReferenceVehicleSpeed" type="g_float" default="10">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) This speed represents speed &apos;1&apos; for effect</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="maxScaleSpeed" type="g_float" default="10">
                                    <xs:annotation><xs:documentation xml:lang="en">(PlowMotionPathEffect) Speed at which the effect reaches the max. scale</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="maxShapeScale" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Scale of single shapes at the end of the effect</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="maxVariationState" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Max. variation state</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="minDensity" type="g_float" default="0.5">
                                    <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Min. Density</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="minFade" type="g_float" default="0">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Defines start fade value</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="minScaleOffset" type="g_float" default="-0.07">
                                    <xs:annotation><xs:documentation xml:lang="en">(PlowMotionPathEffect) Y Offset when the scale is at it&apos;s minimum</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="numRows" type="g_int" default="0">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Number of rows</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="rowLength" type="g_int" default="0">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Number of plants for each row</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="shapeScale" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Scale of single shapes</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="speedReferenceAnimation" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) This animation will be used for the effect speed</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="speedReferenceAnimationOffset" type="g_float" default="0">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Time offset to apply</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="speedScale" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Speed scale that is applied to effect speed defined in effect.xml or i3d file</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="startDelay" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Start delay</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="startFade" type="g_float" default="0.2">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) Start of fading depending on test area result</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="stopDelay" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Stop delay</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="textureFilename" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Animation texture</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="textureRealWidth" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Real width of effect in meter with this texture</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="useVehicleSpeed" type="g_bool">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Use speed of vehicle as effect speed</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="verticalOffset" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Vertical offset of plants</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="visibilityX" type="g_vector_2" default="50 -50">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Visibility cut size X axis</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="visibilityY" type="g_vector_2" default="50 -50">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Visibility cut size Y axis</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="visibilityZ" type="g_vector_2" default="50 -50">
                                    <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Visibility cut size Z axis</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="particleSystem" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="delay" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Activation delay</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="emitCountScale" type="g_float" default="1">
                                    <xs:annotation><xs:documentation xml:lang="en">Emit count scale</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="emitterShape" type="g_node_index">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Emitter shape node</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="fadeInRange" type="g_vector_2">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Fade in range</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="fadeOutRange" type="g_vector_2">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Fade out range</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="lifespan" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Lifespan</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="materialIndex" type="g_int" default="1">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Particle type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="materialType" type="g_string" default="same as particleType">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Material type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="particleType" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Particle type</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="startTime" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Start time</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="stopTime" type="g_float">
                                    <xs:annotation><xs:documentation xml:lang="en">Stop time</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="useEmitterVisibility" type="g_bool" default="true">
                                    <xs:annotation><xs:documentation xml:lang="en">use emitter shape visibility</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="worldSpace" type="g_bool" default="true">
                                    <xs:annotation><xs:documentation xml:lang="en">Is world space</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="testArea" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="heightNode" type="g_node_index">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Test area height node</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="startNode" type="g_node_index">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Test area start node</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="widthNode" type="g_node_index">
                                    <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Test area width node</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                    <xs:attribute name="alignToWorldY" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Align Y axis to world Y</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="alignXAxisToWorldY" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Align X axis to world Y</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="alwaysVisibile" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Always visibile</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="controlPoint" type="g_vector_4" default="10 0.25 0 0">
                        <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Control point position</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="defaultFillType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Default fill type name</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="delay" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="dropOffset" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Drop offset</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="dynamicFillType" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Dynamic fill type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="effectClass" type="g_string" default="ShaderPlaneEffect">
                        <xs:annotation><xs:documentation xml:lang="en">Effect class</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="effectNode" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">Effect node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="effectType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Effect type string</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="emitCountScale" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Emit count scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="extraDistance" type="g_float" default="0.5">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Extra distance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="extraDistanceNode" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Distance between effect and this node will be added to distance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeInTime" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade in time</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeOutTime" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade out time</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeScale" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeTime" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade time for fade in and fade out</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeXMaxDistance" type="g_float" default="4.18">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade X max. distance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeXMinDistance" type="g_float" default="-1.58">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade X min. distance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="filename" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">Effect from external i3d</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="forcedFillType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Forced fill type that is always applied</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="forcedFruitType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Forced fruit type that is always applied</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="forcedGrowthState" type="g_int">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Forced growth state that is always applied</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ignoreDistanceLifeSpan" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Ignore distance based lifespan and apply fixed lifespan</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="lifespan" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Lifespan</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="linkNode" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">Link node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="materialType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Material type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="materialTypeId" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Material type id</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxBending" type="g_float" default="0.25">
                        <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Max bending</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxDensitySpeed" type="g_float" default="8">
                        <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Speed at which the density is 1</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxHeight" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(LevelerEffect) Max. height</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxOffset" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Width offset in max direction</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxVisHeight" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(GrainTankEffect) Max. height to bis visibile</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="meshType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Mesh Type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minDensity" type="g_float" default="0.5">
                        <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Min. Density</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minHeight" type="g_float" default="-0.5">
                        <xs:annotation><xs:documentation xml:lang="en">(LevelerEffect) Min. height</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minOffset" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Width offset in min direction</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minVisHeight" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(GrainTankEffect) Min. height to bis visibile</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="node" type="g_node_index">
                        <xs:annotation><xs:documentation xml:lang="en">Effect in i3d node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="offset" type="g_float" default="0.5">
                        <xs:annotation><xs:documentation xml:lang="en">(SlurrySideToSideEffect) Animation time offset</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="particleType" type="g_string" default="unloading">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Particle type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="position" type="g_vector_trans">
                        <xs:annotation><xs:documentation xml:lang="en">Translation</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="positionUpdateNodes" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) List of nodes to position at control point</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="prio" type="g_int" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">Prio</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="refAnimation" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(SlurrySideToSideEffect) Reference animation</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="requiredFillType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Effect will only be used for this fill type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="requiredFruitType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Effect will only be used for this fruit type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="requiredGrowthState" type="g_int">
                        <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Effect will only be used for this growth state</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="scale" type="g_vector_scale">
                        <xs:annotation><xs:documentation xml:lang="en">Scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="scrollLength" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(MorphPositionEffect) scroll length</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="scrollSpeed" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(MorphPositionEffect) scroll speed</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="shapeScaleSpread" type="g_vector_4" default="0.6 1 1 0">
                        <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Shape scale spread</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="shared" type="g_bool">
                        <xs:annotation><xs:documentation xml:lang="en">Load i3d file as shared file</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="showOnFirstUse" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Show on first use</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="speed" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">speed</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="spriteGainScale" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Scale factor that is applied on sprite gain scale loaded from particle system</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="spriteScale" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Scale factor that is applied on sprite scale loaded from particle system</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="startDelay" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Start delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="startTime" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Start time</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="stopDelay" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Stop delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="stopTime" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Stop time</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="turnOffRequiredEffect" type="g_int" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Index of turn off required effect</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="unloadDirection" type="g_int">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Unload direction</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="updateDistance" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Update effect distance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useCuttingWidth" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Use cutting width</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useDistance" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Use distance</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useFillTypeTextureArrays" type="g_bool">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Apply shared fill type texture array to effect</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useFruitColor" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Apply the fruit color to the smoke effect instead of the fill color</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useMaxValue" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Use max width of effect</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useSelfAsEffectNode" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">Use root node as effect node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="uvScaleSpeedFreqAmp" type="g_vector_4">
                        <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) UV Scale, speed, frequency, amplitude</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="uvSpeed" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) UV speed</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="width" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Width</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="widthScale" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Width scale (Percentage)</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="worldSpace" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) World space</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="motionPathEffect" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="delay" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Start and stop delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="density" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Density Scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="densityMaskFilename" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Custom Density Mask Texture</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="densityScale" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Density Scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="endFade" type="g_float" default="0.8">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) End of fading depending on test area result</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeOutScale" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Fade out speed multiplicator</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeVisibilityMax" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Default fade visibility max. value</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeVisibilityMin" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Default fade visibility min. value</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="inversedFadeOut" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Using inversed fade in as fade out</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="isCultivatorSweepEffect" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Is sweep effect</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="isLeft" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) Defines if rake is mounted on left or right side</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="isPickup" type="g_bool" default="false">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) Defines if the effect is a pickup effect and width is adjusted by hiding rows instead of the fade value</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxDensitySpeed" type="g_float" default="8">
                        <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Speed at which the density is 1</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxReferenceVehicleSpeed" type="g_float" default="10">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) This speed represents speed &apos;1&apos; for effect</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxScaleSpeed" type="g_float" default="10">
                        <xs:annotation><xs:documentation xml:lang="en">(PlowMotionPathEffect) Speed at which the effect reaches the max. scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxShapeScale" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Scale of single shapes at the end of the effect</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="maxVariationState" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Max. variation state</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minDensity" type="g_float" default="0.5">
                        <xs:annotation><xs:documentation xml:lang="en">(CultivatorMotionPathEffect) Min. Density</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minFade" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Defines start fade value</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minScaleOffset" type="g_float" default="-0.07">
                        <xs:annotation><xs:documentation xml:lang="en">(PlowMotionPathEffect) Y Offset when the scale is at it&apos;s minimum</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="numRows" type="g_int" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Number of rows</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="rowLength" type="g_int" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Number of plants for each row</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="shapeScale" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Scale of single shapes</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="speedReferenceAnimation" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) This animation will be used for the effect speed</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="speedReferenceAnimationOffset" type="g_float" default="0">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Time offset to apply</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="speedScale" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Speed scale that is applied to effect speed defined in effect.xml or i3d file</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="startDelay" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Start delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="startFade" type="g_float" default="0.2">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerMotionPathEffect) Start of fading depending on test area result</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="stopDelay" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Stop delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="textureFilename" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Animation texture</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="textureRealWidth" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Real width of effect in meter with this texture</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useVehicleSpeed" type="g_bool">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Use speed of vehicle as effect speed</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="verticalOffset" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Vertical offset of plants</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="visibilityX" type="g_vector_2" default="50 -50">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Visibility cut size X axis</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="visibilityY" type="g_vector_2" default="50 -50">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Visibility cut size Y axis</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="visibilityZ" type="g_vector_2" default="50 -50">
                        <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Visibility cut size Z axis</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="particleSystem" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="delay" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Activation delay</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="emitCountScale" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">Emit count scale</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="emitterShape" type="g_node_index">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Emitter shape node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeInRange" type="g_vector_2">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Fade in range</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="fadeOutRange" type="g_vector_2">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Fade out range</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="lifespan" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Lifespan</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="materialIndex" type="g_int" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Particle type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="materialType" type="g_string" default="same as particleType">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Material type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="particleType" type="g_string">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Particle type</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="startTime" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Start time</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="stopTime" type="g_float">
                        <xs:annotation><xs:documentation xml:lang="en">Stop time</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="useEmitterVisibility" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">use emitter shape visibility</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="worldSpace" type="g_bool" default="true">
                        <xs:annotation><xs:documentation xml:lang="en">Is world space</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="snowPlowEffect" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="maxScale" type="g_vector_scale" default="1 1 1">
                        <xs:annotation><xs:documentation xml:lang="en">(SnowPlowMotionPathEffect) Max. Scale which corresponds to the second motion path array state</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="minScale" type="g_vector_scale" default="1 1 1">
                        <xs:annotation><xs:documentation xml:lang="en">(SnowPlowMotionPathEffect) Min. Scale which corresponds to the first motion path array state</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="scrollSpeed" type="g_float" default="1">
                        <xs:annotation><xs:documentation xml:lang="en">(SnowPlowMotionPathEffect) UV scroll speed</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="shaderPlane" type="g_node_index">
                        <xs:annotation><xs:documentation xml:lang="en">(SnowPlowMotionPathEffect) Node of shader plane effect to control the same way</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="testArea" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="heightNode" type="g_node_index">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Test area height node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="startNode" type="g_node_index">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Test area start node</xs:documentation></xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="widthNode" type="g_node_index">
                        <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Test area width node</xs:documentation></xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:choice>
        <xs:attribute name="alignToWorldY" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Align Y axis to world Y</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="alignXAxisToWorldY" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Align X axis to world Y</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="alwaysVisibile" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Always visibile</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="controlPoint" type="g_vector_4" default="10 0.25 0 0">
            <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Control point position</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="defaultFillType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Default fill type name</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="delay" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Delay</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="dropOffset" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Drop offset</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="dynamicFillType" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Dynamic fill type</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="effectClass" type="g_string" default="ShaderPlaneEffect">
            <xs:annotation><xs:documentation xml:lang="en">Effect class</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="effectNode" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Effect node</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="effectType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(MotionPathEffect) Effect type string</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="emitCountScale" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Emit count scale</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="extraDistance" type="g_float" default="0.5">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Extra distance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="extraDistanceNode" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Distance between effect and this node will be added to distance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeInTime" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade in time</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeOutTime" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade out time</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeScale" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade scale</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeTime" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade time for fade in and fade out</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeXMaxDistance" type="g_float" default="4.18">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade X max. distance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="fadeXMinDistance" type="g_float" default="-1.58">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Fade X min. distance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="filename" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Effect from external i3d</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="forcedFillType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Forced fill type that is always applied</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="forcedFruitType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Forced fruit type that is always applied</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="forcedGrowthState" type="g_int">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Forced growth state that is always applied</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="ignoreDistanceLifeSpan" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Ignore distance based lifespan and apply fixed lifespan</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="lifespan" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Lifespan</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="linkNode" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Link node</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="materialType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Material type</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="materialTypeId" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Material type id</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxBending" type="g_float" default="0.25">
            <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Max bending</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxDensitySpeed" type="g_float" default="8">
            <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Speed at which the density is 1</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxHeight" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(LevelerEffect) Max. height</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxOffset" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Width offset in max direction</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxVisHeight" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(GrainTankEffect) Max. height to bis visibile</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="meshType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Mesh Type</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="minDensity" type="g_float" default="0.5">
            <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Min. Density</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="minHeight" type="g_float" default="-0.5">
            <xs:annotation><xs:documentation xml:lang="en">(LevelerEffect) Min. height</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="minOffset" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Width offset in min direction</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="minVisHeight" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(GrainTankEffect) Min. height to bis visibile</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="node" type="g_node_index">
            <xs:annotation><xs:documentation xml:lang="en">Effect in i3d node</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="offset" type="g_float" default="0.5">
            <xs:annotation><xs:documentation xml:lang="en">(SlurrySideToSideEffect) Animation time offset</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="particleType" type="g_string" default="unloading">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Particle type</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="position" type="g_vector_trans">
            <xs:annotation><xs:documentation xml:lang="en">Translation</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="positionUpdateNodes" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) List of nodes to position at control point</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="prio" type="g_int" default="0">
            <xs:annotation><xs:documentation xml:lang="en">Prio</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="refAnimation" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(SlurrySideToSideEffect) Reference animation</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="requiredFillType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Effect will only be used for this fill type</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="requiredFruitType" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Effect will only be used for this fruit type</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="requiredGrowthState" type="g_int">
            <xs:annotation><xs:documentation xml:lang="en">(TypedMotionPathEffect) Effect will only be used for this growth state</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="scale" type="g_vector_scale">
            <xs:annotation><xs:documentation xml:lang="en">Scale</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="scrollLength" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(MorphPositionEffect) scroll length</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="scrollSpeed" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(MorphPositionEffect) scroll speed</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shapeScaleSpread" type="g_vector_4" default="0.6 1 1 0">
            <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Shape scale spread</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="shared" type="g_bool">
            <xs:annotation><xs:documentation xml:lang="en">Load i3d file as shared file</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="showOnFirstUse" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Show on first use</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="speed" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">speed</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="spriteGainScale" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Scale factor that is applied on sprite gain scale loaded from particle system</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="spriteScale" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Scale factor that is applied on sprite scale loaded from particle system</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="startDelay" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Start delay</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="startTime" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Start time</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="stopDelay" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Stop delay</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="stopTime" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Stop time</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="turnOffRequiredEffect" type="g_int" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Index of turn off required effect</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="unloadDirection" type="g_int">
            <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Unload direction</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="updateDistance" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) Update effect distance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="useCuttingWidth" type="g_bool" default="true">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Use cutting width</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="useDistance" type="g_bool" default="true">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Use distance</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="useFillTypeTextureArrays" type="g_bool">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) Apply shared fill type texture array to effect</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="useFruitColor" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) Apply the fruit color to the smoke effect instead of the fill color</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="useMaxValue" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Use max width of effect</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="useSelfAsEffectNode" type="g_bool" default="false">
            <xs:annotation><xs:documentation xml:lang="en">Use root node as effect node</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="uvScaleSpeedFreqAmp" type="g_vector_4">
            <xs:annotation><xs:documentation xml:lang="en">(PipeEffect) UV Scale, speed, frequency, amplitude</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="uvSpeed" type="g_float">
            <xs:annotation><xs:documentation xml:lang="en">(ShaderPlaneEffect) UV speed</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="width" type="g_float" default="0">
            <xs:annotation><xs:documentation xml:lang="en">(WindrowerEffect) Width</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="widthScale" type="g_float" default="1">
            <xs:annotation><xs:documentation xml:lang="en">(CutterMotionPathEffect) Width scale (Percentage)</xs:documentation></xs:annotation>
        </xs:attribute>
        <xs:attribute name="worldSpace" type="g_bool" default="true">
            <xs:annotation><xs:documentation xml:lang="en">(ParticleEffect) World space</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:element name="handTool">
        <xs:complexType>
            <xs:all>
                <xs:element name="chainsaw" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="branchSounds" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="branch" type="SoundManager_sound" minOccurs="0" maxOccurs="unbounded"/>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="chain" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="animationNode" type="AnimationNode" minOccurs="0" maxOccurs="unbounded"/>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="cutAnimation" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="cutFocusOffset" type="g_vector_3" default="0 0 -1">
                                        <xs:annotation><xs:documentation xml:lang="en">Offset for cutting focus point</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="cutFocusRotation" type="g_vector_3" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Rotation for cutting focus point</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="equipment" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="uvs" type="g_vector_2" default="0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Equipment uvs</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="particleSystems" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="emitterShape" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="delay" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Activation delay</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="emitCountScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Emit count scale</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lifespan" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Lifespan</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="node" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">Emitter shape</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="particleType" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Particle type</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="startTime" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Start time</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="stopTime" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Stop time</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="useEmitterVisibility" type="g_bool" default="true">
                                                    <xs:annotation><xs:documentation xml:lang="en">use emitter shape visibility</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="worldSpace" type="g_bool" default="true">
                                                    <xs:annotation><xs:documentation xml:lang="en">Is world space</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="pricePerMinute" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Price per minute</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="ringSelector" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="file" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Ring selector i3d file</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="scaleOffset" type="g_float" default="0.3">
                                        <xs:annotation><xs:documentation xml:lang="en">Ring selector scale offset</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="sounds" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="activeLoop" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="activeStart" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="activeStop" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="cutLoop" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="cutStart" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="cutStop" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="idle" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="quickTapSounds" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="quickTap" type="SoundManager_sound" minOccurs="0" maxOccurs="unbounded"/>
                                                </xs:choice>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="start" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="stop" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="targetSelection" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="cutDetectionDistance" type="g_float" default="10">
                                        <xs:annotation><xs:documentation xml:lang="en">Cut detection distance</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="maxCutDistance" type="g_float" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Maxium cut distance</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="minCutDistance" type="g_float" default="0.5">
                                        <xs:annotation><xs:documentation xml:lang="en">Minimum cut distance</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="treeSounds" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="cut" type="SoundManager_sound" minOccurs="0" maxOccurs="unbounded"/>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                        </xs:all>
                        <xs:attribute name="cutSizeY" type="g_float" default="1.1">
                            <xs:annotation><xs:documentation xml:lang="en">Cut Size Y</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="cutSizeZ" type="g_float" default="1">
                            <xs:annotation><xs:documentation xml:lang="en">Cut Size Z</xs:documentation></xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="quicktapThreshold" type="g_float" default="0">
                            <xs:annotation><xs:documentation xml:lang="en">Quick tab time threshold</xs:documentation></xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
                <xs:element name="filename" type="g_string" minOccurs="1">
                    <xs:annotation><xs:documentation xml:lang="en">HandTool i3d file</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="handNode" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="firstPerson" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="node" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">First person node</xs:documentation><xs:appinfo><defaultStr>root node</defaultStr></xs:appinfo></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="position" type="g_vector_trans" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Position</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="referenceNode" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Reference node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="rotation" type="g_vector_rot" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Rotation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="thirdPerson" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="node" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">First person node</xs:documentation><xs:appinfo><defaultStr>root node</defaultStr></xs:appinfo></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="position" type="g_vector_trans" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Position</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="referenceNode" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Reference node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="rotation" type="g_vector_rot" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Rotation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="thirdPersonCutting" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="position" type="g_vector_trans" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Third person cutting position</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="referenceNode" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Third person cutting reference node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="rotation" type="g_vector_rot" default="0 0 0">
                                        <xs:annotation><xs:documentation xml:lang="en">Third person cutting rotation</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
                <xs:element name="handToolType" type="g_string" minOccurs="1">
                    <xs:annotation><xs:documentation xml:lang="en">Hand tool type</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="highPressureWasherLance" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="effects" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="effectNode" type="EffectNode" minOccurs="0" maxOccurs="unbounded"/>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="lance" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="node" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Lance node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="pricePerMinute" type="g_float" default="10">
                                        <xs:annotation><xs:documentation xml:lang="en">Price per minute</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="raycastNode" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Raycast node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="washDistance" type="g_float" default="10">
                                        <xs:annotation><xs:documentation xml:lang="en">Max. wash distance</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="washMultiplier" type="g_float" default="1">
                                        <xs:annotation><xs:documentation xml:lang="en">Wash multiplier</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="sounds" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="washing" type="SoundManager_sound" minOccurs="0" maxOccurs="1"/>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
                <xs:element name="i3dMappings" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                            <xs:element name="i3dMapping" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="id" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Identifier to be used in xml</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="node" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Index path to node in i3d file</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                    </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="playerWorkStylePreset" type="g_string" minOccurs="0">
                    <xs:annotation><xs:documentation xml:lang="en">Custom Player workstyle preset name</xs:documentation></xs:annotation>
                </xs:element>
                <xs:element name="storeData" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="allowLeasing" type="g_bool" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Defines of the vehicle can be leased</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="attacherInfo" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="attach" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="attacherJointIndex" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Attacher joint index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="bundleElement0" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">First bundle element</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="bundleElement1" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Second bundle element</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="inputAttacherJointIndex" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Input attacher joint index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="audioMemoryUsage" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Audio memory usage</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="brand" minOccurs="0">
                                <xs:complexType>
                                    <xs:simpleContent>
                                        <xs:extension base="g_string">
                                            <xs:attribute name="customIcon" type="g_string">
                                                <xs:annotation><xs:documentation xml:lang="en">Custom brand icon to display in the shop config screen</xs:documentation></xs:annotation>
                                            </xs:attribute>
                                            <xs:attribute name="imageOffset" type="g_string">
                                                <xs:annotation><xs:documentation xml:lang="en">Offset of custom brand icon</xs:documentation></xs:annotation>
                                            </xs:attribute>
                                        </xs:extension>
                                    </xs:simpleContent>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="brush" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:all>
                                        <xs:element name="category" type="g_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">Brush category</xs:documentation></xs:annotation>
                                        </xs:element>
                                        <xs:element name="parameters" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="parameter" minOccurs="0">
                                                        <xs:complexType>
                                                            <xs:simpleContent>
                                                                <xs:extension base="g_string">
                                                                    <xs:attribute name="isFilename" type="g_string">
                                                                        <xs:annotation><xs:documentation xml:lang="en">Whether the parameter is a filename</xs:documentation></xs:annotation>
                                                                    </xs:attribute>
                                                                </xs:extension>
                                                            </xs:simpleContent>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="tab" type="g_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">Brush tab</xs:documentation></xs:annotation>
                                        </xs:element>
                                        <xs:element name="type" type="g_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">Brush type</xs:documentation></xs:annotation>
                                        </xs:element>
                                    </xs:all>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="bundleElements" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="bundleElement" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="configurations" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="configuration" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="allowChange" type="g_bool" default="false">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Allow change of option</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="disableOption" type="g_bool" default="false">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Disabled this particular config option</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="hideOption" type="g_bool" default="false">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Hide the option completely</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="name" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Name of configuration</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_int">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Configuration index that is forced for this config</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="offset" type="g_vector_trans" minOccurs="0">
                                                        <xs:annotation><xs:documentation xml:lang="en">Translation offset of vehicle</xs:documentation></xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="rotationOffset" type="g_vector_rot" minOccurs="0">
                                                        <xs:annotation><xs:documentation xml:lang="en">Rotation offset of vehicle</xs:documentation></xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="xmlFilename" type="g_string" minOccurs="0">
                                                        <xs:annotation><xs:documentation xml:lang="en">XML filename</xs:documentation></xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="yRotation" type="g_angle" minOccurs="0">
                                                        <xs:annotation><xs:documentation xml:lang="en">Y rotation of vehicle</xs:documentation></xs:annotation>
                                                    </xs:element>
                                                </xs:all>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="canBeSold" type="g_bool" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Defines of the vehicle can be sold</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="category" type="g_string" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Store category</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="dailyUpkeep" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Daily up keep</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="financeCategory" type="g_string" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Finance category name</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="functions" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="function" type="g_l10n_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">Function description text</xs:documentation></xs:annotation>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="ignoreVramUsage" type="g_bool" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Ignore VRAM usage</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="image" type="g_string" minOccurs="1">
                                <xs:annotation><xs:documentation xml:lang="en">Path to store icon</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="indexBufferMemoryUsage" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Index buffer memory usage</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="instanceIndexBufferMemoryUsage" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Instance index buffer memory usage</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="instanceVertexBufferMemoryUsage" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Instance vertex buffer memory usage</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="lifetime" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Lifetime of vehicle used to calculate price drop, in months</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="maxItemCount" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Defines the max. amount vehicle of this type</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="name" minOccurs="1">
                                <xs:complexType>
                                    <xs:simpleContent>
                                        <xs:extension base="g_l10n_string">
                                            <xs:attribute name="params" type="g_string">
                                                <xs:annotation><xs:documentation xml:lang="en">Parameters to add to name</xs:documentation></xs:annotation>
                                            </xs:attribute>
                                        </xs:extension>
                                    </xs:simpleContent>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="price" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Store price</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="rotation" type="g_angle" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Y rotation of the vehicle</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="runningLeasingFactor" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Running leasing factor</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopDynamicTitle" type="g_bool" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Vehicle brand icon and vehicle name is dynamically updated based on the selected configuration in the shop</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopFoldingState" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Inverts the shop folding state if set to &apos;1&apos;</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopFoldingTime" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Defines a custom folding time for the shop</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopHeight" type="g_float" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Height of vehicle for shop placement</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopIgnoreLastComponentPositions" type="g_bool" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">If set to true the component positions from last spawning are now reused</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopLoadingDelay" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="config" type="g_time">
                                        <xs:annotation><xs:documentation xml:lang="en">Delay of shop loading after config change until the vehicle is displayed. (Used e.g. to hide vehicle while components still moving)</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="initial" type="g_time">
                                        <xs:annotation><xs:documentation xml:lang="en">Delay of initial shop loading until the vehicle is displayed. (Used e.g. to hide vehicle while components still moving)</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="shopRotationOffset" type="g_vector_rot" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Rotation offset for shop spawning and store icon</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="shopTranslationOffset" type="g_vector_trans" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Translation offset for shop spawning and store icon</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="showInStore" type="g_bool" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Defines of the vehicle is shown in shop</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="species" type="g_string" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Store species</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="storeIconRendering" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="objectBundle" 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="node" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="node" type="g_node_index">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Index Path of node to load</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="rotation" type="g_vector_rot" default="0 0 0">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Rotation</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="scale" type="g_vector_scale" default="1 1 1">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Scale</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="translation" type="g_vector_trans" default="0 0 0">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Translation</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="filename" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Path to i3d file</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="useClipPlane" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">Clip plane is used</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="settings" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:attribute name="advancedBoundingBox" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">Advanced BB is used for icon placement</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="cameraXRot" type="g_angle">
                                                    <xs:annotation><xs:documentation xml:lang="en">X Rot of camera</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="cameraYRot" type="g_angle">
                                                    <xs:annotation><xs:documentation xml:lang="en">Y Rot of camera</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="centerIcon" type="g_bool">
                                                    <xs:annotation><xs:documentation xml:lang="en">Center item on icon</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lightIntensity" type="g_float">
                                                    <xs:annotation><xs:documentation xml:lang="en">Intensity of light sources</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="showTriggerMarkers" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Show trigger markers on icon (for placeables)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="shaderParameter" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="name" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Name if shader parameter</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="values" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Values of shader parameter</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="storePacks" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="storePack" type="g_string" minOccurs="0">
                                            <xs:annotation><xs:documentation xml:lang="en">Store pack</xs:documentation></xs:annotation>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="textureMemoryUsage" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Texture memory usage</xs:documentation></xs:annotation>
                            </xs:element>
                            <xs:element name="vertexBufferMemoryUsage" type="g_int" minOccurs="0">
                                <xs:annotation><xs:documentation xml:lang="en">Vertex buffer memory usage</xs:documentation></xs:annotation>
                            </xs:element>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
                <xs:element name="targets" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                            <xs:element name="target" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="rotationNode" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:attribute name="id" type="g_int">
                                                    <xs:annotation><xs:documentation xml:lang="en">Rotation node index</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="rotation" type="g_vector_rot">
                                                    <xs:annotation><xs:documentation xml:lang="en">Rotation node rotation</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="ikChain" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">IK chain name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="poseId" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Pose id</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="setDirty" type="g_bool" default="true">
                                        <xs:annotation><xs:documentation xml:lang="en">Is dirty</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="targetNode" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Target node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="targetOffset" type="g_vector_trans">
                                        <xs:annotation><xs:documentation xml:lang="en">Target offset</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>
