Wednesday 8 April 2009

Darwin XML Tester Utilities on Sourceforge

A few weeks ago I requested a project on Sourceforge to host our XMLTester toolset. It was granted by the Sourceforge admin team, so I am now able to transform my toolset project to a real opensource project. You can find the project at
For the download I used my own deployed directories and zipped them. In the near future, when I get familiar with the sourceforge capabilities, I hope to create a more nice deployment with a nice description on the use. Also I'll include a seperate export of the sources. But for that I have to create a tag on which I also base the deployment. So that I ensure that the sources are in line with the deployement.
The toolset exist of:
  • Hierarchical XMLEditor, that is also available in a standalone app.
  • Plain XML Edit Panel
  • XPath edit/test Panel
  • XSLT edit/test Panel
The plans I have for the toolset are the following.

  • Enhance the exception handling and perhaps logging
  • Add copy and paste capability to copy a child-node to another parent
  • Enhance the copy-node capability to include attributes and child nodes (now it just creates another node with the same name within the same parent).
  • Add insert new node within the child-table. Now you have to first click another sibbling node within the same parent, click copy-node and then click on the parent to edit the attributes.
  • Give the buttons nice icons instead of the text (text to tooltips).
Basically this is a simple panel with a TextArea in a Scrollpane. The only smart thing it does that is that the scrollpane resizes with the main-frame.
The textarea should be replaced by a text-editor. Preferably one that supports keyword highlighting and that is expandable so that you can do neat tricks like keyword-completion etc. There are opensource plugable editors that do this. So I have to find out which one to use.

XPath Panel
Lately I found out how to use Namespaces in xpath queries in Java. I wrote about it in this blog. So the main thing I want to do here is that it finds the namespace declarations in the xml and put them in a pop-list as well as in a namespace-resolver. And of course a button that adds the choosen namespace to the xpath query. Also it should be aware of the existing nodes that are valid on the particular level. So that it adds them automatically.

XSLT Panel
Besides extending the Error handling like mentioned in the XML Editor to-do list I want to replace the TextAreas with TextEditors here as well.

I already created a simple solution to do XSLT in batch. You can create a simle xml file that contains several rows of xml, xslt and output combinations that it will perform in sequence. I want to create a nice screen that enables you to edit and execute this batch-file.
Also I think of creating a database connection, because in some of my projects I used this to create objects based on xml-queries in the Oracle database. So if I have a table in which I have these XML files, I would be able to create this bulk file from that.

JDeveloper Plugin
Lately I downloaded a tutorial that shows how to create a JDeveloper plugin. Now I know that JDeveloper is perfectly capable of editing XMLFiles. It has much more functionality then I'll plan to include. The nice think of this toolset is that it is simple and small. It should not exceed much more than a few hundreds of kilobytes.
But the hierarchical XML Editor would be nice to have as a plugin. Also the bulk XSLT could be a nice JDev plugin.

I feel that I forgot something that I came up with lately. So ofcourse during time I'll find other nice functionality. If you have any ideas feel free to leave a comment. I keep you posted.
Of course there are much other tools that can do the same and often much more. JDeveloper I allready mentioned, is also free to use. Darwin-IT stands for knowledge sharing. Expanding the Oracle Consultant market with improved skilled people, through workshops, trainings, coaching on the job and for example this blog. I feel that this open source project is also a nice way of sharing knowledge. And an effective way to learn myself. And it gave me a productivity boost on some of my project.
I happily use the XMLEditor regularly to edit my xml file with Bookmark-links. I created a xslt that is referenced in this xml file and that transforms the XML to a html page with the bookmarks in poplists. The XML file is my Home-page in my browser. Maybe I'll package that also as an example project.

No comments :