Screamin Igel logo    
  gNaXEL Graphical XML Editor  
 
 
 
    If you have any questions about our open source programs, or wish to obtain more information on our products, then please send a message to OpenSource@artige.com and we will happy to handle your request.
 
 
 
    gNaXEL is a graphical XML editor that resembles XML Notepad. Intended as a learning tool, to instruct on the methods of working with XML technologies. It allows the user to view XML files in a hierarchical manner using a tree-view control. One can also see a textual "as-is" representation of the same XML document. The XML document can be edited using gNaXEL, and also be validated against a DTD.
 
    The gNaXEL program is being offered under open source license, so that it could be extended by the user as need be. The program will eventually have additional XML technologies added to it, such as XML schema validation, XSLT style sheet editing and processing, along with minimally functional DTD, XML schema and RELAX NG vocabulary editors. This program was written as a companion to a pair of XML textbooks, insuring that a no-cost graphical editor was always available on many platforms to work out the textbook exercises.
 
 
 
  Available on this page:   Preview   Background   Release Schedule   Downloads
 
 
 
Preview   Screen shots
 
    Below are two screen shots, both taken using a sample XML file that appears in the "Introduction to Applied XML Technologies in Business" textbook, that being Figure 2-5. The first view is from XML Notepad as used in the textbook, and the second view is generated from our gNaXEL XML editor that is currently under development.
 
    XML Notepad
    XML Notepad editing the file used for Figure 2-5
 
    Artige XML editor
    gNaXEL editing the same XML document as above
 
 
    A third view was added, to show how gNaXEL handles the editing of XML documents with attributes. This document was taken from Figure 2-14 of the textbook.
 
    Artige XML editor with attributes
    gNaXEL editing the XML document used in Figure 2-14, which includes attributes
 
 
 
Background   History
 
    gNaXEL started off as XML gNotepad, written in gcc and GladeMM on Red Hat 7.1. Problems in versioning cropped up once Red Hat adopted gtk 2, and GladeMM was not ready (doubt if many programmers were ready for that quick change). So the decision was made to aim for Java using Eclipse. This falls in line with the decison to use Eclipse as the coding environment for the next textbook. While there is a performance hit with Java, Eclipse brings with it the SWT library, which promised faster graphical performance.
 
    One of the major obstacles in writing a graphical XML editor is the requirement for a "TreeList" UI control. GTK version 1 had a version, but it was restrictive. SWT has none worth talking about. So the design decision was made to write one from scratch, to meet the needs of displaying an XML document. At present the TreeList control resides in a separate class; the only thing stopping us from packaging the control into a JavaBean is time, and the lack thereof.
 
    Design differences between gNaXEL and XML Notepad
 
    1- It is open source (GPL), so you can extend it to meet your own needs, plus you can see one approach to writing a graphical XML editor, another training tool.
 
    2- gNaXEL uses Xerces XML libraries.
 
    3- It can open mal-formed XML documents, up to a point. Using Xerces SAX reader, partial XML documents can be parsed.
 
    4- Handles text nodes differently - performs a normalization technique that assumes whitespace from a greater than character to the first non-whitespace character, and the whitespace from the last non-whitespace character up to the next less than character is undesired whitespace, and disposes of it in the info-set. New whitespace is generated when the XML character data stream is persisted, which may or may not match the original whitespace.
 
    5- Cannot grab the mouse in SWT - so the "View-Split" functionality cannot be replicated. Not a big loss, though.
 
    6- Toolbar cannot be dynamically moved, as SWT does not provide for docking toolbars (gtk did). Aggravating, as horizontal toolbar can get in the way at times.
 
    7- Will accept PI nodes, unlike XML Notepad. gNaXEL will not do anything with these nodes, just carry them and allow them to be edited.
 
    Expected New Functionality
 
    1- CDATA normalization will be controlled by a preferences flag. Currently, CDATA sections are normalized when the XML document is parsed. Character entities are generated to replace any characters that cannot be represented when the XML character data stream is persisted. Some whitespace may be lost in the current process.
 
    2- Plan to drop the DOM and rely solely upon the SAX parser to fill in the info-set for gNaXEL. This will require adding some global counters and search capabilities, which will be required anyhow, once the program is fully fleshed out.
 
 
 
