Common XML tags and types

Following document was generated by a modification of xs3p stylesheet. It contains definitions of tags and types used in both geogebra.xml and geogebra_macro.xml files, which are the most important part of GeoGebra file format. For a brief introduction see XML reference.

Global Declarations

Element: cascell

XML Instance Representation

<cascell>

<cellPair> [1..*]

Start Sequence [0..1]

<inputCell> [1]

<expression> …​ </expression> [1]

</inputCell>

<outputCell> [1]

<expression> …​ </expression> [1]

</outputCell>

End Sequence

</cellPair>

</cascell>

Element: construction

XML Instance Representation

<construction

title="xs:string [0..1]"

author="xs:string [0..1]"

date="xs:string [0..1]"

>

Start Choice [0..*]

<command

name="xs:string [1]"

type="xs:string [0..1]"

var="xs:string [0..1]"

<casMap> casMap </casMap> [0..1]

<input> ioType </input> [1]

<outputSizes> stringVal </outputSizes> [0..1]

<output> ioType </output> [1]

</command>

<element> …​ </element> [1]

<cascell> …​ </cascell> [1]

<expression

exp="xs:string [0..1]"

label="xs:string [0..1]"

type="elType [0..1]"

/> [1]

End Choice

</construction>

Element: element

XML Instance Representation

<element

type="elType [0..1]"

label="xs:string [0..1]"

>

Start Choice [0..*]

<absoluteScreenLocation> xyCoords </absoluteScreenLocation> [0..1]

<allowReflexAngle> boolVal </allowReflexAngle> [0..1]

<auxiliary> boolVal </auxiliary> [0..1]

<arcSize> intVal </arcSize> [0..1]

<animation> animation </animation> [0..1]

<caption> stringVal </caption> [0..1]

<comboBox> boolVal </comboBox> [0..1]

<condition

showObject="xs:string [0..1]"

/> [0..1]

<checkbox

fixed="xs:boolean [0..1]"

/> [0..1]

<coefficients

rep="representation [0..1]"

data="data [0..1]"

/> [0..1]

<coords> coords </coords> [0..1]

<coordStyle

style="coordStyles [0..1]"

/> [0..1]

<casMap> casMap </casMap> [0..1]

<decoration

type="decorTypes [0..1]"

/> [0..1]

<eigenvectors> eigenvectors </eigenvectors> [0..1]

<emphasizeRightAngle> boolVal </emphasizeRightAngle> [0..1]

<eqnStyle

style="eqnStyles [1]"

parameter="xs:string [0..1]"

/> [0..1]

<file

name="xs:string [0..1]"

/> [0..1]

<fixed> boolVal </fixed> [0..1]

<isShape> boolVal </isShape> [0..1]

<font> fontProperties </font> [0..1]

<angleStyle> intVal </angleStyle> [0..1]

<forceReflexAngle> boolVal </forceReflexAngle> [0..1]

<ggbscript> stringVal </ggbscript> [0..1]

<inBackground> boolVal </inBackground> [0..1]

<interpolate> boolVal </interpolate> [0..1]

<javascript> stringVal </javascript> [0..1]

<keepTypeOnTransform> boolVal </keepTypeOnTransform> [0..1]

<isLaTeX> boolVal </isLaTeX> [0..1]

<lineStyle

thickness="nonNegInt [0..1]"

type="lineTypes [0..1]"

typeHidden="xs:integer [0..1]"

opacity="xs:double [0..1]"

/> [0..1]

<labelMode> intVal </labelMode> [0..1]

<labelOffset> xyCoords </labelOffset> [0..1]

<layer> intVal </layer> [0..1]

<levelOfDetail> intVal </levelOfDetail> [0..1]

<linkedGeo

exp="xs:string [0..1]"

/> [0..1]

<listType

val="elType [0..1]"

/> [0..1]

<matrix> matrix </matrix> [0..1]

<objColor> objColorType </objColor> [0..1]

<bgColor> rgbaColor </bgColor> [0..1]

<outlyingIntersections> boolVal </outlyingIntersections> [0..1]

