A template-based XML editing program for the average Joe
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


XML Template-Based Editor
Created by: Jeffrey Sweeney

V13 (6/13/12):
- XMLEditor is going to be rewritten from the ground up to use DTDs as templates.
* Fixed a number of bugs.

V12 (6/12/12):
- Still need to fix localStorage bug
* Revamped loading functionality: files can now be loaded via URL
* Added template loading functionality
* The XML view can now be hidden entirely

V11 (6/5/12):
* Re-wrote much of the code (100 less lines)
* Template is now XML as opposed to object literal. Means of generating and uploading template files is underway (and what better way to make an XML template than with the XML template editor?)
* Added ability to save and load multiple documents within the editor
* Added a state saver: if the window is closed out, the previous usable XML document is saved.
* Extended the documentation

V10 (6/3/12):
* XSS Prevention now in place (it was never a problem in the program, but could be visible in the finished product)
* Added menu options (WIP), including:
	* Help (Tells how to use the program)
	* Options (Toggle some program parameters)
	* About (Links to contributors)

* Undo buffer length's default is now 20
* Added option that allows the user to change the length of the undo buffer.
* Added option that allows the user to change the program's output mode to condensed (the undo buffer also stores this condensed XML to save space).

V9 (5/28/12):
* Buttons are now added in the correct order
* Added an undo/redo feature (ctrl-z and shift-ctrl-z)


XML Template-Based Editor is an entirely client-sided GUI-based XML editing and creation webapp. It allows the web developer to specify the naming conventions and requirements, while allowing the average Joe to actually add the data.

How it works:

First, the template file is loaded. The template is an XML file with various properties describing the allowed tag types and attributes of an XML document.

Next, the XMLEditor object is created.

Whenever a user creates, deletes, or updates a tag on the GUI screen on the left, the actual XML code is output on the right. If the user clicks the Load XML button above the XML code text area, the data is parsed and displayed in the GUI layout, and then output on the XML display again.


Currently, the "data.xml" file is the XML template, and modifying this will change what types of tags the user is allowed to make. In the future, means up uploading custom templates will be implemented.