After loading the share package the following operations are available.
OMPrint(
obj ) F
OMPrint writes the XML OpenMath encoding of GAP object obj to the standard output.
gap> g := Group((1,2,3));; gap> OMPrint(g); <OMOBJ> <OMA> <OMS cd="group1" name="Group"/> <OMA> <OMS cd="permut1" name="Permutation"/> <OMI> 2</OMI> <OMI> 3</OMI> <OMI> 1</OMI> </OMA> </OMA> </OMOBJ>
OMGetObject(
stream ) F
stream is an input stream with an OpenMath object on it. OMGetObject takes precisely one object off stream and returns it as a GAP object.
This may be used to retrieve objects from a file, for example:
gap> stream := InputTextFile(test3.omt");; gap> OMGetObject(stream); 912873912381273891or it can be used to retrieve them from standard input - one may paste an OpenMath object direcly into standard input after issuing GAP with the following commands:
gap> stream := InputTextUser();; gap> g := OMGetObject(stream);
OMPutObject(
stream,
obj ) F
OMPutObject writes the XML OpenMath encoding of the GAP object obj to output stream stream.
gap> g := [[1,2],[1,0]];; gap> t := ""; "" gap> s := OutputTextString(t, true);; gap> OMPutObject(s, g); gap> CloseStream(s); gap> Print(t); <OMOBJ> <OMA> <OMS cd="linalg1" name="matrix"/> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1</OMI> <OMI> 2</OMI> </OMA> <OMA> <OMS cd="linalg1" name="matrixrow"/> <OMI> 1</OMI> <OMI> 0</OMI> </OMA> </OMA> </OMOBJ>
OMTest(
obj ) F
Converts obj to OpenMath and back. Returns true iff obj is unchanged (as a GAP object) by this operation. The OpenMath standard does not stipulate that converting to and from OpenMath should be the identity function so this is a useful diagnostic tool.
OpenMath manual