The file format

All projects are saved in XML. The standard file extension used by the Statistical Data Viewer is .sdv. XML is a well defined standard, there is no shortage of fast and convenient XML parsers and XML can be read by humans. If a file is corrupted or you miss a certain functionality in the editor you can easily modify an .sdv file in a text browser.

XML is much more than just a human readable file format. It allows an application to organize the contents of a project in a robust, standardized and comprehensive way. Data can easily be exchanged, shared and combined with other applications on different platforms. With the proper tools an XML file can also easily be transformed into a webpage or a LaTeX file.

An XML file looks much like an HTML file with a lot of tags that are enclosed in brackets. Unlike HTML, all XML tags must either have a closing slash or be matched by a closing tag of the same name preceeded by a slash. In an .sdv file each mathematical object has its own tag name. Its attributes are listed as name-value pairs of the format name="value". Objects and attributes have the same name as in the application. As a rule, object names start in upper case and attributes are in lower case. The example is a process object whose attributes have not yet been specified:

        series="---" ID="3" name="process <1>" make="false" />

Some of the attributes are not visible in the editor, for example the ID attribute. Don't touch them, especially the ID attribute. If you keep the file consistent, the application will read and accept your changes. Even if it doesn't understand them, the worst thing that will happen is that the application resorts to the default values.

If an object has other objects as attributes, the initial tag doesn't close with a slash, only with a closing bracket. Next come the nested objects. The object is ended by repeating the tag name in brackets, preceeded by another slash. In the example below the process was defined as a pendulum without system noise. Changing the system noise in the file is equivalent to changing it through the editor.

        series="pendulum" ID="2" name="pendulum" make="false" >
                seed="0" orbit="0.67" scale="10" system_noise="0"
         constant="0.2" ID="2" name="Pendulum system" />