home::projects::xml-editor   TOBIAS GABELE  

visual xml-editor component in tcl/tk

The xml-editor component is written in pure Tcl/Tk and runs on all platforms supporting this language. It was one of the first XML-Editors for UNIX systems that frees the user from editing XML source code. It has been developed for and successfully applied in the ECOBAS Modelling Assistant project since 2000.

The component is designed for quasi WYSIWYG editing of XML-documents based on a Document Type Definition (DTD). The program aims to present the user a well readable representation of the XML content without having to specify stylesheets for every document.

The user sees a page with active regions that change into context-specific mini-forms once they are clicked on.  This allows convenient and safe editing of XML.



clicking on attribute text opens a little form just in place:


by clicking on the "+" button all optional attributes as defined in the DTD can be edited:

clicking on any editable content (either attribute data or element character data) closes the previous mini-form and activates a new one just in place



The start tags are nicely formatted according to default rules which can be customized. Right clicking a start tag opens a DTD-aware contextmenu which allows the user to create new child elements, cutting and pasting of  elements, editing of element XML source code, and more

For the advanced user, element source code can be edited or reviewed  at any time just in place:


Like in the XML-mode of  MS IE, each element containing child elements can be shrunk or "collapsed" by clicking on the little downward arrow next to the element name.

Shrinking of large elements gives a compact view of a document: 


  • element specific mini-forms can be specified as event handler procedures
  • helps to create valid XML since context menu actions are DTD-specific
  • copy and paste xml-fragments to and from the clipboard
  • automatically generates select menus if DTD specifies a set of options
  • combobox-dropdown menus are created if a listing-procedure (ie one that returns a database query result) is definded for an element/attribute
  • For maximum portability, the TclXML parser (by Steve Ball) is used by default. The Expat Parser (by James Clark) can be used optionally for increased performance if available as Tcl extension.


  • not well suitable for large xml files (thousands of elements) since every element is represented by graphical subwidgets
  • some code-adaption is necessary for use in new projects


  • Currently, there is no download package for xml-editor available
  • if you need the component (Tcl source code), customization, or more info, please contact T. Gabele.
  Copyright © Bierwirth & Gabele
uni-cms pico 0.7 [b&g]  
Admin: Tobias Gabele