XMLmind XML Editor
|Convert icons
Convert to PDF iconConvert to RTF (Word 2000+) iconConvert to WordprocessingML (Word 2003+) iconConvert to Office Open XML (.docx, Word 2007+) iconConvert to OpenDocument (.odt, OpenOffice/LibreOffice 2+) icon

Change history

7.1 (August 22, 2016)


  • Some users of XMLmind XML Editor tend to work with documents having severe validity errors. When a document has severe validity errors, XXE automatically enters lenient mode. (The normal mode of XXE is strict mode.) In lenient mode, XXE is not comfortable nor safe to use.

    That's why we have made the following changes:

    • The Validity state button found at the bottom/left of main window now blinks when it displays its red icon (which means "invalid document structure").
    • By default, the Validity tool is now automatically selected when opening or saving a document having severe validity errors (that is, not just cross-reference errors). This can be changed using new user preferences "Automatically show Validity tool" and "Only for the most severe validity errors" (Options|Preferences, Tools|Validate preferences form).
  • New "Master document" preferences form (Options|Preferences, Tools|Master document) may be used to list all the XML documents used as master documents.
  • When rendering a DITA map stored on a remote drive, the titles of the topics referenced by this map are now loaded asynchronously. This considerably speeds up opening a DITA map stored on a slow remote drive such as the Google Drive™ (provided that the document cache is given a sufficient capacity; see "Document cache size" in the Options|Preferences, Advanced|Cached data preferences form).

    This feature is controlled by new user preference called asyncLabelLoading. The values allowed for this user preference are: no, yes, remote. The default value is remote.

    There is no user interface which may be used to change the value of this user preference. If you need to change its value, please use xxe's command-line options -putpref and -delpref. Example: start XXE using "xxe -putpref asyncLabelLoading yes".

  • Added a location attribute to the profiling configuration element. This optional attribute specifies which set of profiles to automatically use by default for all documents of a given document type.

    DITA map example: by default, automatically use profile set "file:/C:/docsrc/manual/products.profiles" for all DITA maps.

    <profiling location="file:/C:/docsrc/manual/products.profiles">
  • Added option -l (L like Local schema) to xmltool validate. This flag gives priority to the schemas locally specified in the file (e.g. <!DOCTYPE>) to be validated over those specified using the -s option.
  • Upgraded the FTP virtual drive plug-in to edtFTPj/PRO 5.1.0.
  • Upgraded the Google® virtual drive plug-in to the Drive API Client Library for Java 1.22.0.
  • Upgraded the "Word To XML" add-on to XMLmind Word To XML v1.2.0_01.
  • Upgraded Saxon to version
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.6.2.
  • New tutorial with screencast Creating a DITA bookmap.

Bug fixes:

  • When the "Edit source" add-on was installed (which is the case by default), the keyboard shortcuts (Ctrl-Z, Ctr-Y, etc) corresponding to the following Edit menu items were not available: Undo, Redo, Cut, Copy, Paste, Delete.
  • By default, navigation headers and footers are suppressed when converting DocBook to Web Help or EPUB. The bug was that there was no way to restore them. These navigation headers and footers can now be restored using XSLT stylesheet parameter suppress.navigation=0.
  • It's now possible to include by conref in a DITA map elements found in topic (typically metadata). This can be done either by using "Copy as Reference" + Paste (Ctrl+Shift-C followed by Ctrl-U, Ctrl-V or Ctrl-W) or by using the Include tool.
  • The document cache reloaded cached remote documents even in some cases for which this was not needed. The effect of this bug was, for example, to slowed down the rendering of DITA maps stored on a remote drive.
  • There was a minor bug in XMLmind XML Editor v7's setup.exe. (This bug was specific to Windows and to the setup.exe.) Installing XMLmind XML Editor v7 over XMLmind XML Editor v6.7 (e.g. using default location "C:\Program Files (x86)\XMLmind_XML_Editor") kept some old v6.7 files (e.g. "C:\Program Files (x86)\XMLmind_XML_Editor\addon\edit_source\edit_source.jar") in the v7 installation directory. This caused XMLmind XML Editor v7 to hang in many cases, for example, when selecting menu item "View|XML Source".

7.0 (June 21, 2016)

XMLmind is happy to announce three new products: XMLmind DITA Editor, XMLmind DocBook Editor, XMLmind XHTML Editor. These products are attractively priced, “special editions” of XMLmind XML Editor. Because they focus on a single class of documents, these specialized editors are slightly faster and simpler to use than XMLmind XML Editor. More information in "Which editor to choose?".

A Personal License is now available for XMLmind XML Editor, XMLmind DITA Editor, XMLmind DocBook Editor and XMLmind XHTML Editor. This makes our four editors free to use by many persons and organizations. More information in "Which license to choose?".

The Personal Editions of XMLmind XML Editor, XMLmind DITA Editor, XMLmind DocBook Editor and XMLmind XHTML Editor may be freely downloaded from this page.

Evaluation Edition has been suppressed. Please use Personal Edition if you want to evaluate a product. (This usage too is explicitly allowed in Personal License.)


  • Major overhaul of the "Edit source" add-on (which is installed by default):
    • The "Edit source" add-on adds an "XML Source" item at the end of the View menu. This "XML source" view of a document is now an (almost) normal view of a document. For example, i's now possible to choose it as the default view of a document or to display it side by side with tree or styled views. More information.

      In previous version of XXE, the "View|XML source" check box replaced all the normal views of a document by a text editor. This was done in a modal way which prevented the user to execute actions outside this text editor (e.g. "File|Save" was disabled when "View|XML source" was checked ).

    • The "Edit source" add-on adds to XXE the capability to open, edit and save all kinds of text files (.css, .js, .dtd, etc), including "not well-formed" XML files.

      Why open text files in XXE?

      • This is handy to fix "not well-formed" XML files.
      • After downloading and installing the corresponding virtual drive plug-ins, XXE can open, edit and save text files stored on remote servers (WebDAV, FTP, FTPS, SFTP, Google Drive).
      • XXE can lock local text files and text files stored on a WebDAV server.
  • Replaced menu item "Tools|Open Navigation Pane" by checkbox "Tools|Use as Master Document".

    The following document may be used as master documents: DITA map, DocBook 5.1 assembly, DocBook modular documents (for example, a book including chapters by the means of XInclude).

    Declaring a document as being a master document creates a document set containing the master document and its module document. This document set is automatically updated when the master document is saved to disk.

    By grouping a master document and its module documents, you inform XXE that all the module documents referenced or included, directly or indirectly, by the master document are related. When XXE knows that some of the opened documents are related:

    • it will more thoroughly check the cross-references which may exist between these documents;
    • it will make it easier creating cross-references between these documents;
    • it will make it easier following cross-references between these documents;
    • if a DITA map contains key definitions, then this map acts not only as a cross-reference creation/validation context for its topics, but it also acts as a key space;
    • if the "Easy Profiling" add-on has been installed, then the conditional processing profile selected for the master document is automatically shared by all module documents;
    • if the document view area is split in two parts, the module documents opened from a master document will appear at the opposite of this master document. This allows to use the view of the master document as a rudimentary navigation pane.

    The list of master documents is persistent across editing sessions.

    See tutorial with screencast Working with master documents.

  • New "View|Multiple Views" submenu. Menu item "Use Current Views as Default" allows to save the current layout of views as the default for all documents having a given document type (e.g. all DocBook documents) or as the default for just the document being edited. The later feature is new. It is useful for example when you want the default views of a given large, monolithic, DocBook document to be the styled view and below it a small TOC view, but don't want all DocBook documents to be displayed this way.
  • Made option "Automatically reopen last opened documents" found in Option|Preferences, General section, much more useful. In the previous versions of XXE, this option reopened just the last document opened during the preceding editing session. Now, this option reopens all the last documents opened during the preceding editing session. Moreover the tab order and view layout of these documents, as well as which document was the active one, are restored too. However note that if several main windows were opened, it's only the session of the last closed main window which is restored.
  • DITA Topic toolbar: added an xhref[html] button next to existing xref button. This new button makes it easy creating an external link pointing to an HTML page (most common case), while the xref button made it easy creating an internal link.
  • DITA Map: when a duplicate ID is found inside a topic, the "Check Map" menu item now reports a warning.
  • Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 5.4.1.
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.6.1.

