This is a XmlTool draft documentation. The final release coming soon.

XmlTool is a multi-purpose tool for XML.
Include a Visual Editor, permits many format conversions and include a GUI generator from a GuiXml file.
Another function is the XSL and DTD (in progress) generation.

Table of contents

Document Status Sheet

Table 1 - Document Status Sheet
Document titleXmlTool documentation
Ref. NumberXTO-0099
Issue Revision Author Date Reason for change
00.99 01 Alberto Bellina 21/01/2000 First public release

Document Change Record

Document Change Records made since last issue.
Document Change Record
Date 21 Jan 2000
Originator Alberto Bellina
Document Title XmlTool Documentation
Document Ref.No. XTO-0099
Document Issue/Revision No. 1
Page Paragraph Reason for Change
... ... ...

List of Figures

List of Tables

Table 1Document Status Sheet
Table 2...

1 - Introdution

XML is a growing standard.

XmlTool collect some request from the users and collapse it in a unique tool.
You can usa many functions today in many separated commercial products using a common useful user interface.

This is the simple idea, XmlTool realize it.

With XmlTool you can:
With XmlTool you can load, edit/modify, save your XML files.
Also you can operate on the visual tree for modify or move (drag&drop) the nodes.
Manage the XML entity: PI, CDATA,COMMENT and TAGS.
XmlTool is developed using ONLY Visual Basic 6, none of existing library is used.

This version is freeware (a limit of print, save files is inside), view the instructio to registering.

1.1 Purpose of Document

The purpose of this document is to describe XmlTool.
This document is located at: http://b62.tripod.com/vbwork/xmltool.htm.

1.2 Scope

1.3 Definitions, acronyms and abbreviations




1.4 References

1.5 Overview of Document

2 - General Description

XmlTool is a multi purpose tool for XML language.
The main features are:

2.1 Visual Editor

XmlTool user interface is simple and intuitive.
The XML source is represented graphically.
Any type of XML element are represented by different icon.
The main window is divided in 2 parts: With XmlTool you can load, edit/modify, save your XML files.
Also you can operate on the visual tree for modify or move (drag&drop) the nodes.
Manage the XML entity: PI, CDATA, COMMENT and ELEMENTS.

Any type of object or file read in put in the tree.
When the tree is filled with data you can operate on the nodes using menus (also popup), toolbar buttons, keyboard, mouse (drag & drop).

Every Xml tag have a different icon.

the root.
XML declaration
a XML comment
a Processing _Instruction

2.2 Converter

Some converters are built-in into XmlTool:

2.2.1 Convert to XML some simple formats

XmlTool read a simple hierachical types of files.

2.2.2 Convert to XML a directory tree

With XmlTool you can load a directory tree starting from any directory.
When the directories is load you can save it as a XML file.
Also you can operate on the nodes as any XML file.

2.2.3 Convert to XML the Access Database structure

Using this option you can select a Access Database (i.e. with extension .mdb) and read the structure.
The following items are read:
You can select in the Configure menu the item to import from a Database structure.
?? mettere in OPT indicazione di quali dati si vuole estrarre dalla struttura del DB??

2.2.4 Convert to XML the Database query

