3. Specifying a custom base GUI specification which is an alternative to stock base GUI specification

Unlike customize.xxe_gui files which are often used, specifying a custom base GUI specification which is an alternative to stock base GUI specification is rarely needed. You probably don't need to read this section.

Such alternate base GUI specification should start by including "xxe-gui:DesktopApp.xxe_gui" because DesktopApp.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:DesktopApp.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.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/.xxe7/addon/my_custom_xxe.xxe_gui \
        /opt/xxe/bin/xxe &