I am doing a XML-based workflow management system in Final year project.
I wanted to develop a GUI (drag and drop graphic) to define the rule of
workflow and save it to XML.
How can I generate graphic to XML format?
Don't. For that matter, don't "convert XML to graphics" either.
This is _NOT_ an XML problem. It's a fairly standard coding problem
involving a sophisticated user interface, that then has XML added to
the storage interface.
Forget XML (for the moment). Forget graphical interfaces (for a
little less time). Now design data structures that represent
workflow, and something like use-case modelling to describe how you
can use them. Write a program to start implementing this.
Of course, designing "data structures to represent workflow" might be
assisted by reading the many pre-existing XML-based standards for
interchanging workflow descriptions. It's not an easy problem (maybe
easy, but it's big) and it's useful to base this on other's thinking.
Think about your graphical editing problem. More code. Revised design
for the data structures.
You may find it useful to use a commercial graphic editor (maybe
Visio) to implement editing. This allows the users to keep a tool
interface they're already familiar with, and it saves a lot of dull
coding.
Now think about this XML business.You have an internal structure, and
you have one or more external XML schemas. How do you write in and out
of the internal ? How do you deal with the differences between
multiple external schemas ? Can you save in either of these formats ?
Above all, build an internal representation, a user interface for it,
and external interfaces for the XML storage. Don't try to use an XML
external format as the underlying basis for your editor. Even if the
two formats end up very similar, this should be an evident behaviour
(ie one that "comes out of the woodwork"), not a goal for how you
design it.
Is anyone call tell me what can I do for this?
It's a biggish project. It's worth getting some feel for project
management too. Take a look at books like McConnell's "Rapid
Development" and the chapters on iterative development techniques to
manage a project with an evolving requirement.
This is a pretty simple XML problem, but potentially a huge coding
exercise (It's quite likely you'll define a subset of "workflow"
functions, just to keep it manageable).
Even if your tutor is teaching an XML course here, it's still
reasonable to use a pre-existing schema for workflow. XML is, after
all, very much about "exchange" of data and so new schemas shouldn't
be invented when a pre-existing schema could be used instead. They'll
be equally impressed by an exercise in extracting a useful subset from
two of the commercial schemas and representing that well, instead of
writing some minimal new schema from scratch.
There are several shortcuts to writing this program. Hacking it up out
of pre-existing tools is good commercial practice, but I guess your
tutor is looking for some input at some point - although that's
something you have to judge for yourself.
Remember that you're _not_ building a useful tool here, you're
carrying out a programming exercise. As a tutor, I'd be much more
impressed by a tool that works well over the scope it sets out to,
even if this is a very minimal subset of "workflow", rather than a
poor tool that tries to cover every possible sort of workflow. I can
give you credit for demonstrating skills within an artificially short
timescale, even if this would have made the tool less than useful for
real work.
A good extra-credit feature would be a good approach to handling
multiple XML schemas for workflow. There are many standards for this
already, and showing a good grasp of the issues in translating in and
out of such things would be the sign of a good student. It's a very
important issue in XML / DAML research these days.