You can also exec a query SQL on the database and put the results on the tree.
It also provide a number for each record in the resulting recordset as:
  • <XTdb RecordNumber="xxxx">

    2.2.5 Convert to XML the .INI files

    Also the .INI files can be managed as a XML file.

    2.3 GUI generator

    This is the main interesting part of the XmlTool.
    Using this you can load a GuiXml file that define a GUI (view a sample).
    You can define some elements in the GuiXml file and pressing XXX you can put it on a Window at runtime.
    You can define:
    This is only a demo of possibilities of XmlGui.

    2.4 XSL generator

    XSL is a trasformation language.
    It trasform any valid XML file to another format.
    The more common trasformation is a HTML file for view the XML on the browsers.

    XmlTool can generate a XSL file from the loaded XML file.
    You can set the HTML tag for any XML element type.
    For example, for the ELEMENT element the trasformation are:
    Where $ is the value of ELEMENT data.
    But this in not sufficent, because you can have more different typer of ELEMENT and you want rendering every in a different mode.
    To this scope you can define in the XSL tab the command to any different node.

    This format command are saved also in the XML files a a comment.

    2.5 DTD generator

    The generation of DTD is very simple.
    The nodes are scanned using a simple algorithm and after this generated a DTD document that may be correct.

    This section is working in progress.

    2.6 HTML generator

    XmlTool you can also generate directly the HTML file.

    2.7 File Editor

    XmlTool coming with a simple editor for XML files.
    You can view the source of the current file and highligth the XML syntax.

    3 - Specific Description

    3.1 - Menus

    The following image show the menubar of XmlTool:

    The first menu File is the classical menu for file operation:
    New create a new XML document (clear the tree)
    Open opens an existing XML document for editing
    Close closes the current XML document
    Save saves the current XML document
    Save as saves the current XML document to a different file
    Print print the tree
    configure Open the properties window to change program behaviors
    Quit close XmlTool application

    The second menu Edit is the classical menu for cut/paste operation:

    Add add a children to the selected node
    Remove delete the selected node
    Edit edit the selected node
    This menu is also popup on rigth-click on a tree node.

    Also the menu Search is the classical menu for search operation:

    Search search a string
    Search next search the next occurence of the string

    The menu Demo is a collection of demos for test the possibilities of XmlTool:

    View sourceedit the current file
    Load INI file...
    Save INI file...
    Print INI file...
    Dirload a directory tree
    Import hierarchicalimport a hierarchical file
    Load Guiload a GuiXml File for create a GUI interface
    DynamicDynamic Engine loader (to do)
    Load a Xml...
    Save a Xml...
    Load a DBLoad a DB structure (Access)
    Save DB as XMLSave DB structure as Xml file
    Generate XSLGenerate a XSL from the current file
    Generate DTDGenerate a DTD from the current file

    The last menu Help is the classical menu with help related items:

    Helpview a mini-help
    Aboutview the Author informations
    Registerenter the registration code for full version
    Register infoview registering information

    3.2 - ToolBars

    The program have two toolbars:
    The next image show the main toolbar:
    The buttons operation are:
    Move on the first node on the same level of current node
    Move on the prev node on the same level of current node
    Move on the next node on the same level of current node
    Move on the last node on the same level of current node
    Print the file
    View the XmlGui generated window
    Quit from XmlTool

    The next image show the tree toolbar:
    The buttons operation are:
    Set the standard form of the window.
    The tree is at the 30% left of the total window width, and the tab on the left space.
    Activate the Tree view
    Activate the List view
    Find a item on the tree
    Open all tree nodes
    Close all tree nodes
    View only the tree as window width.

    3.3 - Configure

    The following window is open selecting from menu File/Configure:

    The configuration window in divided on many tabs by argument.

    GeneralVIEWTIPS1 View tips at the startup
     BACKUP 0 Create backup when loading a file
     DRAGDROP1 Drag and Drop of the Tree nodes
     DRAGALL 1 D&D on the same node level
     LOADALLCOMM 1 Load all comments from XML files
     LOADXTCOMM 1 Load XmlTool comments from XML files
    GUIXMLGUIUNIT tips Measurement unit of positional definitions
    XSLXSLELEM <h1>$</h1> Html code for XSL generation
     XSLATTR <h3>$</h3> Html code for XSL generation
     XSLCOMM <i>$</i> Html code for XSL generation
     XSLPI <font size=-1><b>$</b></font> Html code for XSL generation
     XSLCDATA <i>$</i> Html code for XSL generation

    4.0 Requirements

    4.1 Constraint requirements

    The program is developed for WindowsXX - 32 bit version.

    4.1.1 Assumptions and dependencies


    4.1.2 Operational environment

    System Requirements
    The program is developed using Visual Basic 6.0 and require the related runtime files (try here).

    Attention: the parser of XML files are developed using only Visual Basic.
    No externel libraries is used for parsing (do not require Internet Explorer installed as other software).

    On the Windows systems the delivery of the system function is a very complex problem (with many thanks to Microsoft).
    I soon realize a complete setup, but you can install the program without the setup using the listed components.
    The used DLL/OCX are (you have it in your Windows/System):

    Component Registering
    MSCOMCTL.OCX 06/26/1998 00:00:00 1,062,704
    DBGRID32.OCX 06/24/1998 00:00:00 525,352
    COMDLG32.OCX 12/21/1998 11:52:00 140,096
    DAO Non Self Registering
    Msjint35.dll 3.51.623.0 05/01/1998 22:01:02 123,664
    msjter35.dll 3.51.623.0 05/01/1998 22:01:02 24,848
    msrepl35.dll 3.51.623.0 05/01/1998 22:01:02 407,312
    msvcirt.dll 01/22/1997 21:27:48 70,656
    MSVCRT.DLL 6.0.8168.0 06/17/1998 00:00:00 254,005
    msvcrt40.dll 4.2000.0.616406/14/1996 21:50:56 65,024
    odbcji32.dll 3.51.1029.0 05/01/1998 22:01:02 37,888
    odbcjt32.dll 3.51.1029.0 05/01/1998 22:01:02 246,784
    odbctl32.dll 3.51.1029.0 05/01/1998 22:01:02 73,216
    VB5DB.DLL 01/24/1997 00:00:00 78,608
    vbajet32.dll 01/22/1997 00:00:00 18,192
    vbar332.dll 05/01/1998 21:01:02 368,912
    RDOCURS.DLL 06/18/1998 00:00:00 151,552
    MSRDO20.DLL 06/18/1998 00:00:00 393,216
    DAO Self Registering
    msjet35.dll 3.51.623.4 05/01/1998 22:01:02 1,045,776
    dao350.dll 3.50.3602.0 03/10/1998 00:00:00 593,920
    msrd2x35.dll 3.51.623.0 05/01/1998 22:01:02 252,176
    VB Runtime Non Self-reg
    ASYCFILT.DLL 2.40.4268.1 12/18/1998 13:27:44 147,728
    STDOLE2.TLB 2.40.4268.1 12/18/1998 13:27:10 17,920
    VB Runtime Self-reg
    OLEAUT32.DLL 2.40.4268.1 12/18/1998 13:27:46 598,288
    MSVBVM60.DLL 09/25/1998 00:00:00 1,409,024
    COMCAT.DLL 4.71.1460.1 05/31/1998 00:00:00 22,288
    OLEPRO32.DLL 5.0.4268.1 12/18/1998 14:17:36 164,112

    4.2 Registration

    XmlTool program is distribuited as freeware.
    After the registration XmlTool is a shareware.
    It is currently in beta-test, so there is no charge for the current version.
    Active testers can receive a free copy of the release version; contact us for details.
    This version of the program has the following limits:
    You can order by:

    Please include your name, address, phone number, and email contact information when registering.
    The spedition types are:

    To use the complete version you have to get the registration code.
    The registration code is send at this prices:

    4.2.1 Licensing

    XmlTool and its accompanying documentation are Copyright 2000 AB - Software & Tecnologie.
    All Rights Reserved. Your use of the program indicates acceptance of the License Agreement with AB - Software & Tecnologie.

    License Agreement:

    Please carefully review the following terms and conditions before using this software. Unless superceded by a different license agreement signed by AB - Software & Tecnologie, your use of this software indicates your acceptance of this license agreement and warranty.

    Governing Law

    This agreement shall be governed by the laws of Italia.

    Disclaimer of Warranty


    Because of the various hardware and software environments into which the software may be put, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. In particular, no warranty of fitness with respect to Year 2000 issues is offered.

    Good data processing procedure dictates that any program be thoroughly tested with non-critical data before relying on it. The user must assume the entire risk of using the program. The seller accepts no libability of any kind with respect to use of the program.

    Evaluation and Registration

    This product is distributed as shareware and is not free software.

    Subject to the terms described in the accompanying program documentation, you are hereby licensed to use evaluate this software for a period of 30 days. After this period you must register the software. Unregistered use of this software for any purpose other than for evaluation is in violation of international copyright laws.


    You are hereby licensed to make as many copies of the evaluation version of this software and documentation as you wish; give exact copies of the original evaluation version to anyone; and distribute the evaluation version of the software and documentation in its unmodified form via electronic means. There is no charge for any of the above.

    You are specifically prohibited from charging, or requesting donations, for any such copies, however made; and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission.

    4.2.2 Support

    Registration provides up to 1 hour of free technical support.
    Sorry, we cannot provide support to unregistered users.
    Contact us for site licenses and other support plans.

    4.2.3 Download

    The current version is 0.99.

    Stay tuned for the 1.00 version (the Candidate). Coming soon.
    You can download as:
    The executable XmlTool have a dimension of 600 Kb and NOT USE external libraries for parsering.

    5 - Working in progress

    XmlTool is a new program and this is the first version.
    More work wait to do.
    Some of works are:


    App.A - About the author

    Alberto Bellina For info, feedbacks (compliments, errors, other...) send me an email.

    App.Z - Links

    Official sites

    Other sites