3. “WYSIWYG” XML Editors

The modules, as handled by Borges, are not directly parsable by other programs because they are meant to be called from a master file, which contains all needed references to DTD and external entities. That's why Borges provides a mean to add the necessary information into those module files, so that any XML editor should be able to open it. After the file has been edited, another operation transforms back the module file in a Borges suitable format.

This procedure has been tested with XMLmind XML Editor, and should work with other XML editors such as Morphon and many other editors.

  1. Export the desired module

    This is done on the command line:

    make -C modules/xx/ module_name.edit.noents.xml

    replacing xx and module_name by the language and the module name you wish to edit. That generates a file (modules/xx/module_name.edit.noents.xml) suitable for editing with any XML editor, provided the configuration files are properly setup (see Section 1.1.5, “conf/repository.xml”).

  2. Edit the module

    Simply open the file resulting from previous operation (modules/xx/module_name.edit.noents.xml) in your editor.


    There is one important limitation to be aware of: as some editors do not handle properly external entities, they are “escaped”, so that they are not recognized as entities by the editor. For example, the entity &borges; as found in a XML file, will be transformed to &borges; in the editable file, so that it will appear as &borges; in the WYSIWIG editors and not replaced by the entity value. When using entities in such editors, this same syntax will have to be used.

    When editing is done, it is enough to save the file locally and go to next step:

  3. Import the module back into Borges

    To transform back the module to a format compatible with Borges, the following command will have to be run:

    make -C modules/xx/ module_name.revertedit

    this will move the content of the modified module from modules/xx/module_name.edit.noents.xml back to modules/xx/module_name.xml. It is now possible to validate the module or send it to the CVS server.