
File Format for Kst 2

<kst version="">
  <data>
    <source tag="" reader="" file="">
      <properties></properties>
    </source>
  </data>
  <variables>
    <vector name="">
    </vector>
    <datavector provider="" file="" field="" start="" count="" initialVNum="" initialXNum=""></datavector>
    <generatedvector tag="" min="" max="" count="" initialVNum="" initialXNum=""></generatedvector>
    <vector tag="" initialVNum="" initialXNum="">
        <data></data>
    </vector>
    <editablevector tag="" initialVNum="" initialXNum="">
      <data></data>
    </editablevector>
    <scalar tag="" orphan="true" editable="true" value="" initialXNum=""></scalar>
    <string tag="" orphan="true" editable="true" value="" initialTNum=""></string>
    <datamatrix tag="" provider="" file="" field="" reqxstart=""  reqystart="" reqnx="" reqny="" doave="" doskip="" skip="" initialVNum="" initialXNum="" initialMNum=""></datamatrix>
    <editablematrix tag="" xmin="" ymin="" nx="" ny="" xstep="" ystep="" initialVNum="" initialXNum="" initialMNum="">
        <data></data>
    </editablematrix>
  </variables>
  <objects>
    <csd tag="" vector="" samplerate="" gaussiansigma="" average="" fftlength="" removemean="" apodize="" apodizefunction="" windowsize="" vectorunits="" rateunits="" outputtype=""></csd>
    <equation tag="" expression="" xvector="" interpolate="" initialVNum="" initialXNum="" initialENum=""></equation>
    <histogram tag="" vector="" numberofbins="" realtimeautobin="" min="" max="" normalizationmode="" initialVNum="" initialXNum="" initialHNum=""></histogram>
    <powerspectrum tag="" vector="" samplerate="" gaussiansigma="" average="" fftlength="" removemean="" apodize="" apodizefunction="" interpolateholes="" vectorunits="" rateunits="" outputtype="" initialVNum="" initialXNum="" initialPSDNum=""></powerspectrum>
    <eventmonitor tag="" equation="" description="" logdebug="" loglevel="" logemail="" logelog="" emailrecipients="" script=""></eventmonitor>
    <plugin type="" initialVNum="" initialXNum="" initialHNum="">
        <inputvector type="" tag=""></inputvector>
        <outputvector type="" tag=""></outputvector>
    </plugin>
  </objects>
  <relations>
    <curve tag="" xvector="" yvector="" legend="" errorxvector="" erroryvector="" errorxminusvector="" erroryminusvector="" color="" haslines="" linewidth="" linestyle="" haspoints="" pointtype="" pointdensity="" hasbars="" barstyle="" ignoreautoscale="" initialCNum=""></curve>
    <image tag="" matrix="" legend="" palettename="" hascolormap="" lowerthreshold="" upperthreshold="" hascontourmap="" numcontourlines="" contourweight="" contourcolor="" autothreshold="" initialINum=""></image>
  </relations>
  <graphics>
    <view name="">
      <plot name="">
        <arrow name="">
	</arrow>
      </plot>
      <label name="">
      </label>
      <line name="">
      </line>
    </view>
    <view name="">
            <box zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#ffffff" style="1"></brush>
            </box>
            <ellipse zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#ffffff" style="1"></brush>
            </ellipse>
            <label text="" zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#000000" style="0"></brush>
            </label>
            <layoutbox zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="0" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#000000" style="0"></brush>
                <layoutitem name=""></layoutitem>
            </layoutbox>
            <line zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#ffffff" style="1"></brush>
            </line>
            <picture zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#ffffff" style="1"></brush>
                <data>Base64 Encoded qCompressed PNG Data</data>
            </picture>
            <plot tiedzoom="false" leftlabelvisible="true" bottomlabelvisible="true" rightlabelvisible="true" toplabelvisible="true" zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#ffffff" style="1"></brush>
                <plotaxis xtickmode="5" ytickmode="5"></plotaxis>
                <cartesianrender name="" type="0" xzoommode="0" yzoommode="1" xlog="false" ylog="false" xlogbase="10" ylogbase="10">
                    <relation name=""></relation>
                </cartesianrender>
                <plotaxis id="xaxis" visible="false" log="false" reversed="false" baseoffset="false" interpret="false" interpretation="1" display="4" majortickmode="5" minortickcount="4" drawmajorticks="true" drawminorticks="true" drawmajorgridlines="true" drawminorgridlines="false" drawmajorgridlinecolor="#a0a0a4" drawminorgridlinecolor="#a0a0a4" drawmajorgridlinestyle="2" drawminorgridlinestyle="2" significantdigits="9" zoommode="0">
                    <plotmarkers xaxis="true" linecolor="#000000" linestyle="1" linewidth="1" curvemode="1"></plotmarkers>
                </plotaxis>
                <plotaxis id="yaxis" visible="true" log="false" reversed="false" baseoffset="false" interpret="false" interpretation="1" display="4" majortickmode="5" minortickcount="4" drawmajorticks="true" drawminorticks="true" drawmajorgridlines="true" drawminorgridlines="false" drawmajorgridlinecolor="#a0a0a4" drawminorgridlinecolor="#a0a0a4" drawmajorgridlinestyle="2" drawminorgridlinestyle="2" significantdigits="9" zoommode="1">
                    <plotmarkers xaxis="false" linecolor="#000000" linestyle="1" linewidth="1" curvemode="1"></plotmarkers>
                </plotaxis>
                <projectionrect x="-10" y="-10.5" width="20" height="21"></projectionrect>
            </plot>
            <svg zvalue="">
                <position x="" y=""></position>
                <rect x="" y="" width="" height=""></rect>
                <transform m11="1" m12="0" m13="0" m21="0" m22="1" m23="0" m31="0" m32="0" m33="1"></transform>
                <pen style="1" width="0" miterlimit="2" cap="16" joinStyle="64">
                    <brush color="#000000" style="1"></brush>
                </pen>
                <brush color="#000000" style="0"></brush>
                <data>Base64 Encoded qCompressed Svg Data</data>
            </svg>
    </view>
  </graphics>
</kst>


Loading procedure:
Documents are parsed once but loaded in a multi-phase routine.  First all
objects of all types are created, with no data loaded.  Any objects that take
inputs are loaded in a state such that they know the name of the input but do
not have a reference to it.  Outputs for any of these objects are created,
unpopulated.  Then attach() is called on all non-graphics objects which obtains
references to the input vectors.  Any kstfile-stored data can be loaded as well.
Still no updates are run.  Then all graphics objects are created but not
rendered.  Then a render is run.  Then updates are started.