Bug fixes:

  • "Move Document to New Window" didn't work if the tab of document to be moved was previously dragged from one main window to another.
  • "Move Document to New Window" didn't restore the current layout of the views of a document (e.g. tree view at the left of a styled view) after moving this document to a new main window.
  • Re-opening a document already opened in XXE didn't restore the original layout of the views of the document (e.g. tree view at the left of a styled view).
  • It was possible to drag a document tab from a first main window to a second main window already containing an instance of the same document, resulting in the second main window containing two instances of the same document.
  • "Options|Customize Configuration|Save Views As Default" had a number of minor bugs. For example, using this facility to save the tree view as the default view for a given document type (e.g. DITAVAL documents) did not work as expected.


  • The "New Window" feature is now enabled by default. The "Include Tool" feature is now disabled by default. This can be changed using Options|Preferences, General|Features preferences form.
  • Reorganized the View menu. Replaced "Options|Customize Configuration|Save Views As Default" by more powerful "View|Multiple Views|Use Current Views as Default".
  • Removed Options|Preferences, Window preferences form.
  • The Spell tool has been replaced by a modal dialog box. This dialog box is displayed by clicking the down arrow button which is next to the "Automatic Spell Checker" button found in the status bar.
  • Replaced "Window|Split Windows Vertically" by "Window|Split Windows Horizontally" because windows are now split vertically by default.
  • Removed the DocBook CSS stylesheet called "Document structure". The very similar DocBook CSS stylesheet called "Table of contents" is of course still available.
  • Commented out in the DITA configuration files the references to the following CSS stylesheets: "DITA topic (classed)", "DITA map (classed)", "DITA bookmap (classed)".
  • DITA, DocBook, XHTML: the CSS stylesheet called "Show info about included elements" is now available as an item of the View menu only when the "Enable the Developer Tools" feature has been selected (Option|Preferences, General section).
  • Installing XXE on the Mac using the .dmg distribution creates an application bundle called "XMLmind.app". Previously it was called "XMLEditor.app".


  • Navigation panes have been suppressed. A document declared as being a master document may be used as a rudimentary navigation pane provided that the document view area is split in two parts.
  • XXE can no longer be deployed as an applet. An applet requires a web browser to support the Java™ plugin in order to run and many browser vendors have either removed or announced timelines for the removal of standards based plugin support. As a consequence, Oracle, the developer of the Java plugin, has decided to deprecate the Java plugin in Java 9. More information in this whitepaper.

    Deploying XXE using Java™ Web Start is of course still supported.

6.7 (April 11, 2016)


  • Partial DITA 1.3 support:
    • XXE now allows to create, edit and convert DITA documents conforming to the DITA 1.3 DTD, W3C XML Schema or RELAX NG schema.

      For now, XXE supports all DITA 1.3 new elements (line-through, steptroubleshooting, troubleshooting topic, XML domain, MathML domain, SVG domain, equation domain, etc), but not any of the DITA 1.3 new features (abbreviated syntax "#./elementId", key scopes, branch filtering, etc). Full DITA 1.3 support is planned for year 2016.

      Detailed information about DITA 1.3 support in "XMLmind XML Editor - DITA Support".

    • In fact, when XXE v6.7+ is used, DITA 1.2 documents are automatically “upgraded” to DITA 1.3. This should not be a problem as DITA 1.3 is a superset of DITA 1.2. However if for any reason, you prefer to stick to DITA 1.2 elements, please download and install the XXE add-on called "Keep using DITA 1.2". This is done using menu item "Options|Install Add-ons".
    • Upgraded XMLmind DITA Converter (ditac for short) to version 2.6. Ditac v2.6 has exactly the same level of DITA support as XMLmind XML Editor v6.7. This includes the ability to process a DITA document conforming to a RELAX NG schema, rather than to a DTD or W2C XML Schema.
  • DocBook 5.1 support:
    • Added a Check Assembly item to the Assembly menu. This command allows to check the assembly being edited and all its referenced topics for all kinds of errors, including cross-reference errors and missing image resources.
    • Added "Select Referenced Resource" to the right-click popup menu of an assembly.
    • DocBook Transclusion processing is now fully supported. In addition to built-in XInclude 1.1 support, this allows to create modular DocBook v5.1 documents without facing limitations.

    Note that DocBook 5.1 support is not yet available out of the box. It still requires downloading and installing the add-on called "DocBook v5.1 configuration (Release Candidate)" using menu "Options|Install Add-ons".

  • DocBook 5.0 and 5.1 support:
    • The Include tool creates xi:include elements leveraging XInclude 1.1 features allowing to avoid duplicate IDs caused by transclusions. An xi:include element created this way has a set-xml-id="" attribute (DocBook 5.0) or a trans:idfixup="auto" attribute (DocBook 5.1, Assemby).
    • Added a Ctrl+Alt-C (Cmd+Alt-C on the Mac) keyboard shortcut to the DocBook 5.0, 5.1 and Assembly configurations. Like Ctrl+Shift-C, this keyboard shortcut copies to the clipboard a reference to the selected nodes. However this variant is useful when the reference is intended to be pasted to several different locations in the same document. It leverages XInclude 1.1 features which allow to avoid duplicate IDs caused by transclusions. The xi:include element implicitly created by pasting the reference has a set-xml-id="" attribute (DocBook 5.0) or a trans:idfixup="auto" attribute (DocBook 5.1, Assembly).
  • Slightly improved the default looks of the output of the DocBook XSL Stylesheets, especially in the case of output formats using XSL-FO as an intermediate format: table header/footer, sidebar, nicer admonition icons, etc.
  • Drag & drop of document tabs and tool tabs.
    • It's now possible to change the order of tabs using drag & drop. To do that, simply select a tab, drag it and drop it between before first tab, between two tabs or after last tab. Possible drop locations are rendered using green rectangles.
    • Dragging a tab and dropping it to a side not having tabs allows to split the tabbed pane in two and to move the dragged tab to the split part of the container.

      In previous versions of XXE, the only ways to split a tabbed pane were to click the “tear-off” dashed line found at the bottom of a tab OR to select item "Move Tab to the Opposite Side" from the right click menu of a document tab.

    • It's also possible to drag a document tab and drop it in a different XXE main window.

      A new XXE main window is created by selecting menu item "Window|New Window". This menu item is available only if the "New Window" feature has been enabled (using in Options|Preferences, General|Features section).

  • Added a filterDuplicateIDs attribute to the copyDocument child element of a process command. Setting these attribute to false in the DocBook 5.1 topic and assembly configurations was needed to let the new DocBook Transclusion Processor do its job.
  • Upgraded the Apache FOP plug-in to version 2.1.

Bug fixes:

  • XInclude support: user-specified xml:base attributes were not taken into account during Base URI Fixup. Language Fixup was not implemented at all.
  • Added a workaround for an Apple Java bug which caused any scrolled window (not only the document view) to become garbled when scrolling quickly. This bug seems to be specific to Apple Java and to non-Retina Macs running El Capitan.
  • When converting an XHTML document to a single-sided PDF file, FOP 2.1 raised the following XSL-FO validation exception: The flow-name "XXX" on fo:static-content could not be mapped to a region-name in the layout-master-set.
  • In some cases, validating an invalid document associated to a configuration making use of validate (example: <validate namespace="http://www.w3.org/1998/Math/MathML"><relaxng location="rng/mathml2.rng"/></validate>) could raise an ArrayStoreException.
  • In some cases, opening a document containing an mroot MathML element caused XXE to raise an exception. This regression was introduced in version 6.5 (October 26, 2015).
  • Closing a main window (i.e. "Window|New Window") having a "Browse Files" tool showing the folder of currently opened document while other main windows were displayed caused XXE to raise a NullPointerException (harmless in this specific case).

