I agree -- although schedule may be an issue. The
transformation to the text format for input into the
flowcharting app would probably be similar to the task of
transforming to the "flowchart primitives". I may go with
the flowcharting app solution for the first deadline, then
perhaps switch to a pure SVG approach.
> haven't already, you should Google for XML, flowcharts,
SVG, XSLT. And
> if we're lucky we'll hear more ... watch this space.
Done a fair amount of looking around, but more focused on
flowcharting apps that accept text as an input. Next week
I'll do more specific searches in support of a pure SVG
approach. And I'll look for replies to this post of course!
I looked at this problem some time ago and came to a couple of
conclusions.
1. Easy enough to draw the shapes you need. Even easier in XSLT 2.0
with user functions.
2. Not quite so easy to wrap the text inside the shapes, though
its probably doable with a little human intervention.
3. Its a pig to place the shapes on a blank page.
4. Its a pig to link them 'nicely', with shapely lines.
My solution was to shift the problem to java or graphviz.
The java looks something like
fc.process(100,100,"Process one");
fc.process(260,190,"Process Two");
fc.carr ( fc.processHook(100,100,RHS),
fc.processHook(260,190,LHS),"From Process one to process two." );
fc.file(260,100,"File Store");
fc.carr(fc.processHook(100,100,RHS),fc.dsHook(300,300,LHS),"From
process 1 to dstore");
fc.document(300,400,"document");
fc.carr(fc.processHook(260,190,RHS), fc.processHook(300,400,LHS),
"From process to document");
fc.carr(fc.processHook(100,100,RHS), fc.processHook(260,100,LHS),"From
process to fileStore");
fc.carr(fc.processHook(100,100,RHS),
fc.processHook(500,400,LHS),"From 1-4");
fc.carr(fc.processHook(500,100,LHS),
fc.processHook(100,400,RHS),"From 2-3");
fc.carr(fc.processHook(500,400,LHS),
fc.processHook(100,100,RHS),"From 4-1");
fc.carr(fc.processHook(100,400,RHS),
fc.processHook(500,100,LHS),"From 3-2");
fc.circle (600,300,"connector");
fc.carr (fc.processHook(100,100,RHS),
fc.circHook(600,300,LHS),"From 1 to circle");
with the circle, document, file being shapes, and carr being curved arrows.
Summary, its doable, but not nice, not flexible.
The xml approach combines human assistance with xslt.
Ask the person to layout the drawing, i.e. specify the x,y coordinates.
Use xslt to draw the shapes, insert the text (this list will help you get
over the shortfall in svg 1.0 whereby they can't wrap text) and maybe
even add the arrows.
Graphviz addresses most of these problems, including placement, though it
may not be to your liking as a human, its generally very good for less
complex
drawings. Also outputs SVG as an option.
If you mandate a human review/edit as the final step, even if its just
to check what your code has done, then I guess you'll have a solid process.
As Wendell says, a real development area for xml xslt and svg, and quite
novel, as google shows.
HTH DaveP.
** snip here **
-
DISCLAIMER:
NOTICE: The information contained in this email and any attachments is
confidential and may be privileged. If you are not the intended
recipient you should not use, disclose, distribute or copy any of the
content of it or of any attachment; you are requested to notify the
sender immediately of your receipt of the email and then to delete it
and any attachments from your system.
RNIB endeavours to ensure that emails and any attachments generated by
its staff are free from viruses or other contaminants. However, it
cannot accept any responsibility for any such which are transmitted.
We therefore recommend you scan all attachments.
Please note that the statements and views expressed in this email and
any attachments are those of the author and do not necessarily represent
those of RNIB.
RNIB Registered Charity Number: 226227
Website: http://www.rnib.org.uk
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list