<pointSize> doubleVal </pointSize> [0..1]

<fading> doubleVal </fading> [0..1]

<pointStyle

val="pointStyles [0..1]"

/> [0..1]

<dimensions

width="xs:double [0..1]"

height="xs:double [0..1]"

/> [0..1]

<embed

id="xs:int [0..1]"

app="xs:string [0..1]"

/> [0..1]

<selectedIndex> intVal </selectedIndex> [0..1]

<selectionAllowed> boolVal </selectionAllowed> [0..1]

<show

object="xs:boolean [0..1]"

label="xs:boolean [0..1]"

ev="nonNegInt [0..1]"

/> [0..1]

<slider> slider </slider> [0..1]

<slopeTriangleSize> intVal </slopeTriangleSize> [0..1]

<spreadsheetTrace> spreadsheetTrace </spreadsheetTrace> [0..1]

<startPoint> expCoords </startPoint> [0..1]

<tooltipMode

val="tooltipModes [0..1]"

/> [0..1]

<tags> [0..1]

<tag

key="xs:string [0..1]"

value="xs:string [0..1]"

/> [0..1]

</tags>

<trace> boolVal </trace> [0..1]

<symbolic> boolVal </symbolic> [0..1]

<userinput

show="xs:boolean [0..1]"

value="xs:string [0..1]"

valid="xs:boolean [0..1]"

/> [0..1]

<value

val="doubleOrBool [1]"

random="xs:boolean [0..1]"

/> [0..1]

End Choice

</element>

Element: expression

XML Instance Representation

<expression

value="xs:string [0..1]"

error="xs:boolean [0..1]"

evalCommand="xs:string [0..1]"

evalComment="xs:string [0..1]"

/>

                    ==Global Definitions==

Type: animation

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

step="xs:string [0..1]"

speed="xs:string [0..1]"

type="nonNegInt [0..1]"

playing="xs:boolean [0..1]"

/>

Type: boolVal

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

val="xs:boolean [1]"

/>

Type: casMap

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​>

<entry

key="xs:string [0..1]"

val="xs:string [0..1]"

/> [1..*]

</…​>

Type: coords

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

x="xs:double [0..1]"

y="xs:double [0..1]"

z="xs:double [0..1]"

w="xs:double [0..1]"

ox="xs:double [0..1]"

oy="xs:double [0..1]"

oz="xs:double [0..1]"

ow="xs:double [0..1]"

vx="xs:double [0..1]"

vy="xs:double [0..1]"

vz="xs:double [0..1]"

vw="xs:double [0..1]"

/>

Type: doubleVal

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

val="xs:double [1]"

/>

Type: eigenvectors

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

x0="xs:double [1]"

x1="xs:double [1]"

x2="xs:double [0..1]"

y0="xs:double [1]"

y1="xs:double [1]"

y2="xs:double [0..1]"

z0="xs:double [1]"

z1="xs:double [1]"

z2="xs:double [0..1]"

/>

Type: expCoords

Super-types:

None

Sub-types:

None

Either exp (for relative start point) or numbers x, y, z (for absolute start point) must be entered. Number parameter is valid only for image elements and refers to one of the corners (1 to 3)

XML Instance Representation

<…​

number="nonNegInt [0..1]"

x="xs:double [0..1]"

y="xs:double [0..1]"

z="xs:double [0..1]"

exp="xs:string [0..1]"

/>

Type: fontProperties

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

serif="xs:boolean [0..1]"

size="nonNegInt [0..1]"

sizeM="xs:double [0..1]"

style="nonNegInt [0..1]"

/>

Type: intVal

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

val="xs:int [1]"

/>

Type: ioType

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

a0="xs:string [0..1]"

a1="xs:string [0..1]"

a2="xs:string [0..1]"

a3="xs:string [0..1]"

a4="xs:string [0..1]"

a5="xs:string [0..1]"

a6="xs:string [0..1]"

a7="xs:string [0..1]"

a8="xs:string [0..1]"

a9="xs:string [0..1]"

a10="xs:string [0..1]"