6.6 (January 22, 2016)

Enhancements related to XHTML support:

  • The node path bar now displays element_name.first_class_name for any element having a class attribute.

    This is specified using the new nodePathTags configuration element:

      <element attribute="class" tag="%E.%v" />
  • New menu item "Options|Customize Configuration|Customize CSS Stylesheet" makes it easy giving a distinctive screen style to elements having a class attribute. More information about this new feature, which is not specific to XHTML support, below.
  • When the style attribute is selected in the Attributes tool, clicking the Edit button now displays a specialized editor. Using this new style editor, you don't need to know CSS in order to give a style to an XHTML element.
  • It's now possible to add custom data attributes (attributes having an unqualified name with a "data-" prefix) to XHTML5 elements.
  • When saving an XHTML document, the text contained in script and style elements is put in a CDATA section. Moreover, because save option favorInteroperability is turned on for all the XHTML document types, these CDATA sections are commented out like in the following example:
    <script>/*<![CDATA[*/function sayHello() {
        alert("Hello <world>!");
  • When save option favorInteroperability is turned on, which is the case by default, XHTML|Preview now removes all processing instructions prior to creating a temporary preview file.

    If you want to preview the document being edited as is, do not use XHTML|Preview. Instead please use "Tools|Helper Application|Open Document in Helper Application".

Enhancements related to the "Easy Profiling" add-on:

  • Associating a .profiles file to a document now also changes the behavior of the Attributes tool when a profiling attribute is being edited. If for example, the .profiles file allows values "beginner", "intermediate", "advanced", "expert" for profiling attribute userlevel, then the autocompletion feature of the attribute value text field will automatically suggest these values when attribute userlevel is set or changed. In other words, when a .profiles file is associated to a document, you now have the choice between selecting menu item "Conditional Processing|Set Profiling Attributes" and using the attribute form in the Attributes tool.
  • It is now possible to associate a .profiles file to a DITA document in order to flag contents in the deliverables (HTML, PDF, RTF, etc). In previous versions of the "Easy Profiling" add-on, it was only possible to exclude contents from the deliverables.

    In order to do that, when a .profiles file is opened in XXE, suffice to give distinctive styles to the values of a profiling attribute and then check the "Flag" checkbox found below the entry corresponding to this profiling attribute in a profile. (By default, it's "Include elements having these attributes" which is checked.)

  • Added Bold and Italic text styles to the "Set Style" dialog box because, in addition to Underline, Overline, etc, these two text styles are also supported by DITAVAL files.

Other enhancements:

  • New menu item "Options|Customize Configuration|Customize CSS Stylesheet" allows customizing the CSS stylesheet being used by the active styled document view.

    The dialog box displayed by this new menu item has a "Add Style for Selected Element" button which lets the user quickly customize the screen style of the element being selected. Clicking this button displays an easy to use style editor. No prior knowledge of CSS is required to use the Styles tab of this style editor.

  • When the "New Window" feature has been enabled (using in Options|Preferences, General|Features section), the right-click popup menu of a document tab now contains new "Move Document to New Window" item.
  • File|Quit has now an icon which clearly indicates whether this menu item can be used to terminate the application or just close the corresponding main window.

    Remember that "Window|New Window" opens a new main window identical to the initial main window of XMLmind XML Editor and that using File|Quit will only close the corresponding main window. The XMLmind XML Editor application is actually terminated when its last main window has been closed using File|Quit.

  • It's now possible to specify a custom attribute editor (using configuration element attributeEditor) for an attribute containing multiple tokens separated by a character other than whitespace. DocBook example:
    <attributeEditor attribute="userlevel" elementMatches="*">
      <list allowMultipleValues="true" valueSeparator=";">
  • Slightly improved the usability of the “text style toggles” found in the XHTML, DocBook and DITA tool bars. XHTML example: when the caret is inside a b element, the B toggle is selected. When the caret is inside a strong element, the B toggle is still not selected but now, the down arrow which is next to it slightly changes its shape and becomes blue indicating that one or more “text styles” are selected in the drop down menu.
  • Tested "Paste from Word" against MS-Word 2016.
  • Upgraded the DocBook XSL stylesheets to version 1.79.1.

    Moreover, when converting DocBook to HTML, it is now possible to use new alternative XSL stylesheets called "Generate XHTML5" and "Generate XHTML5; profiling stylesheet". As always, these alternative XSL stylesheets are selected using "Options|Customize Configuration|Customize Document Conversion Stylesheets".

  • Upgraded Saxon to version
  • Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 5.4.0.
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.7_01.

Bug fixes:

  • Obsolete eclipse.xsl XSLT stylesheet was used to convert a DocBook document to Eclipse Help. We now use eclipse3.xsl which generates a META-INF/MANIFEST.MF file.

    Note that if you want Eclipse to display your Eclipse Help document in its help viewer, you must 1) specify the following XSLT stylesheet parameters: eclipse.plugin.name, eclipse.plugin.id, eclipse.plugin.provider, prior to selecting "DocBook|Convert Document|Convert to Eclipse Help"; 2) copy the folder containing the generated Eclipse Help document to eclipse_install_dir/dropins/ and not eclipse_install_dir/plugins/.

  • The -profile option of command-line utility xxetool worked fine when passed a ".profiles" file as an argument, but completely ignored a ".ditaval" file argument.
  • Added a workaround for an Apple Java bug which caused the document view to become garbled when scrolling quickly. This bug seems to be specific to Apple Java and to non-Retina Macs running El Capitan.

6.5 (October 26, 2015)

XXE now works fine on computers having very high resolution (HiDPI) screens. For example, it now works fine on a Mac having a Retina® screen and a Windows computer having an UHD (“4K”) screen. On Windows, all DPI scale factors —100%, 125%, 150%, 200%, etc— are supported.

On a Linux computer having a HiDPI screen, HiDPI is not automatically detected. You'll have to use the new "Display scaling" controls found in the General section of the Preferences dialog box.

The "Display scaling" controls may be used to change the size of all the items comprising the user interface of XXE. This new facility may be useful even if you don't have a HiDPI screen.

  • If you computer has a HiDPI screen, it is strongly recommended to upgrade to version 6.5.
  • HiDPI screens are supported only if latest Oracle® or Apple® Java™ runtime is used to run XXE.
  • Only the “system” Look&Feel, used by default by XXE, supports a display scaling larger than 100%. For example, the Nimbus Look&Feel does not support a display scaling larger than 100%.

