XMLmind XML Editor Changelog

New in version 6.1

January 5th, 2015
  • Enhancements:
  • 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.)
  • Consequences:
  • 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:
  • Now the same operation gives:
  • 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-name, default-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 9.5.1.7.
  • 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.
  • Incompatibilities:
  • 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-name, node-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.

New in version 5.8.1 (February 12th, 2014)

  • New add-on called "Google virtual drive plug-in" (Google and Google Drive are trademarks of Google Inc.)
  • This add-on allows you to work directly on Google Drive as if it were your local hard drive. It's not a file synchronization tool. It makes accesses to Google Drive in real time. Of course, it does not not require you to install the Google Drive desktop application on your computer.
  • This add-on aims to turn Google Drive into a a zero-install, inexpensive, yet capable (autoversioning, full-text search) XML document repository. Such XML document repository is typically used by a group of technical writers working on the same set of files.
  • That's why this add-on will automatically write-lock XML documents opened in XMLmind XML Editor. Moreover, saving repeatedly to Google Drive a write-locked document will create only a single revision of this document.
  • On the downside, Google Drive is very slow (very high latency), even compared to other remote storage facilities such as FTP and WebDAV servers. In rare occasions, Google Drive may become slow to the point of being unusable. It may also report hard to understand errors. However these errors are always harmless for your files and for XMLmind XML Editor.
  • This being said, lots of development efforts have been made to ensure that the combination of XMLmind XML Editor and the Google virtual drive plug-in always works acceptably.
  • Like all the other virtual drive plug-ins, this add-on is not included by default in XMLmind XML Editor distributions. You'll have to download it and install it using menu item "Options|Install Add-ons".
  • Other enhancements:
  • Several enhancements had to be implemented in order to be able to work acceptably on Google Drive:
  • It is now possible to load the images referenced by a document after the body of the document, in a background task. When this option is turned on, you'll quickly see the body of the document and after that, each image referenced in the document will be revealed one after the other.
  • This new "Load images in a background task" option, is found in Options|Preferences, View section. It's default value "Remote images only", specifies that only images stored on remote filesystems (e.g. WebDAV, FTP, Google Drive, etc) should be loaded after the body of the document, in a background task.
  • The right-click popup menu of the "Browse Files" tool (displayed after selecting any of the items of menu "File|Folder") has a new Revisions entry. This entry is present only when the underlying storage facility supports file versioning (e.g. Google Drive).
  • The Revisions entry displays a dialog box listing all the revisions of the document being selected in the "Browse Files" tool. The dialog box allows to open and to compare selected revisions.
  • The "Browse Files" tool, and also the URL chooser dialog box, now display a progress dialog box when a Lock, Unlock, Paste, Rename or Delete operation takes more than 1 second to complete.
  • The "Browse Files" tool now specifies the MIME types of the files it transfers (i.e. using drag&drop or copy/paste), which is important to let Google Drive index the contents of these files.
  • The auto-save facility (Options|Preferences, Save section) no longer displays progress or error dialog boxes. It now works entirely “behind the scene”.
  • Suffice now to move the caret is inside a word to be able to use the entries of the "Search|Web Search" submenu. Previously, these entries were enabled only after an explicit text selection.
  • The dialog box displayed by "Help|About XMLmind XML Editor" now displays extensive information about the runtime environment of XXE. Moreover, it now has a Copy button allowing to copy this information to the clipboard. Please do not forget to attach this information to the bug reports you send us.
  • Using "File|Save As" to save a document opened in read-only mode now makes it switch to the normal read-write mode. This new behavior is deemed to be more intuitive for the user.
  • It is now possible to remove or replace items inside user interface elements such as menus or tool bars. In previous versions, it was only possible to extend such user interface elements by adding items.
  • Made the WebDAV plug-in more lightweight by removing its dependency on the excellent Woodstox StAX implementation. This plug-in now uses the StAX (XML pull parser) implementation found in the Java 1.6+ runtime.
  • Upgraded XMLmind DITA Converter (ditac for short) to version 2.5.0_02, which allows to generate Web Help whose integrated search facility supports stemming.
  • Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 4.8.2.
  • Bug fixes:
  • Selecting some text and then invoking Search|Replace or "Search|Replace Backwards" indeed initialized the Replace field of the Search tool with the text selection. However the first replacement performed by the Search tool skipped this initial text selection.
  • The Folder tool didn't show that the original file was unlocked when "File|Save As" was used to save this file to another folder.
  • The Folder tool didn't show that a file created using "File|New" when option "Immediately save newly created document" was turned on.
  • Unlike XXE, the convertdoc command-line tool, which is in fact XXE without a GUI, did not support URLs other than "file:", "http:", "https:" and "ftp:" URLs. It now supports any URL scheme implemented by the means of a virtual drive plug-in. For example, convertdoc now supports "ftps:", "sftp:" and "google:" URLs.
  • Incompatibilities:
  • The following add-ons "WebDAV virtual drive plug-in", "FTP virtual drive plug-in", "Integrated spreadsheet engine" are no longer included in XXE distributions. You now need to explicitly download and install these add-ons using menu item "Options|Install Add-ons".
  • The following add-on is no longer available: "W3C XML Schema configuration".
  • XXE_install_dir/bin/xxe.bat has been replaced by xxe-c.bat, which starts XXE with a console. On Windows, a console is needed to be able to see low-level error messages, for example, when developing custom configurations or extensions.
  • Interface com.xmlmind.xmleditapp.vdrive.DriveFactory and base class com.xmlmind.xmleditapp.vdrive.Drive have slightly changed. The implementations of third-party virtual drives must be recompiled after making a couple of small changes in the code.

New in version 4.4 (September 6th, 2009)

  • Sun's ``next generation JavaTM plug-in'' can be used to run XMLmind XML Editor (Professional Edition only) as an applet. See demo.
  • Integrated support for input methods (e.g. Japanese Romaji Input).
  • Several other enhancements make XMLmind XML Editor (all editions) more comfortable to use.