a11="xs:string [0..1]"

a12="xs:string [0..1]"

a13="xs:string [0..1]"

a14="xs:string [0..1]"

a15="xs:string [0..1]"

a16="xs:string [0..1]"

a17="xs:string [0..1]"

a18="xs:string [0..1]"

a19="xs:string [0..1]"

a20="xs:string [0..1]"

a21="xs:string [0..1]"

a22="xs:string [0..1]"

a23="xs:string [0..1]"

a24="xs:string [0..1]"

a25="xs:string [0..1]"

a26="xs:string [0..1]"

a27="xs:string [0..1]"

a28="xs:string [0..1]"

a29="xs:string [0..1]"

a30="xs:string [0..1]"

a31="xs:string [0..1]"

a32="xs:string [0..1]"

a33="xs:string [0..1]"

a34="xs:string [0..1]"

a35="xs:string [0..1]"

a36="xs:string [0..1]"

a37="xs:string [0..1]"

a38="xs:string [0..1]"

a39="xs:string [0..1]"

a40="xs:string [0..1]"

a41="xs:string [0..1]"

a42="xs:string [0..1]"

a43="xs:string [0..1]"

a44="xs:string [0..1]"

a45="xs:string [0..1]"

a46="xs:string [0..1]"

a47="xs:string [0..1]"

a48="xs:string [0..1]"

a49="xs:string [0..1]"

/>

Type: matrix

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

A0="xs:double [1]"

A1="xs:double [1]"

A2="xs:double [1]"

A3="xs:double [1]"

A4="xs:double [1]"

A5="xs:double [1]"

A6="xs:double [0..1]"

A7="xs:double [0..1]"

A8="xs:double [0..1]"

A9="xs:double [0..1]"

/>

Type: objColorType

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

r="nonNegInt [1]"

g="nonNegInt [1]"

b="nonNegInt [1]"

dynamicr="xs:string [0..1]"

dynamicg="xs:string [0..1]"

dynamicb="xs:string [0..1]"

dynamica="xs:string [0..1]"

fillType="fills [0..1]"

colorSpace="colorSpaces [0..1]"

alpha="xs:double [0..1]"

hatchAngle="xs:double [0..1]"

hatchDistance="xs:double [0..1]"

image="xs:string [0..1]"

inverseFill="xs:boolean [0..1]"

/>

Type: rgbColor

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

r="nonNegInt [1]"

g="nonNegInt [1]"

b="nonNegInt [1]"

/>

Type: rgbaColor

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

r="nonNegInt [1]"

g="nonNegInt [1]"

b="nonNegInt [1]"

alpha="nonNegInt [0..1]"

/>

Type: slider

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

min="xs:string [0..1]"

max="xs:string [0..1]"

width="xs:double [1]"

x="xs:double [1]"

y="xs:double [1]"

fixed="xs:boolean [1]"

absoluteScreenLocation="xs:boolean [0..1]"

horizontal="xs:boolean [1]"

showAlgebra="xs:boolean [0..1]"

/>

Type: spreadsheetTrace

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

traceColumn1="xs:integer [0..1]"

traceColumn2="xs:integer [0..1]"

traceRow1="xs:integer [0..1]"

traceRow2="xs:integer [0..1]"

tracingRow="xs:integer [0..1]"

numRows="xs:integer [0..1]"

headerOffset="xs:integer [0..1]"

doColumnReset="xs:boolean [0..1]"

doRowLimit="xs:boolean [0..1]"

showLabel="xs:boolean [0..1]"

showTraceList="xs:boolean [0..1]"

doTraceGeoCopy="xs:boolean [0..1]"

/>

Type: stringVal

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

val="xs:string [1]"

/>

Type: xyCoords

Super-types:

None

Sub-types:

None

XML Instance Representation

<…​

x="xs:double [1]"

y="xs:double [1]"

/>

Type: algebraStyles

Super-types:

