By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
458,052 Members | 1,231 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 458,052 IT Pros & Developers. It's quick & easy.

Graphical interfaces on complex XML documents

P: n/a
Over the past years i've been in contact with the same problem a
number of times, creating a graphical user interface on complex XML
documents. Personally these solutions have never been satisfactory to
me as a developer. I am not sure if this is caused by the way i've
approached the problem or that it is the maturity of current day XML
technologies.

Let's say we are developing Form interfaces on complex XML documents
which have a repetitive and selection (choice) based structure. Users
have to be presented with a userfriendly interface so they are able to
manipulate the data that is present in the documents.

While defining a solution for the problem things dont appear too
complex. All needed technologies seem at hand and are standardized.
XML document are used for data encapsulation, XPath for data querying,
XSD's for validation and XSLT for generating the interface. However if
we get to the development phase things become more complex.

The designers in the project are given the task to create an interface
on the document. They are handed a representation of the XSD's, for
example a XSD Design printout of XMLSPY, and additional
field/structure specific information. Defining an interface on the
hierarchical and repetitive data is daunting task, especially if there
is high cohesion (which probably always is the case) in the hierarchy.

Once the designers are finished, it's up to the developers to
transform their idea's into HTML forms. They will be using XSLT for
generating these. If the data was non-repeating development of the
interface wouldn't be that complex, but once there is a degree of
repeating and choice based nodesets the situation gets difficult.

The repeititve data could be implemented using DHTML or perhaps popup
windows. For showing/hiding the choice based nodes however we would
probably be required to use DHTML. This will quickly result into an
uncontrollable collection of templates and XPath queries.

When using large documents the length of the Form will be enenormous.
To give the users a better way on handling these documents we'll have
to cut the main XML Document up into smaller fragments. The XML
hierarchy limits us in our choice of interface, child nodes simply
cant exist where no parent has been defined yet. Because of that users
wont be able to manipulate content as they have become used to in
current day interfaces. Recombining the fragments will be quite
complex too and will in most cases have to be performed clientside.

Recently we've been starting to see the appearance of ActiveX
components that allow us to "draw" user interfaces on XML documents.
These components promise to solve choice and repetition problems, but
in reality this is not as bright as it seems. A big disadvantage of
these components is that we become dependent on a commercial third
party, which just doesnt feel right for an open standard as XML.

It appears as if we are missing specific technology that will help us
to define userfriendly interfaces on XML documents. Currently the
tools we've been handed seem too lowlevel to decrease development time
and to improve program maintenance and flexibility. Converting dynamic
XML data into a static format as HTML just doesnt feel like a fitting
solution. Perhaps we're in the need of a web browser like application
that provides a standard way for manipulating XML data.

I wonder if there are people who managed to get past these problems
and as a result are able to easily and quickly define userfriendly
interfaces on their XML data.

Here ends the rambling of bitter developer ;)

Marc...
Jul 20 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.