3. Specifying a base GUI specification other than `xxe-gui:app/Professional.xxe_gui`
Prev | Chapter 3. Deployment | Next

## 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/Professional.xxe_gui`" because Professional.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/Professional.xxe_gui" />

      ...
    </gui>

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/.xxe5/addon/my_custom_xxe.xxe_gui \
           /opt/xxe/bin/xxe &

Prev | Up | Next
2. Deployment of a customization | Home | Chapter 4. Reference