Current Data File Format


Regina data files are saved in an optionally compressed XML format. If a data file is compressed, it can be piped through gunzip to recover the plain text XML.

This reference chapter documents the various XML elements that form a Regina data file and how they are used. The top-level element for a modern (third-generation) data file is regina.

Regina's file format has gone through a few major changes over the years:

  • The third-generation format was introduced in Regina 7.0, and is the format described here. It is an XML-based format whose root element is regina.

  • The second-generation format was used by Regina versions 3.0–6.0.1, and is described in full detail in the archived documentation from Regina 6.0.1. This is also an XML-based format, but whose root element is reginadata. Regina can transparently read second-generation data files, and it can also write to them on request.

  • The first-generation format was a binary format used by Regina 2.4 and earlier, and was discontinued in mid-2002. Regina can no longer read or write to it at all.

Regarding international characters: As of Regina version 4.5 (May 2008), all XML data is encoded using UTF-8 (which includes plain ASCII as a subset). In versions 4.4 and earlier, data was encoded in LATIN1 without declaring this explicitly in the XML header; Regina is aware of this, and treats all older data files as LATIN1 when they are loaded.

Table of Contents

abeliangroup - An abelian group
angles - An angle structure list packet
anon - A collection of anonymous packets
anonref - Moves an anonymous packet into the packet tree
attachment - An arbitrary file attachment
code - An arbitrary amount of Python code
compact - Is a normal surface/hypersurface compact?
components - The components of a knot/link diagram
compressingdisc - Does a triangulation contain a compressing disc?
connected - Is a normal surface connected?
connections - The connections between crossings in a knot/link diagram
container - A container packet
crossings - The individual crossings in a knot/link diagram
euler - The Euler characteristic of a normal surface
filtercomb - A logical combination surface filter
filterprop - A surface filter that uses basic properties
filtertrivial - A trivial surface filter
fundgroup - The fundamental group of a triangulation
group - A group presentation
H1 - The first homology group of a triangulation
H1Bdry - The first homology group of the boundary of a triangulation
H1Rel - The relative first homology group of a triangulation
H2 - The second homology group of a triangulation
haken - Does a triangulation represent a Haken 3-manifold?
handlebody - Does a triangulation represent an orientable handlebody?
hypersurface - A single normal hypersurface in a 4-manifold triangulation
hypersurfaces - A normal hypersurface list packet
irreducible - Does a triangulation represent an irreducible 3-manifold?
link - A knot/link packet
orbl - Is a normal surface orientable?
realbdry - Does a normal surface/hypersurface have real boundary?
regina - An entire Regina data file
reln - A relation in a group presentation
script - A script packet
simplex - A single top-dimensional simplex in a dim-dimensional triangulation
snappeadata - A SnapPea triangulation packet
spanstrict - Does an angle structure list span a strict structure?
spantaut - Does an angle structure list span a taut structure?
splitsfce - Does a triangulation have a splitting surface?
struct - A single angle structure
surface - A single normal surface in a 3-manifold triangulation
surfaces - A normal surface list packet
tag - A user-assigned packet tag
textdata - A text packet
threesphere - Does a triangulation represent the 3-sphere?
tri - A triangulation packet
twosided - Is a normal surface two-sided?
txi - Does a triangulation represent the product of the torus with an interval?
var - A single script variable
zeroeff - Is a triangulation 0-efficient?