Other enhancements:

  • The CSS engine of XMLmind XML Editor now supports @font-face rules. This feature is mainly useful to be able to use icons fonts such as "Font Awesome". Example:
    @font-face {
        font-family: icon;
        src: url(https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/fonts/fontawesome-webfont.ttf);
    quote:before {
        content: "\f10d"; /*fa-quote-left*/
        font-family: icon;
        color: gray;
    quote:after {
        content: "\f10e"; /*fa-quote-right*/
        font-family: icon;
        color: gray;
  • Added ".xht" as a possible extension for XHTML files.
  • XXE is now officially supported on Windows 10 and on Mac OS X 10.11 (El Capitan).

Bug fixes:

  • Retina Mac: scrolling the styled document view caused the text to become slightly blurred. The workaround was to select View|Redraw (Ctrl-L).
  • Retina Mac running Oracle Java: moving the node selection from one XML node to another or more simply, hovering the mouse in the node path bar caused some artifacts to be left on screen.
  • More generally, added workarounds for several bugs of Oracle Java 1.8 on the Mac. Therefore, unless you use Apple Java 1.6 on the Mac (which is still recommended to run Java desktop applications on the Mac), it is strongly recommended to upgrade to version 6.5.
  • When converting MathML to SVG (for example, for use by RenderX XEP which does not natively support MathML), the "JEuclid image toolkit plug-in" add-on generated SVG files missing an xmlns="http://www.w3.org/2000/svg" namespace declaration.

Known problems:

  • On the Mac, double-clicking on a file which should be opened by XXE (e.g. a ".dita" file) starts the application (or brings its window to front if it's already started) but does not cause the file to be opened in the editor. No workaround.


  • Removed the "Print PostScript" item from the "Convert Document" submenu found in DITA, DocBook, XHTML, etc, configurations.

    As a consequence:

    • The print child element of a process command is no longer supported.
    • The selectPrinter command is no longer supported.
  • It's no longer possible to change the screen resolution when printing a document. (This user-specified resolution was used to determine the amount of text a printed page can contain.)


  • CSS extension function icon() now accepts an url() as well as the name of a predefined icon. This function no longer automatically colorizes bitonal icons using current foreground color. You now have to explicitly specify a foreground parameter to do that.
  • The number of stock icons found in xxe-config:common/icons/ has been greatly reduced. This should impact only custom configurations.
  • .xxe_gui specification files: attributes icon and selectedIcon are both required for an action which acts as a toggle.
  • Now that XXE supports HiDPI screens, system property XXE_CSS_DPI is no longer supported.

6.4 (September 11, 2015)


  • XXE now allows to store all the revisions of a document in the XML file containing this document. This option may be turned on by selecting "Tools|Revisions|Store All Revisions in the Document" for the document being edited or it may be turned on once for all by checking "Automatically store all revisions in the document" (Options|Preferences, Tools|Revisions section).

    New menu item "Tools|Revisions|Open Revision" displays a dialog box listing all the revisions of a document for which option "Store All Revisions in the Document" has been turned on. This dialog box allows to select one or more revisions in order to open or compare these revisions.

    Tutorial Reviewing changes using the Compare tool has been updated in order to show a typical use case for these new facilities.

  • Compare tool:
    • The Compare tool no longer requests the revisions to be compared to have been saved to disk.
    • An "Update changes" button (having a “Refresh icon”) has been added to the Compare tool. This button allows to update the list of changes existing between the two revisions being compared. Clicking this button is especially handy just after modifying the current revision while this revision is being compared to an older one.
    • The visual insertion and deletion marks added by the Compare tool to the revisions being compared can now be printed (using File|Print).
  • Added options revisions.on, revisions.off, revisions.toggle, revisions.state to the diffSupport command. Such options allow to control the storage of revisions in the XML file containing the document being edited.
  • Added options -on, -off, -revon, -revoff, -addrev to command-line tool xxetool compare.
  • The post child element of a process command now implements HTML5 — Form submission — Multipart form data, as the form submission algorithms (including the "_charset_" hidden field trick) described in this section seem to be implemented by all recent web browsers.
  • Added a "Show info about included elements" entry to the View menu of the XHTML documents.
  • Upgraded the schemas included in the "DocBook v5.1 configuration (Release Candidate)" add-on to version 5.1CR4, which corresponds to OASIS - "DocBook Version 5.1 Committee Specification Draft 02 / Public Review Draft 02".
  • "Edit source" add-on: upgraded its RSyntaxTextArea components to version 2.5.7.
  • Google® virtual drive plug-in: upgraded its Drive API Client Library for Java to version 1.20.
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.6.
  • Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 5.3.0.
  • Upgraded the FTP virtual drive plug-in to edtFTPj/PRO 4.8.0.

Bug fixes:

  • In some cases, it was possible to paste an attribute value containing the null character ('\0').
  • The combination of the following CSS styles: "border-radius: a_radius; background-image: an_image; background-repeat: no-repeat;" caused the background image not to be rendered.
  • Added more DOCX files (exported to HTML using MS-Word "Save As") coming from different origins to the test suite of the "Paste from Word" add-on. Had to slightly modify the add-on to cope with some specificities of these DOCX files (e.g. ruby).
  • "Edit source" add-on: closing the XML document being edited (e.g. by using "Window|Close" or Ctrl+shift-W) did not also close the opened Find or Replace dialog.
  • Installing the add-on containing the translation of XXE messages to "nn" (Norwegian Nynorsk) had no effect on some computers and this even when Java's default locale was forced to "no-NO-NY" (User interface, Locale in User|Preferences, General section).
  • The -profile option of command-line tool xxetool convert had no effect. This regression was introduced in version 6.3 (April 21, 2015).
  • XHTML|Preview didn't work as expected for modular documents making use of XIncludes.

Known problems:

  • XHTML|Preview does not work for documents having URLs not supported by Web browsers ("google:", "sftp:", etc).


  • The XML differencing algorithm implemented in the Compare tool requires all the elements to have a globally unique ID called a serial number. In previous versions of XXE, these serial numbers were stored in a single <?xxe-serial-numbers?> processing-instruction found at the end of the document. Now, each element starts with a <?xxe-sn?> processing-instruction containing a 128-bit serial number. This new approach, while simpler and more resilient to changes made outside XXE, somewhat “pollutes” the XML source of a document. Anyway this new approach was needed to implement the new "Store All Revisions in the Document" option.

    Note that the legacy <?xxe-serial-numbers?> processing-instruction is still parsed by XXE. Therefore the elements contained in your documents in which “change detection has been activated” will not loose their existing serial numbers.

  • Option -acd of command-line tool xxetool compare has been renamed to -on and option -rcd has been renamed to -off.

6.3.1 (June 24, 2015)

Preliminary support for DocBook 5.1, which introduces new topic and assembly elements.

This support is packaged as a new add-on called "DocBook v5.1 configuration (Release Candidate)". This add-on allows authors to quickly and easily create assemblies and topics and to convert them to a number of formats (HTML, PDF, RTF, etc).

The version of the schema found in this configuration is 5.1CR3. Therefore this add-on must be considered as a work in progress. The roadmap of this add-on is documented in this page.

The "DocBook v5.1 configuration (Release Candidate)" add-on is not included by default in XXE distributions. If you want to experiment with DocBook 5.1 assemblies and topics, please use menu item "Options|Install Add-ons" and select the add-on in order to download and install it.

New resources related to DocBook 5.1:

Other enhancements:

  • Added a "Upgrade to DocBook v5" item to the DocBook menu. This menu item is present only when the document being edited is a DocBook version 4 document. This menu item converts the DocBook version 4 document being edited it to DocBook version 5.0 or 5.1.
  • Added a "Convert to Module" item to the DocBook menu. This menu item is present only when the document being edited is a DocBook version 5 document. This menu item makes it easy converting a large, monolithic, document to a modular document.
  • DocBook v5+ CSS stylesheets: the title of a part, chapter, section, appendix, etc, element is numbered normally, even when the title element is found inside an info element.
  • Slightly polished the DITA configurations:
    • DITA CSS stylesheets: steps and substeps having an importance attribute are given specific list markers in order to make such elements easy to spot.
    • Slightly enhanced the "Edit topicref" dialog box and also gave it an online help.
    • Added element templates for topic, concept, reference, (strict) task, glossentry, glossgroup, which otherwise would have just a title child element.
  • When writing a macro invoking a XED script, the location attribute of the script element may now have a fragment. This fragment specifies the name of the XED macro-command to be executed.
  • Add option anyChild to command selectNode. Explained the difference between option anyChild and option child.
  • The -putpref command-line option of xxe and xxetool now allows to easily specify preference values containing “unusual characters”. For that, suffice to prefix the preference value with "<?xml?>" and to specify unusual characters as XML character entities. For example -putpref MyKey "<?xml?>Line 1&#xA;Line 2" adds preference key MyKey with a value equals to "Line 1" and "Line 2" separated by a newline character ("&#xA;").
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.5_01.
  • Upgraded Saxon to version
  • Upgraded the Apache Batik plug-in to version 1.8.
  • Upgraded the Apache FOP plug-in to version 2.0.

Bug fixes:

  • For some RELAX NG content models, at document load time, empty mixed elements were not given an empty text node as a child. For example, opening a DocBook v5.1 book starting with a title followed by an info and containing an empty para resulted in a completely empty para , that is, a para not containing the expected empty text node. Such completely empty para elements are valid, but also are very inconvenient to use.
  • Unless attribute trace was set to "true", a macro containing a script element stopped its execution on first occurrence of XED command message().
  • Using "Options|Reload All Configurations" did not clear the global XED script cache. (The "Developer Tools" feature must have been enabled to see this menu item.)
  • XPath 1.0 extension functions resolve-uri(), relativize-uri() and document() were not xml:base aware.
  • Any hand-written customization of a stock configuration broke command "Options|Customize Configuration|Customize Document Conversion Stylesheets".

    For example, let's suppose a customization of the "DocBook v5+" configuration has been created in XXE_user_preferences_dir/addon/0docbook5.xxe. Simply selecting the profiling variant of a DocBook XSL stylesheet using "Options|Customize Configuration|Customize Document Conversion Stylesheets" caused the corresponding document conversions to fail.

  • "File|Save As" incorrectly updated the resource paths when the document to be saved contained xml:base attributes.
  • Command "DocBook|Link Callouts" allowed to modify read-only elements (or a read-only document).
  • Command docb.toV5, which converts the DocBook v4 document being edited to DocBook v5 (and which was bound to Keyboard shortcut Esc 5) did not correctly process the resources (e.g. image files) referenced in the DocBook v4 document being edited.


  • An attributeVisibility configuration element is now merged with the attributeVisibility element previously defined in the configuration. Before v6.4, the new attributeVisibility element simply replaced the old one.
  • Keyboard shortcut Esc 5 is no longer bound to command docb.toV5, which converts the DocBook v4 document being edited to DocBook v5.

6.3 (April 21, 2015)


  • XHTML, DITA, DocBook configurations: using toolbar button "Add table" to insert a table in the document now displays a dialog box allowing to quickly specify the number of rows and the number of columns of the new table.

    This facility leverages new generic command resizeTableTemplate and its CALS table variant resizeCALSTableTemplate.

  • Major upgrade of the "Easy Profiling" add-on (v2.0; installed by default). If you use this add-on or plan to use it, it is strongly recommended to upgrade to XXE v6.3.
    • The "Style of Selected Profile" and the "Style of Unselected Profile" are applied to elements having profiling attributes very differently than in previous versions of XXE.

      The "Style of Selected Profile" is the style now given to elements which are going to be included in the deliverables (PDF, RTF, HTML, etc). The "Style of Unselected Profile" is the style now given to elements which are going to be excluded from the deliverables. More information in XMLmind XML Editor - Easy Profiling.

    • New option "Automatically apply the conditional processing choices made for a master document to all module documents opened from this master document" (Options|Preferences menu item, Add-on|Easy Profiling section), turned on by default, makes implementing conditional processing in the context of modular documents much more intuitive.

      If you associate a conditional processing profile to a DITA map or a DocBook modular document, then a module document (DITA topic, DocBook chapter, etc) opened from this master document automatically “inherits” this condition processing profile.

      “Opened from the master document” means: opened using,

      • in a DITA map, toolbar button or right-click menu item "Open Referenced Topic or Map";
      • or in a modular DocBook document, menu item "Edit|Reference|Edit Referenced Document";
      • or in a Navigation Pane containing a DITA map or a modular DocBook document, right-click menu item "Open".

      Moreover once “opened from the master document”, the module is considered to be bound to its the master document in terms of conditional processing choices. This means that using "Conditional Processing|Select Profile" from either the map, the Navigation Pane containing the map or any of the topics opened from the map or Navigation Pane will automatically apply the selected profile to the map and to all its topics.

    A tutorial on the "Easy Profiling" add-on, including a screencast, is found in Conditional processing made easy.

  • View|XML Source:
    • Added keyboard shortcut Ctrl+Shift-X (Cmd+Shift-X on the Mac) for "View|XML Source".
    • New option "Ask before applying XML source changes" added to new "Add-on|Edit source" section of the Options|Preferences dialog box.

      By default, this option is turned on, meaning that a confirmation is requested. However, when this option is turned off, using new keyboard shortcut Ctrl+Shift-X allows to quickly switch between the document view and the XML source view.

  • Tools|Record Macro:
    • A macro recorded inside a document associated to a configuration is now available inside all the opened documents having the same configuration.
    • Recording a macro which converts for example:
      <span class="role-Hyperlink">http://www.xmlmind.com/</span>


      <a href="http://www.xmlmind.com/">http://www.xmlmind.com/</a>

      didn't really work because recording the Attributes tool (or commands putAttribute and addAttribute) captured literal string "http://www.xmlmind.com/" instead of recording something meaning: use the clipboard contents to set the value of attribute href.

  • Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 5.2.0.
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.5. In practice, this new version allows "Map|Check Map" to detect missing image files and to print clearer warning messages in case of broken internal links.

Bug fixes:

  • The "Browse Files" tool (File|Folder submenu) did not allow to browse the contents of a JAR file having a .war extension (Web application ARchive).
  • "Paste from Word" into a DITA topic: pasted xref element pointing inside a footnote element (fn) had an incorrect href attribute.
  • "Easy Profiling" add-on (installed by default):
    • Let's suppose you have created a .profiles file where profiling attribute product has possible values "Lite", "Professional", "Ultimate". Giving CSS styles to only some of the values (e.g. "Professional" and "Ultimate", but not "Lite") caused XXE to raise a NullPointerException. This exception was raised when attempting to use any of the conditional processing profiles contained in the .profiles file.
    • Associating file1.dita to profilesA.profiles and then associating profilesB.profiles to all DITA Topic documents (which of course include file1.dita) didn't correctly removed the individual association between file1.dita and profilesA.profiles.

      Note that this bug fix is no longer relevant as the "Use as default for all 'DOCUMENT TYPE' documents" feature has been removed from the "Easy Profiling" add-on v2.0.

  • Added a “crash protection” to what seems to be a random Java™ 7+ bug: "java.lang.IllegalArgumentException: Comparison method violates its general contract! ... at sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(DataTransferer.java ...".

    Note that, by default, clipboard errors are not reported. Clipboard errors can be printed on the console after setting system property XXE_SHOW_CLIPBOARD_ERRORS to any value (e.g. -DXXE_SHOW_CLIPBOARD_ERRORS=1).


  • Configuration option <saveOptions favorInteroperability="true"/> is now honored for XHTML documents, even when the save file is not to be indented.
  • Removed keyboard shortcut Ctrl+Shift-S (Cmd+Shift-S on the Mac). This keyboard shortcut was used for "Tools|Check Spelling".
  • "Easy Profiling" add-on v2.0:
    • The "Style of Selected Profile" and the "Style of Unselected Profile" are applied to elements having profiling attributes very differently than in v1.0.
    • The "Use as default for all 'DOCUMENT TYPE' documents" feature, which allowed to associate the same profile set to all documents having a given document type, has been suppressed.

6.2 (January 26, 2015)

Up-to-date XHTML5 support

Updated XHTML5 support (W3C XML Schema, CSS stylesheets, XSL stylesheets) to make it conform to W3C Recommendation "HTML5 A vocabulary and associated APIs for HTML and XHTML" (October 28, 2014).

The CSS stylesheets fully support ruby and form controls, which are now rendered the same way as in a Web browser. The "Semantic" stylesheet favors ease of editing. The "Emulate Web Browser" stylesheet favors a realistic rendering at the expense of a less convenient editing of some elements, most notably of ruby, the select form control and embedded content such as iframe, object, video, etc. A new demo document showing these features is available in XXE_install_dir/demo/xhtml5-objects.html.

Decently supporting XHTML5 form controls required implementing many CSS enhancements:

  • Added the following new CSS extension pseudo-functions: password-field(), color-chooser(), gauge(). Added a allow-empty-checked-value parameter to check-box().
  • Fixed a number of minor bugs in existing CSS extension pseudo-functions (text-field(), spinner(), etc) and more generally, made the generated form controls smoother to use in XXE.

    These changes were needed because almost all XHTML5 form controls are implemented using CSS extension pseudo-functions generating form controls. Example:

    input[type=range] {
        content: gauge(attribute, value, 
                       thumb, yes, 
                       min, xpath("if(@min, @min, 0)"), 
                       max, xpath("if(@max, @max, 100)"),
                       step, xpath("if(@step, @step, 1)"),
                       width, 6em, height, 1em); 
  • Support of CSS3 linear-gradient() as a background-image.
  • Support of CSS2 system colors (e.g. ButtonFace, ButtonText) and system fonts (e.g. caption, message-box).
  • The "Semantic" stylesheet now dynamically applies the style attribute to table elements such as table, colgroup, tbody, td, etc (only the style attribute and only the table elements, unlike the "Emulate Web Browser" stylesheet). This counterbalances the fact that, in XHTML5, all attributes influencing table rendering (frame, rules, width, valign, etc) have been removed from table elements.

Other changes


  • Added a "Set Color" item to the menu displayed by the "Table cell" toolbar button of the XHTML, DITA and DocBook configurations. This menu item displays a dialog box allowing to give a background color to specified cell.

    Unlike the other menu items of the "Table cell" toolbar button, "Set Color" allows to give a background color, not only to a table cell, but also to most table elements. XHTML 1.0 configuration example: "Set Color" allows to give a background color to one or more of any of the following explicitly selected elements: table, colgroup, col, thead, tfoot, tbody, tr, td, th.

    In the case of the XHTML 5.0 configuration, the "Set Color" menu item is replaced by a more comprehensive "Format" menu item. The "Format" menu item displays a dialog box making it easy and safe setting the style attribute of specified table elements to one or more of the following CSS properties: text-align, vertical-align, background-color, border-style, border-width, border-color.

    The styles specified this way should be correctly rendered when using the "Convert Document" submenu to convert the document being edited to formats such as PDF, DOCX, Web Help, EPUB, etc.

  • Added a popup menu at the right of the header of the attribute table found in the Attributes tool. This popup menu allows to toggle in the attribute table the visibility of attributes belonging to certain categories. Simply uncheck a menu entry to hide in the attribute table all the attributes belonging to the corresponding category.

    All the XHTML configurations define an attribute category called "Scripting". This category contains attributes such as onclick, onload, onmouseenter, etc (up to 62 scripting attributes for XHTML5!). The "Scripting" category is hidden by default.

    DITA configurations define a "Conditional Processing" category (audience, platform, etc) and an "Other" category (xtrc, xtrf; hidden by default).

    DocBook configurations define a "Profiling" category (arch, condition, etc), a "Scripting" category (onclick, ondblclick, etc; hidden by default) and an "Other" category (remap, xml:base, etc; hidden by default).

    Note that, even when attributes have been made hidden, it's still possible to specify them using the attribute form (auto-completion fully supported there) found above the attribute table.

    Also note that once an attribute has been specified for an element, it is displayed in the attribute table in all cases, no matter whether it belongs to a category marked as hidden.

    This feature is configured using the new attributeVisibility configuration element.

  • Slightly polished the look of several components of the main window of XXE and most notably the node path bar.
  • DITA CSS stylesheets: the table cells contained in the keycol column are now rendered using a lightgray background, just like the cells contained in a stheader.
  • DocBook CSS stylesheets: The <?dbhtml?> and <?dbfo?> processing instructions are now hidden inside table elements. The <?dbhtml bgcolor="color"?> and <?dbfo bgcolor="color"?> processing instructions are now applied to table rows and table cells.
  • XXE now has built-in support for XInclude 1.1. For now, the new features of XInclude 1.1 are not used by "Edit|Reference|Copy As Reference", "Edit|Reference|Include Text File" or the Include tool. However, this should change as soon as XXE adds support for DocBook 5.1 (DocBook 5.1 transclusion mechanism leverages XInclude 1.1).
  • Added XInclude support to all XHTML configurations, including the XHTML 5.0 one.

    Note that a proprietary annotation in XMLmind's xhtml5.xsd allows XInclude to function despite that fact that the "id" attribute no longer an xsd:ID in XHTML5. However this probably makes XHTML5 documents containing xi:include elements not interchangeable with XML applications other than XXE.

    In XHTML5, an "id" attribute may contain any kind of character, but space characters, for example, id="123". Note that "Edit|Reference|Copy As Reference" (Ctrl+Shift-C) will not work on an element having an "id" attribute which does look like a normal ID (that is, which is not an NCName).

  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.4.
  • Upgraded Saxon to version
  • Upgraded the FTP virtual drive plug-in to edtFTPj/PRO 4.6.2.
  • XXE is now officially supported on Mac OS X 10.10 (Yosemite), 10.9 (Mavericks) and 10.8 (Mountain Lion).
  • Mac OS X: you can now force the use of the private Oracle® Java™ 8 runtime included in the .dmg distribution by globally setting environment variable XXE_USE_PRIVATE_JRE (any value will do). On Mac OS X 10.8+, this is done by executing the following command:
    launchctl setenv XXE_USE_PRIVATE_JRE 1

Bug fixes:

  • On Mac OS X, with Apple® Java™ 1.6, the underlining of misspelled words (using a jagged red line) was not visible.
  • XHTML CSS stylesheets: the rendering of tables had several bugs. Examples: the rules attribute of element table could add borders to cells found at the edge of a table; rules="groups" was not implemented correctly for column groups.
  • XHTML XSL stylesheets: the rendering of tables had several bugs. For example, rules="groups" was not implemented correctly for column groups.
  • DocBook CSS stylesheets: the rendering of HTML tables had several bugs. For example, by default, the vertical alignment of cells was "baseline" and not "middle".
  • CSS engine: generated contents inherited the background-color and the background-image properties from their “parent element”.
  • "Paste from Word" feature: pasting a table preceded by its caption paragraph, immediately followed by another table preceded by its own caption paragraph, gave: first table has two captions and second table has no caption.
  • Using "File|Save As" to save a document to an FTP server and specifying an existing file (to be overwritten by "Save As") caused XXE to hang.
  • W3C XML Schema: a schema validation error was reported for something like <xsd:pattern value="[+-]?\d+"/>. The workaround was to replace "[+-]" by "[+\-]". This was a bug because the '-' character is a valid character range at the beginning or end of a positive character group and, as such, does not need to be escaped.
  • The keyboard shortcut of "Edit|Copy as Text" was Ctrl+Alt-C. On Windows, pressing AltGr-C (e.g. on a Polish keyboard) sends the same information as pressing Ctrl+Alt-C. This specificity made AltGr-C unusable on Windows. The keyboard shortcut of "Edit|Copy as Text" has been changed to Ctrl+Shift-P (P like in "Plain Text").
  • CSS support: counters() allowed an element to inherit the right values from its numbered ancestors, but not the right number formats. For example, an ordered list item styled using counters(item, ".", lower-alpha) could have a "a.b.c" label when the expected label was in fact "1.B.c".


  • By default, DITA attributes belonging to the "Other" category (xtrc, xtrf), DocBook attributes belonging to the "Scripting" category (onclick, ondblclick, etc) and the "Other" category (remap, xml:base, etc), XHTML belonging to the "Scripting" category (onclick, onload, etc) are not displayed in the attribute table found in the Attributes tool.

    In order to make these attributes visible even when they are not set on a element, please select the corresponding category in the popup menu displayed by clicking the down arrow button found at the right of the header of the attribute table.

  • XHTML5 documents which were valid in previous versions of XXE may now be found to be invalid. This is caused by substantial changes in the W3C XML Schema of XHTML5. For example, element hgroup has been suppressed.

6.1 (October 20, 2014)


  • Important changes related to the support of CSS:
    • The CSS engine now uses a 96DPI resolution whatever the actual screen resolution of the computer. Moreover the fonts in the styled view (only in the styled view; not in the tree view, source view or user interface) are always created using this 96DPI resolution. For example, a 12pt font has now a height of 16 pixels. (In the previous versions of XXE, a 12pt font had a height of 12 pixels, whatever the actual screen resolution of the computer, which was incorrect.)


      • The text looks slightly bigger in the styled view despite the fact that the default font size (Options|Preferences, View section, "Default font size" combobox) was reduced to 10pt. (In the previous versions of XXE, the default font size was 12pt.)
      • The CSS stylesheet for XHTML documents called "Emulate Web Browser" now works as expected.
    • Properties border-top-style, border-right-style, border-bottom-style and border-left-style are now fully supported (of course, in addition to shorthand property border-style).

      Note that properties border-top-width, border-right-width, border-bottom-width and border-left-width are still not really supported. Only shorthand property border-width is currently fully supported.

  • Added a "Convert to plain text" button to the XHTML, DocBook and DITA topic toolbars.
  • Added "Add reltable", "Reltable column", and "Reltable row" buttons to the DITA map toolbar. These buttons make it easy creating and editing reltables.
  • The "Browse Files" tool (File|Folder submenu) now allows to browse the contents of a Zip archive of any known kind (.zip, .jar, .epub, .docx, .xlsx, .odt, etc).

    However the "Browse Files" tool does not yet allow to modify the contents of a Zip archive. For example, double-clicking on a XML file found in a Zip archive automatically opens this file in XXE in read-only mode.

    In order to browse the contents of a Zip archive, simply open the folder containing this archive in the "Browse Files" tool, then right-click on the name of the archive file and finally select "Browse Archive Contents" from the popup menu. Note that the folder containing the Zip archive may be remote (that is, stored on an HTTP, FTP, etc, server or even on the Google Drive™).

    As a consequence, it's now possible to open in XXE, in read-only mode, an XML document contained a Zip archive. It's also possible to extract one or more files from a Zip archive using copy/paste or drag&drop.

    This feature is implemented by the means of the new Jar virtual drive plug-in, which like the File virtual drive plug-in, is bundled with XXE.

  • It's now possible to browse the contents of a folder or Zip archive by passing its filename or URL to the xxe command-line. Unix example: "xxe . &" allows to browse the contents of current working directory.
  • When there is no selection of any kind, command convertCase can be used to change the character case of the word containing the caret. In this mode, after changing the case of the current word, convertCase now automatically moves the caret to the next word.
  • "Paste from Word" feature: when pasting a table copied from MS-Word into a DocBook 4 or 5 document, the pasted table is now a CALS table. In the preceding versions of XXE, the pasted table was an HTML table.
  • When option "Allow advanced use of XInclude" (Options|Preferences, Edit section) is turned on, copying as reference (Edit|Reference|Copy as Reference; Ctrl+Shift-C), say, second to last child node of an element and then pasting the copied reference gave an XInclude looking like this:
    <xi:include href="chapter.xml"
      xpointer="xpointer(/*/node()[position() &gt;= 2 and position() &lt;= 3])"/>

    Now the same operation gives:

    <xi:include href="chapter.xml"
      xpointer="xpointer(/*/node()[position() &gt;= 2 and position() &lt;= last()])"/>

    which is somewhat more useful, because after adding child nodes at the very end of the element, the above xpointer allows to transclude the newly added child nodes.

  • DocBook 4&5 configurations: added the following elements: authorinitials, filename, literal, orgname, personname, productname, replaceable to the list of elements which are not checked for spelling.
  • DocBook 4 configuration: pressing Esc 5 now allows to convert opened document to DocBook version 5.
  • Added a script child element to macro commands. This new script child allows to run XED scripts in the context of a macro-command.

    XED is a very small, very simple scripting language, leveraging the native XPath 1.0 implementation of XMLmind XML Editor, allowing to modify in place the document being edited.

    In practice, this means that it's now to possible to develop very powerful commands without having to program in Java™. For example, XED scripts are used to:

    • implement commands Promote and Demote topicrefs in a DITA bookmap;
    • implement the largest and most complex part of "Paste from Word": extensively clean up then structure the non-filtered HTML generated by MS-Word 2003+.

    If you are curious, a commented example of such macros is found in "Convert a DocBook 5 para to a formalpara". The reference manual of XED is itself found in "The XED scripting language".

  • Added a -script option to xmltool indent. This option allows to modify a document using one or more .xed scripts before saving this document to disk.
  • Added XPath extension functions: object defined(string variable-namedefault-value?) and boolean is-editable(node-set?).
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.3.
  • Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 5.1.0.
  • Upgraded Saxon to version

New documentation:

XMLmind XML Editor - Support of XPath 1.0
XPath 1.0 is used everywhere in XXE: to configure the editor, to script commands and even in CSS stylesheets. This document contains the reference for all the XPath 1.0 extension functions supported by XXE.

This document also contains the reference for XED, a very small, very simple scripting language based on XPath 1.0. Because XED allows to modify in place the document being edited, it can be used to script advanced macro-commands.
XMLmind XML Editor - How to adapt "Paste from Word" to your needs
This document explains how the "Paste from Word" feature works, how to customize the XML it generates, how to integrate it into configurations other than XHTML, DocBook and DITA.

Bug fixes:

  • In rare cases, inserting an image in a short or empty document with option "Load images in a background task" set to "Yes" or "Remote images only" (Options|Preferences, View section) caused this image to be reloaded repeatedly. The resulting “blinking” made the document view unusable and forced the user to close it.

    This bug is now fixed in the vast majority of the known rare cases. However, this bug is still not fixed in all cases. The workaround when the blinking happens is to slightly resize the document view.

  • A CALS table containing two colspec elements having an identical colname attribute caused XXE to hang with a NullPointerException when for example, the user attempted to perform an "Insert Row" operation. Now attempting to perform any table editing command on an invalid table reports an error message.
  • Both the stock configuration (e.g. docbook5.xxe) and its user customization (e.g. 0docBook5.xxe) were loaded. In principle, the user customization should have overridden the stock configuration. This caused the File|New dialog box to list duplicate document templates for the customized configuration.
  • Probably due to a bug in most recent Java™ 1.8 runtimes, the "Paste from Word" menu item was disabled (grayed) after using MS-Word to copy part or all of a document to the clipboard.
  • "Paste from Word" feature: pasting some very complex tables (having “misaligned rows”) caused XXE to raise a NullPointerException when rendering these pasted tables.
  • Mac OS X/Oracle Java™: when specifying a helper application using Options|Preferences, "Helper Applications" section, the native file chooser dialog does not allow to select a ".app" package bundle. This kind of file is considered by Oracle Java to be a plain directory and as such, is traversed by the file chooser. This bug cannot be really fixed. Therefore, in order to specify ".app" package bundle as a helper application, simply select any file contained in this package.


  • Preference key defaultFontSize with 12 (pt) as its default value has been replaced by preference key cssDefaultFontSize with 10 (pt) as its default value.
  • Element.setName is now an operation which can be undone. As a consequence, the com.xmlmind.xml.doc.DocumentListener interface had to be changed. DocumentListeners must now implement new method elementNameChanged.
  • The transform child element of a macro command has been superseded by the new script child element. As a consequence, the transform child element is no longer supported.
  • XPath extension property has now the following signature: string property(string property-namenode-set?). However for compatibility reasons, something like property(/, '{http://www.xmlmind.com/xmleditor/namespace/property}sourceURL'), where property-name is a string literal, is still supported.

6.0 (July 9, 2014)

Internal changes not relevant to the end-user

XMLmind XML Editor (XXE for short) v6 has a large number of internal changes which are not relevant to the end-user of the application. These changes were needed to allow having several instances of XXE run on the same Java™ virtual machine (which was not possible with v5).

As a consequence of these internal changes, it's now possible, and even very easy, to embed an advanced XML editor based on XXE in a third-party Java™ application. This embedded XML editor can look like the desktop application or on the contrary, be very different (e.g. much simpler) from the desktop application. In both cases, it's still XXE and as such, it supports exactly the same customizations/extension points as the desktop application. More information in XMLmind XML Editor - Developer's Guide.

New "Easy Profiling" add-on

This new add-on, which is installed by default, makes it convenient and easy working with conditional processing profiles in XMLmind XML Editor.

This add-on adds a submenu called "Conditional Processing" and document templates called "Conditional Processing Profiles" to the DITA and DocBook configurations.

A "Conditional Processing Profiles" document template allows to create a ".profiles" file in XMLmind XML Editor. Such files contain a specification of one or more conditional processing profiles in a format which is independent of the target document type (DITA, DocBook).

The "Conditional Processing" submenu allows to work with conditional processing profiles when the document being edited is a DITA map or topic (of any kind) or is a DocBook 4 or 5 document.

Important preliminary step if you author DocBook documents

If you author DocBook documents and want to work with conditional processing profiles, then please use "Options|Customize Configuration|Customize Document Conversion Stylesheets" to select the profiling XSLT stylesheets. This step is needed because, out of the box, it's the normal XSLT stylesheets, which do not support conditional processing, which are selected by default.

Note that there is no such preliminary step if you author DITA documents.

More information in XMLmind XML Editor - Easy Profiling.

Other changes


  • New configuration specific tool bar:
    • The configuration specific tool bar buttons have been reorganized and have now a tool bar of their own. This new tool bar is found just below the main tool bar.
    • Moved the Column, Row and Cell submenus (containing table editing commands) from the XHTML, DocBook and DITA Topic menus to the new configuration specific tool bar.
    • Added an "Insert cross-reference" button allowing to insert xref or olink elements to the DocBook tool bar.
  • The conversion parameter editor that was previously found in the dialog box displayed after selecting "Options|Customize Configuration|Change Document Conversion Parameters" is now found at the bottom of the URL chooser dialog box displayed after selecting any of the "Convert Document" menu items.

    Note that this conversion parameter editor is initially folded in order to keep the URL chooser dialog box as simple as possible.

  • The above change has been implemented using the new [processCommand=process_command_name] option of command selectConvertedFile.
  • Added menu item "Window|New Window". This menu item opens a new main window identical to the initial main window of XMLmind XML Editor. It's useful if you work on many documents at the same time.

    Note that using File|Quit will now only close the corresponding main window. The XMLmind XML Editor application is actually terminated when its last main window has been closed using File|Quit.

    This new menu item is hidden by default. You need to enable it by checking "Enable the "Window|New Window" menu item" in Options|Preferences , General|Features section.

  • The "Convert Document" submenu found in DocBook, XHTML and DITA Topic, Map, BookMap menus has been made a feature (see Options|Preferences, General|Features section). This feature is enabled by default.
  • Paste from Word: added support for index entries.
  • CSS support: there is now a clean, easy, way to translate the messages ("Chapter", "Note:", etc) found the content generated by a CSS stylesheet. See "Translating messages in the content generated by a CSS style sheet".

    Note that this facility has not yet been used for the XHTML, DocBook and DITA CSS stylesheets.

  • CSS support: add generated content object command-menu(). Unlike command-button(), command-menu() dynamically computes its menu items (typically specified using xpath()) before displaying its popup menu.
  • Added command editAttribute, which is similar to command putAttribute, except that it simply returns the attribute value interactively chosen by the user. This command is only useful to write macro commands.
  • Added "Build and Install the Add-on to Test it" and "Uninstall the Test Add-on" items to the "Translation" submenu inserted by the "Translate XMLmind XML Editor" add-on in the File menu.
  • Using Java™ 1.8 to run XMLmind XML Editor is now officially supported.
  • The .dmg distribution for Mac OS X has been made easier to install and use:
    • All XXE files are now found in the XMLEditor.app application bundle folder. Therefore, now suffices to drag the XMLmind icon (that is, XMLEditor.app) and drop it in the /Applications folder to install XXE on your Mac.
    • The distribution now includes a private Oracle Java™ 1.8.0_05 runtime. However, this private runtime is not necessarily the one which will be used to run XXE:
      • If you have an Apple Java™ 1.6 runtime installed on your computer, this runtime —most reliable one and having the best font rendering— will be used to run XXE.
      • If you have an Oracle Java™ runtime at least as recent as the bundled one installed on your computer, this runtime will be used to run XXE.
      • Otherwise, it's the bundled runtime which will be used to run XXE.
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.2.
  • Upgraded Saxon to version

Bug fixes:

  • Paste from Word: fixed the following 4 minor bugs which were all reported by the same advanced user: use of comboboxes, use of text boxes, use of whitespace inside a paragraph otherwise only containing an image (thus acting as a figure), nested lists where some list items were pasted from a Web browser into MS-Word and other list items were created by hand using custom list styles.

    If, like this advanced user, you are not satisfied with the result of "Paste from Word", please be kind enough to send your .doc or .docx file to xmleditor-info@xmlmind.com (unlike xmleditor-support@xmlmind.com, this email address is not a public mailing list). Please understand that collecting as many difficult cases as possible is absolutely needed to improve this feature.

  • When using Java™ 1.8:
    • Add-on "Paste from Word" didn't work. It pasted vastly incorrect data.
    • Add-on "Google® virtual drive plug-in" didn't display the authorization dialog. Instead, it started the Web browser opened on the authorization page (as if a Java™ 1.6 runtime was used).
  • W3C XML Schema: the following schema caused XXE to report a false error saying that having both minLength and length facets is not allowed.
      <xs:simpleType name="NonEmptyString">
        <xs:restriction base="xs:string">
          <xs:minLength value="1"/>
      <xs:simpleType name="FixedString_9">
        <xs:restriction base="NonEmptyString">
          <xs:length value="9"/>
  • The "Browse Files" tool did not allow to open a MathML (.mml) file in XXE simply by double-clicking the file name.
  • Made the integration of the JavaHelp System into XXE simpler and more reliable.
  • The XXE_install_dir/bin/xxe shell script didn't work on the Mac when the path of XXE_install_dir contained space characters.


  • The directory where are stored all user preferences is now:
    • $HOME/.xxe6/ on Linux,
    • $HOME/Library/Application Support/XMLmind/XMLEditor6/ on the Mac,
    • %APPDATA%\XMLmind\XMLEditor6\ on Windows XP, Vista, 7 and 8.

      Example: C:\Documents and Settings\john\Application Data\XMLmind\XMLEditor6\ on Windows XP. C:\Users\john\AppData\Roaming\XMLmind\XMLEditor6\ on Windows Vista, 7 and 8.

      If you cannot see the "Application Data" directory using Microsoft Windows File Manager, turn on Tools>Folder Options>View>File and Folders>Show hidden files and folders.

    Previously, this directory was called XMLEditor5 or .xxe5 depending on the OS.

    As a consequence of this change, you'll have to restore your user preferences by hand using the Preferences dialog box (Options|Preferences). It's also possible to copy XXE5_user_preferences_dir/preferences.properties to XXE6_user_preferences_dir/.

  • Menu item "Options|Customize Configuration|Change Document Conversion Parameters" has been replaced by a panel found at the bottom of the URL chooser dialog box displayed after selecting any of the "Convert Document" menu items.

    As a consequence of this change, configuration element parameterSet is no longer supported.

  • The deploywebstart command-line utility has been replaced by a simpler, more flexible and more powerful deployxxe command-line utility. Just like deploywebstart, deployxxe makes it easy deploying XXE using Java™ Web Start or as a Java applet. Unlike deploywebstart, it is also used when embedding XXE in a third-party Java application.
  • The advanced options of the xxetool command-line utility have slightly changed.
  • The help configuration element has slightly changed.
  • .xxe_gui GUI specification files:
    • All stock .xxe_gui files have been renamed. For example, xxe-gui:app/Professional.xxe_gui becomes xxe-gui:DesktopApp.xxe_gui.
    • Attribute implementsCommand is no longer supported in action/class element. Commands must now be declared separately using the command element in a GUI specification file.
  • Incompatible APIs: SetAttribute.EditorFactory, ShowStatus.showStatus.
  • New or changed applet scripting methods: newDocumentFromTemplate, isSaveNeeded, unsetSaveNeeded, listModifiedDocuments.


  • The "Change Document Conversion Parameters" dialog box had a "Parameter Set" menu which allowed the user to load and save named parameter sets. There is no strict equivalent of this facility in XXE v6.
  • The xxetool command-line utility no longer uses the "Quick Start Cache" and is therefore slower to start than in the previous versions of XXE.

© 2003-2016 Pixware SARL. Updated on 2016/8/20.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Acrobat and PostScript are trademarks of Adobe Systems Incorporated.