GeoGebra XML File Format 1.2

First file format version.

geogebra

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

<geogebra format="1.2"> 

     <euclidianView>

          ...

     </euclidianView>   

     <kernel>

          ...

     </kernel>

     <construction>

          ...

</construction>

</geogebra>

euclidianView

<euclidianView>

     <coordSystem xZero="215" yZero="345" scale="30"/>

     <evSettings axes="true" grid="false"/>

</euclidianView>

kernel

<kernel>

     <angleUnit val="degree"/>

</kernel>

where angleUnit is either degree or radiant.

construction

<construction>

     <element type="point" label="P"> ...  </element>    

     <command name="Intersect"> ...    </command>

     <expression label="T" exp="A + 1/2 (B-A)"/>

</construction>

element

An element has two attributes: type and label. The following types are valid: point, vector, line, segment, conic, numeric, angle.

 

<element type="line" label="a">

     <show object="true" label="true"/>

     <objColor r="0" g="0" b="255"/>

     <lineStyle thickness="2" type="0"/>

     <eqnStyle style="implicit"/>

     <coords x="6.0" y="7.8" z="1.0"/>

</element>

    

Tags for types point, vector, line, segment, conic

<show object="true" label="true"/>

<objColor r="0" g="0" b="255"/>

 

Tags for types vector, line, segment, conic

<lineStyle thickness="2" type="0"/>

where type is an integer representing one of the following dashing styles:

0

LINE_TYPE_FULL

10

LINE_TYPE_DASHED_SHORT

15

LINE_TYPE_DASHED_LONG

20

LINE_TYPE_DOTTED

30

LINE_TYPE_DASHED_DOTTED

 

Tags for types line, conic

<eqnStyle style=" ... " parameter=" ... " />

For an element of type line attribute style may have values explicit, implicit or parametric. For parametric the second attribute parameter specifies the parameter's name.

For an element of type conic attribute style may have values implicit or specific.

 

Tags for types point, vector, line, segment

<coords x="6.0" y="7.8" z="1.0"/>

 

Tags for types point, vector

<coordStyle style=" ... "/>

where style has value cartesian or polar

 

Tags for types numeric, angle

<value val="3.0"/>

 

Tags for type point

<pointSize val="3"/>

 

Tags for type conic

<matrix A0="1.0" A1="1.0" A2="46.92" A3="0.0" A4="-6.0" A5="-4.6"/>

<eigenvectors x0="1.0" y0="0.0" z0="1.0" x1="-0.0" y1="1.0" z1="1.0"/>

command

<command name="Intersect">

     <input a0="ell" a1="hyp"/>

     <output a0="K" a1="L" a2="" a3=""/>

</command>

expression

<expression label="T" exp="A + 1/2 (B-A)"/>