GeoGebra XML File Format 2.4

Changes to previous version:

·        new attributes exp, x, y, z in tag <startPoint> (for text and vector)

·        new attribute type in <expression> (for distinction of points and vectors)

·        new tag <auxiliary> in <element>

·        new attribute auxiliaryObjects in <gui>

geogebra

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

<geogebra format="2.1"> 

     <gui>

          ...

     </gui>

     <euclidianView>

          ...

     </euclidianView>   

     <kernel>

          ...

     </kernel>

     <construction>

          ...

</construction>

</geogebra>

gui

<gui>

     <show algebraView="true" auxiliaryObjects="true" />

     <font size="12"/>

<splitDivider loc="250" locVertical="400", horizontal="true"/>

</gui>

euclidianView

<euclidianView>

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

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

</euclidianView>

kernel

<kernel>

     <decimals val="2"/>

     <angleUnit val="degree"/>

</kernel>

where angleUnit is either degree or radiant.

construction

A construction has three string attributes: title, author and date.

<construction title="Construction Title" author="Me" date="1.12.2003">

     <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, function.

 

<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"/>

     <fixed val="false"/>

  <auxiliary val="true"/>

</element>

    

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

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

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

<labelOffset x="10" y="5"/>

<trace val="true">

<animation step="0.1"/>

 

<labelMode val="0"/>

where val is an integer representing one of the following labeling styles:

0

NAME

1

NAME_VALUE

2

VALUE

 

 

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

<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 angle

<arcSize val="30"/>

 

Tags for type numeric

<slopeTriangleSize val="1"/>

 

Tags for type point

<pointSize val="3"/>

 

Tags for type vector, text

for relative startpoint

<startPoint exp="(A+B)/2"/>

or

<startPoint x="3" y="2" z="1"/>

label attribute deprecated since 2.4: <startPoint label="A"/>

 

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)" type="point"/>

The type attribute is optional an may have values point or vector.