3. Specifying a base GUI specification other than xxe-gui:app/Professional.xxe_gui

Such alternate base GUI specification should start by including "xxe-gui:app/common.xxe_gui" (or "xxe-gui:app/Professional.xxe_gui" if you intend to customize Professional.xxe_gui) because common.xxe_gui contains the declarations of all stock parts. Example:

<?xml version='1.0' encoding='UTF-8'?>
<gui xmlns="http://www.xmlmind.com/xmleditor/schema/gui"
     xmlns:gui="http://www.xmlmind.com/xmleditor/schema/gui">

  <include location="xxe-gui:app/common.xxe_gui"1 />

  ...
</gui>

1

URLs starting with "xxe-gui:" work because XXE dynamically adds to its XML catalog a rule similar to this one:

<rewriteURI uriStartString="xxe-gui:" 
            rewritePrefix="jar:file:/opt/xxe/bin/xxe-app.jar!/gui/" />

The base GUI specification is specified by the XXE_GUI system property (i.e. java -DXXE_GUI=xxx). For a greater convenience, all XXE launchers define this system property as being the value of environment variable XXE_GUI.

Windows example (assuming that XXE has been installed in C:\Program Files\XMLmind_XML_Editor\)

  1. Open a command prompt.

  2. Set environment variable XXE_GUI as follows:

    C:\...\tutorial> set XXE_GUI=file:///C:/Doc...Settings/john/.../addon/my_custom_xxe.xxe_gui
  3. Start XXE as follows:

    C:\...\tutorial> C:\Program Files\XMLmind_XML_Editor\bin\xxe.exe

Linux, Mac example (with bash; assuming that XXE has been installed in /opt/xxe/)

  1. Open a terminal.

  2. Start XXE as follows:

    /opt/xxe/doc/gui/tutorial$ XXE_GUI=file:///home/john/.xxe4/addon/my_custom_xxe.xxe_gui \
        /opt/xxe/bin/xxe &