drawstatexml.pl - turns a simple xml description into a state diagram
drawstatexml.pl diagram.xml > diagram.svg
java -jar batik-rasterizer.jar diagram.svg
The xml format is described by the (unenforced) dtd in the samples directory
included with the distribution. The advantage of the xml format is that it
lets you name the states and specify edges in terms of the names. The samples
directory also includes examples in the files ending in xml. See the
If you don't like xml, feel free to use the text format supported
by drawstate.pl. You could also use UML::State directly to support a format
of your choice.
The state.dtd description is not enforced. This can lead to hard to diagnose
errors in the input file.
All edges using the same label must be in the same transition_set
tag. If a transition_set tag repeats a label used by an earlier
transition_set tag, it overwrites that transition_set. (Think of the labels
as hash keys, I do.)
The bugs in UML::State apply here as well, since this script uses
it to make the pictures. See perldoc UML::State for those bugs.
Phil Crow <email@example.com<gt>
Copyright 2003 by Phil Crow. All rights reserved. This is free software. You may
modify and/or redistribute it under the same terms as Perl 5.8.0.