This package implements the spreadsheet parsers for EDIP.

At this time this package contains only the parser for Excel from MS Office XP. Older versions of MS Office cannot be supported because they lack the ability of saving the spreadsheet as XML. A parser for OpenOffice is under development.

The spreadsheet parser is invoked by the Edip class. Its purpose is to convert the source file into an internal XML document. The internal document has namespace http://hroch486.icpf.cas.cz/ns/selfml/internal as defined by the Edip.INTERNAL_NS variable. The root element is selfml with a mandatory attribute property holding the property type. The root has two child elements. The first element is DescriptionBlock. This contains elements variable with a mandatory attribute name defining the variable name under which it is present later. The order and meaning of these variables is defined by the property type. The second child element is Variables. It contains the same number of variable elements with corresponding name attributes as the DescriptionBlock. Each variable element contains one or more value elements with the values.

Below you can see an example of an internal XML document for property type GEMS1311.

<?xml version="1.0" encoding="utf-8"?>

<selfml xmlns="http://hroch486.icpf.cas.cz/ns/selfml/internal" property="GEMS1311">
  <DescriptionBlock>
    <variable name="comp1"/>
    <variable name="comp2"/>
    <variable name="T"/>
    <variable name="err.T"/>
    <variable name="GE"/>
    <variable name="err.GE"/>
  </DescriptionBlock>
  <Variables>
    <variable name="comp1">
      <value>102-69-2</value>
    </variable>
    <variable name="comp2">
      <value>64-17-5</value>
    </variable>
    <variable name="T">
      <value>350.7</value>
      <value>334.8</value>
      <value>323.4</value>
    </variable>
    <variable name="err.T">
      <value>0.2</value>
      <value>0.2</value>
      <value>0.2</value>
    </variable>
    <variable name="GE">
      <value>6037.59</value>
      <value>5880.72</value>
      <value>5810.58</value>
    </variable>
    <variable name="err.GE">
      <value>290</value>
      <value>280</value>
      <value>270</value>
    </variable>
  </Variables>
</selfml>