Shrimp, Jambalaya, and Creole all support GXL - the Graph eXchange Language (assuming that the gxl.jar file is on your classpath which it is by default).
A sample GXL document is shown below to help you get started with using GXL with Shrimp:
<gxl>
<graph id="graph">
<node id="Child1">
<type xlink:href="Function"/>
<attr name="color"><string>#FF0000</string></attr>
<attr name="OuterBorderColor"><string>#00FF00</string></attr>
</node>
<node id="Child2">
<type xlink:href="Function"/>
<graph id="subGraph">
<attr name="display"><bool>false</bool></attr>
<node id="1"></node>
<node id="2"></node>
<node id="3"></node>
</graph>
</node>
<node id="Child3">
<type xlink:href="Function"/>
<attr name="Source Code"><string>source code</string></attr>
<attr name="color"><string>gray</string></attr>
<attr name="OuterBorderColor"><string>yellow</string></attr>
<attr name="OuterBorderStyle"><string>Dashed</string></attr>
</node>
<node id="Child4">
<type xlink:href="Method"/>
</node>
<edge from="Child1" to="Child2">
<type xlink:href="calls"/>
<attr name="color"><string>green</string></attr>
</edge>
<edge from="Child1" to="Child3"><type xlink:href="calls"/></edge>
<edge from="Child1" to="Child4"><type xlink:href="accesses"/></edge>
</graph>
</gxl>
The Shrimp GXL parser supports a few special attributes worth mentioning:
- color - sets the color of a node or arc
- OutsideBorderColor - sets the color of the outer node border
- OutsideBorderStyle - sets the node border style, can be one of "Plain" or "Dashed"
- InsideBorderColor - sets the color of the inner node border
- InsideBorderStyle - sets the node inner border style, can be one of "Plain" or "Dashed"
- display - controls whether sub graphs are drawn as nodes. If set to true (the default behavior) then the graph will be drawn as a node, and then child nodes will be drawn inside the graph node. If false the child nodes will be drawn inside the parent node (no intermediate graph node). This attribute is only valid on <graph> tags.
Note #1: Colors can be defined in two ways: either as the hexidecimal string like #FF0000 for red, or just the color name like red. Only 13 colors are available by name (this is what Java defines): black, blue, cyan, darkgray, gray, green, lightgray, magenta, orange, pink, red, white, and yellow.
Note #2: By default Shrimp does not display inner borders. To render inner borders go to the Node Filter panel and configure the appropriate node type. See the screenshot below.