xs:int < algebraStyles (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 2

Meaning of values:0=value,1=definition,2=command.

Type: angleUnits

Super-types:

xs:string < angleUnits (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = degree|radiant

Type: axisIds

Super-types:

xs:int < axisIds (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 2

Meanings of values: 0=x, 1=y, 2=z

Type: axisTypes

Super-types:

xs:int < axisTypes (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 15

Meaning of values: bit0 = draw positive arrow, bit1 = bold, bit2 = draw negative arrow, bit3 = fill arrows

Type: colorSpaces

Super-types:

xs:int < colorSpaces (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 2

Meaning of values:0=RGB,1=HSB,2=HSL.

Type: coordStyles

Super-types:

xs:string < coordStyles (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = cartesian|polar|complex

Type: data

Super-types:

xs:string < data (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = \[(\[.\],?)\]

Type: decorTypes

Super-types:

xs:int < decorTypes (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 6

Meanings of values: 0=none, 1=single tick,2=double tick, 3=triple tick, 4=simple arrow, 5=double arrow, 6=triple arrow.square, 2=dot,3=L (Belgian style).

Type: doubleOrBool

Super-types:

None

Sub-types:

None

  • Union of following types:

Super-types:

xs:string < elType (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = (angle|line|plane|point|polygon|polyline|ray|segment|vector|(curve|surface)cartesian|implicit(poly|surface))(3d)?|boolean|button|conic(3d)?(part)?|function(NVar)?|image|list|locus|numeric|quadric(limited|part)?|text(field)?|turtle|net|polyhedron|penstroke|audio|video|embed

Type: eqnStyles

Super-types:

xs:string < eqnStyles (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = implicit|explicit|specific|parametric

Type: fills

Super-types:

xs:int < fills (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 7

Meaning of values:

  • 0=STANDARD,

  • 1=HATCH,

  • 2=CROSSHATCHED,

  • 3=CHESSBOARD,

  • 4=DOTTED,

  • 5=HONEYCOMB,

  • 6=BRICK,

  • 7=IMAGE

Type: gridTypes

Super-types:

xs:int < gridTypes (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 3

Meanings of values: 0=cartesian (major), 1=isometric, 2=polar, 3=cartesian (minor+major)

Type: javaDouble

Super-types:

xs:string < javaDouble (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = Infinity|-Infinity|NaN|(-?[0-9.E]*)

Type: lineTypes

Super-types:

xs:int < lineTypes (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • value comes from list: \{'0'|'10'|'15'|'20'|'30'}

Meanings of values: 0=full, 10=dashed short,15=dashed long,20=dotted,30=dashed dotted

Type: nonNegInt

Super-types:

xs:integer < nonNegInt (by restriction)

Sub-types:

None

  • Base XSD Type: integer

  • value >= 0

Type: pointCapturings

Super-types:

xs:int < pointCapturings (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 3

Meanings of values: 0=off, 1=on, 2=on grid,3=automatic.

Type: pointStyles

Super-types:

xs:int < pointStyles (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • -1 ⇐ value ⇐ 9

Meanings of values: -1=use global default, 0=full dot, 1=cross, 2=empty dot, 3=plus sign, 4=full diamond, 5=empty diamond, 6=triangle north, 7=triangle south, 8=triangle east, 9=triangle west.

Type: positiveInt

Super-types:

xs:integer < positiveInt (by restriction)

Sub-types:

None

  • Base XSD Type: integer

  • value >= 1

Type: representation

Super-types:

xs:string < representation (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = array

Possible ways for representing coefficients, only 1 possibility in 4.0

Type: rightAngleStyles

Super-types:

xs:int < rightAngleStyles (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 3

Meanings of values: 0=none, 1=square, 2=dot,3=L (Belgian style).

Type: specialDouble

Super-types:

xs:string < specialDouble (by restriction)

Sub-types:

None

  • Base XSD Type: string

  • pattern = Infinity|-Infinity

Type: tickStyles

Super-types:

xs:int < tickStyles (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 2

Meaning of values:0=major minor,1=major,2=none

Type: tooltipModes

Super-types:

xs:int < tooltipModes (by restriction)

Sub-types:

None

  • Base XSD Type: int

  • 0 ⇐ value ⇐ 4