RE: [xsl] Output of a FLowchart from XML

Subject: RE: [xsl] Output of a FLowchart from XML
From: cknell@xxxxxxxxxx
Date: Fri, 05 Mar 2004 14:56:49 -0500
If you read the thread that I started, you will recall David Pawson's suggestion of the ATT free software tool set called "graphviz".

http://www.research.att.com/sw/tools/graphviz/

I have worked with it some over the past several days. My process involves transforming my XML data source document to graphML, then I transform the graphML document to the "dot" language understood by the directed graphing program "dot" that is a component of graphviz. This is a very easy language to understand and produce via an XSL transformation. At that point I have a dot program that I run through the dot, er, formatter? I can choose the output format with a command-line switch. So far I have produced SVG, encapsulated PostScript, PNG, and GIF.

Why are you still reading this? You should be downloading the program and documentation already!

-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Sam Byland <shbyland@xxxxxxxxxxx>
Sent:     Fri, 5 Mar 2004 13:35:10 -0500
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject:  [xsl] Output of a FLowchart from XML

Hello all,

I am fairly new to this list, but not to XSLT.  After reading the "Network
diagram - node set intersection" thread I decided to post this question
(perhaps graphML/SVG or something else, or a combination, will help us).

Some background:  a few years ago we decided to use XML and XSLT to solve a
"documentation" problem in our industry (we consult in the area of Satellite
Design and Operations).  Our clients often face the problem of developing
and maintaining operational information in multiple places and formats.  For
example, for a given task or operation, there is usually

1) a technical document maintained by the engineers filled with background
and equations, explaining the sequence and often answering "why" things are
done in the order specified.  Format is usually MS Word or similar.

2) an operational document maintained by satellite operators.  Rarely if
ever addresses "why", only "how" in gory detail, usually specific to the
"syntax" of the specific ground software used to operate the satellite.
Format is usually MS Word or similar.

3) an "automatic software" procedure, called out via document from 2) above
and runs within the specific ground software; these are text files of
software code conforming to a specific syntax.  One or more of these for
each item 2) document.

We have created a DTD defining a procedure-like source document (I suppose
it's now a new Markup Language?) and stylesheets to output the three kinds
of formats listed above (although we're not done with them; still working on
item 3).  However, our main client (who has been quite happy with our
product so far) has asked if we can output Flowcharts corresponding to the
software files of item 3.

Initially, I quickly abandoned SVG or Visio XML as it looked like the
stylesheets would have to "create the drawings" and line connections along
with where they need to appear on the page.  This sounds like a lot of code.
The other option we've been looking into is flowcharting applications that
support some kind of text-to-flowchart capabilities.  We think we have a
working solution here, but it requires extra steps to get to the final
output (graphic files to eventually end up in the Word documents of item 2).
The process would be something like a) stylesheets to output text in the
flowcharter's "syntax", b) open each file in the flowcharting application,
c) do some touch-up work within the app, d) save and export to JPEG or
similar format).

It occurred to me that if there exists the right bundle of tools somewhere,
perhaps we could use SVG in some way as to bypass a number of manual steps
associated with the flowcharting application.  Any ideas?

Our source XML files look something like:

procedure
    purpose/
    discussion/
    instruction
        step
            "action" elements
        /step
        step
            etc
    /instruction
    instruction
        etc.
/procedure

where purpose and discussion contain paragraphs of text/equations to
describe the activity, one or more instruction elements provide the
operational steps for each task, and one or more step elements contain the
various "actions" such as command transmission and execution, and telemetry
verifications.  In general, each step element would result in a particular
kind of flowchart box (with, say, the title inside and bolded), and each
action element would result in it's own box (or perhaps groups of action
elements in a single box), with connectors needed for "if" statements and
"goto's" etc.

Sorry for the long-winded post :)

..sam

Sam Byland
byland@xxxxxxxxxx
www.moltek.com


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread