Yahoo! Directory > Computers and Internet > Data Formats > XML > Software > XAmple

Want to edit your images/photos online for free? I mean real artistic full-featured editing... And there is much more - the tool is extremely innovative and unique!
Please visit my Online image editor and photo retoucher Whimagic:

Free of charge. No registration required.

xample_logo.gif (2517 bytes)

XAmple - Java XML Editor of a new kind.

XAmple XML Editor v2.2
now available!
(see release note)
Author: Felix Golubov
XML Editor Applet : XML Editor Swing Component : Generic XML Configuration Tool : GUI Generator : Generic XML Schema-Driven Dialog Buyer's Guide

About XAmple XML Editor
        XAmple XML Editor project introduces a java Swing based XML editor that analyzes a given schema and then generates a document-specific graphical user interface. Unlike other XML editors, the XAmple XML editor GUI exposes not just a tree representation of the XML document but rather a logical combination of the XML document and respective XML Schema. The user interface of the XML editor is highly logical and intuitively comprehensible. To be able to prepare valid XML documents of significant complexity, a user is not required to be familiar with XML and XML Schema languages and to have any a-priori knowledge about the documents structural requirements.
        The current version of the XAmple XML editor uses Xerces 2 Java Parser 2.5.0 (see, developed under the Apache Software License (see
        The project currently includes a simple set of XML viewer/editor Swing components (FXBasicView, FXView and FXDoubleView), XML editor data model object FXDocumentModelImpl, sample XML Editor application XAmple and XML editor demo applet FXApplet. FXBasicView Swing component provides all the basic XML viewer/editor functionality. FXView extends FXBasicView with a simple tool-bar; FXDoubleView exposes two FXView components, one in Editor mode and another one in Viewer mode (see Version 2.1 Release Notes).  

       The XML Editor is currently intended for two different purposes:

  • It can be used as a generic xml-configuration tool, integrated with some major java products (application servers, IDEs, etc.). Currently the process of adding new features to the xml configuration involves development of new versions of some tailor-made configuration tools (xml-generating wizards). Generally it is much less expensive to utilize XAmple XML Editor and prepare just a new versions of the XML Schema document when needed.

  • Usage of XML editor component within a java application provides the application with ability to edit arbitrary set of xml documents of different types. Besides, the XAmple XML editor represents an ultimately flexible schema-driven dialog and thus it can be used as a schema-driven data entry form, etc.

XML Editor Online Demo
See XAmple XML Editor 2.2 Online Demo
(unsigned Swing applet)

        The XML Editor Online Demo represents an unsigned Swing applet. To see it you have to have JRE 1.4.x with plug-in installed on your computer. Normally the XML editor applet receives XML and Schema URLs from the applet parameters on the html page, dynamically generated by a servlet and posts edited XML content to a servlet URL, defined within applet parameters. This particular Demo doesn't include sevlets but uses Javascript code instead. Unfortunately, some types of browsers process first mixed Javascript/Java call with a significant delay (whereas all the sequential calls are quite fast). The Demo page contains brief user manual on the right-top frame and list of available sample XML documents on the right-bottom frame. To load an XML document from the list into the XML Editor you have to just click at the link and wait until the document appears.
Download XAmple XML Editor
Download XAmple 2.2 Application -
 - 1.9 MB.

        Although XAmple is a full-blown application and can be used "as is", it has been developed mostly as an example of how to use FXDoubleView Swing component. The full source code of the XAmple application is available to the developers without any restrictions for its usage. You may try to use XML Editor Swing components (from xmleditor.jar) with your own projects.

Online Documentation
See User Manual
See XML Editor API Documentation

        Currently XAmple XML Editor documentation includes User Manual and XAmple XML Editor API Documentation (javadoc). The User Manual describes the XML editor features and provides detailed explanation of how to customize XML Schema documents with application-specific "appinfo" information. The most important (and the most thoroughly prepared) part of the API documentation is documentation for the com.fg.xmleditor package, which includes FXBasicView, FXView and FXDoubleView XML editor/view components and FXDocumentModelImpl data model. The API documentation for all other packages currently is quite sketchy (the API documentation will be completed soon!).

V2.2 - Release Note.
When grouping of child elements in a complex element definition is not trivial, XAmple XML editor exposes such an element as a sub-tree, which consists from group-folders, array-folders and child elements. Generally a reconstruction of grouping structures from a sequence of child elements represents a complicated combinatorial problem, which sometimes has multiple solutions. XAmple XML editor v2.2 introduces an entirely new "reconstruction" algorithm which overcomes all the shortcomings of the previous one (package com.fg.reconstructor). An XAmple XML editor 2.2 distribution package includes a new example "Wild-xsd-groups" which demonstrates an ability of the XML editor to resolve correctly non-trivial combinatorial problems of reconstruction of hierarchies of XSD groups for given sequences of child xml elements. The "Wild-xsd-groups" example works incorrectly with the old release (v2.1) of the XAmple XML editor.

My greatest thanks to Jing Yang who tested XAmple XML editor 2.1 and pointed out some existing problems with the reconstruction of XSD grouping structures. His findings provoked me to rethink the whole reconstruction algorithm and helped me to come up with an ultimately generic and virtually impregnable solution.

V2.1 - Release Note.
XAmple XML Editor 2.1, while continuing using an XML Document/Schema hybrid tree for the document editing, introduced an additional view mode, which shows a real structure of the resulting XML document. A user can switch between Editor/Viewer modes on a single tree view or use separate Editor and Viewer tree views, situated on a split-pane. Optionally, a user can synchronize navigation through nodes of these tree views. When navigation is synchronized, a user can add, remove or edit elements in Editor tree view and immediately see changes on Viewer. When navigation is not synchronized, a user can search a document for certain element/attribute values in one view, maintaining at the same time current position in another view. The additional Viewer mode is especially useful for editing documents with heavily nested elements and elements with numerous optional child elements.
V2.0 - Release Note.
XAmple XML Editor 2.0 uses Xerces XML library, which generally is more restrictive than Oracle XML Schema Processor for Java Version which was used in the previous versions. Since Xerces doesn't allow user-defined attributes to be used immediately within xsd:appinfo tag (like <xsd:appinfo fg:exposed="true">), it was impossible to keep the former syntax of custom appinfo declarations unchanged. If you have already prepared some XML Schema documents for the previous XAmple version, please read  User Manual and change custom appinfo declarations accordingly new rules. Besides, Xerces library, strictly following XML Schema rules, doesn't allow some constructs (like use="default" in attribute definitions), which were tolerated by Oracle XML library.
XAmple XML Editor Ratings/Awards.
5 stars rating at

5/5 rating at TopShareware

5 Stars rating at

5/5 rating at PopularShareware

5 stars rating at

5/5 rating at ShareUp

5 stars rating at

5/5 rating at FileHeaven

BrotherSoft 5/5 Award

5/5 rating at BrotherSoft

5 stars rating at

5/5 rating at FindApp
4-disks award
4/5 rating at GlobalShareware

4 stars rating at

4/5 rating at Download2you
5/5 rating at ShareTool
Author's Note.
       Dear Colleague! The XML editor, which I'm happy to introduce to you, is a quite new product. The approach it exploits currently has no analogues in the industry. By integrating XML editor component with your java application you can provide the application with the ability of editing of various documents of different types. It is quite possible that potentially your project can benefit from the usage of a GUI-generating XML editor component, but  current version of the XAmple XML editor doesn't provide some of the features you need. I'll be absolutely happy to enhance my product accordingly your particular requirements and help to integrate it with your project.

Please feel free to contact me:   --   --

Best regards,

Felix Golubov,
Studio City, CA, USA
October 30, 2003

Copyright © 2003 Felix Golubov. All rights reserved.