Release Schedule   Trial Version 0.1 gNaXEL Release
 
    This version is now complete and can be collected below.
 
    Initial public Version 0.11 gNaXEL Release [latest release]
 
    This version is now complete, is now being hosted at SourceForge. SourceForge.net Logo
 
    Details and downloads can be collected from http://sourceforge.net/projects/gnaxel/.
 
    What will NOT work until gNaXEL Version 0.2 Release:
 
    1- Editing functions driven by the program:
        cut, paste structural changes, etc.
 
    2- Add enabling capabilities for editing
 
    3- Dynamically adjust textbox widths to match width of contained text, adjusted against preset minimum width and maximum of canvas width.
 
    What will NOT work until gNaXEL Version 0.3 Release:
 
    4- Better status bar messages.
 
    5- Search (find / replace).
 
    6- Complete preferences (access to options offered by Xerces).
 
    7- Settle on method for archiving preferences.
 
    What will NOT work until gNaXEL Version 0.4 Release:
 
    8- Add URL open capability.
 
    9- List of last files loaded (MRU).
 
    10- Command line parameters (open file from command line).
 
    What will NOT work until gNaXEL Version 0.5 Release:
 
    11- Help facility.
 
    12- I18n (do German first).
 
    What will NOT work until gNaXEL Version 0.6 Release:
 
    13- Web browser view driven by XSLT (based on SWT browser control).
 
    What will NOT work until gNaXEL Version 0.7 or Version 1.0 Release:
 
    14- Explicit namespace support (not in XML Notepad either).
 
    15- DTD / Schema facilities.
 
    16- XPath searching and XSLT functionality.
 
    17- Rudimentary DTD authoring (ability to create DTDs used in the "Introduction to Applied XML Technologies in Business" textbook).
 
    18- Rudimentary XML Schema authoring (ability to create schemas used in the "Introduction to Applied XML Technologies in Business" textbook).
 
    19- Formalize canonical form processing.
 
 
 
Downloads   Prerequisites:
 
    1- Java (we used Sun J2SE version 1.4.2)
       >> last accessible from here
 
    2- Eclipse IDE (we used version 3.0.0)
       >> last accessible from here
      * at a minimum just get the SWT libraries installed for your platform, listed under "SWT Binary and Source"
 
    3- Apache Xerces Java Paser 2.6.2 Release
       >> last accessible from here
      * Do not use Release 2.6.1, had CDATA / Entity Reference bug!
 
    gNaXEL V0.11
   Latest
This zip file contains the Java classes required to run gNaXEL on a Linux workstation. It includes the compiled classes, resources and source code. There is also a README file and a shell script that will launch the editor. The README document explains how to modify the script so that it represents your particular operating environment. All that needs to be modified are the variables pointing to the location of the program files and the prerequisite libraries listed above. You will need to understand the operating philosophy of a Linux workstation, and how applications are launched there, in order to tweak the launching script. Of course you knew that already, since you installed Eclipse on your workstation.
    gNaXEL V0.1 This zip file contains the Java classes required to run gNaXEL on a Linux workstation. It includes the compiled classes, resources and source code. It ran on Sun J2SE version 1.4.2, Eclipse IDE version 2.1.3 and Xerces Java Paser version 2.6.2
 
 
 
    Return to open source page Navigate to home page
 
 
 

Valid XHTML 1.0! Valid CSS!

All rights reserved.   All site content copyright © 1997-2005 Artige Company     For more info... Legal      For more info... Privacy Policy
Last updated:
24-February-2005 14:19z