The diagram data is saved as JSON string which can be parsed in JavaScript natively. For other languages parsers can be found at JSON website.
Node and Arc objects.
{
"nodes" : [ node1, node2, ... ],
"arcs" : [ arc1, arc2, ... ]
}
{
"id" : The Node identifier,
"title" : The text inside the node shape,
"properties" : Contains user's properties defined as object with name value pairs.
"x" : x coordinate of the Node base point,
"y" : y coordinate of the Node base point,
"width" : width of the node shape,
"height" : height of the node shape,
"font" : font defined as FONTNAME-STYLE-SIZE, where STYLE can be one of: plain, bold, italic, bolditalic
"shape" : The node shape, which is one of: RECT, OVAL, RHOMBUS, NONE,
"icon_ref" : icon URL relative to the icon_base
}
{
"id" : The Node identifier,
"node1" : The identifier of the 1st Node this Arc is relate to,
"node2" : The identifier of the 2nd Node this Arc is relate to,
"directed": : true if the arc is directed, otherwise false.
"properties" : Contains user's properties defined as object with name value pairs.
"anchor1" : The connection point to the 1st Node relative to the Node base point
"anchor2" : The connection point to the 2nd Node relative to the Node base point
"points" : Array of coordinates of intermediate points as x,y pairs
}
icon_ref's are resolved.
The icon_base can be specified as a parameter of the applet. If it's not sepecified the icon_base in the diagram file but never uses the value
from the file. The icon_base value in the file can be used by off-line tools.hidden,
which can be any JSON object. The editor preservers it during the session and saves in the output file.
The developer can use hidden properties to safely keep application specific properties that
are not managed by the editor or shown to the user.