XMLmind logoCompany | Contact | Site Map
 
 

4.5.1 (November 26, 2009)

Enhancements:

  • The View menu now has a "Display Images" submenu which allows to change the way images are displayed in the styled view.

    "Display image as thumbnails" allows to avoid out of memory errors when opening documents containing a large number of high-resolution images.

    "Display image as bounding boxes" allows to speed up opening documents containing a large number of high-resolution images.

    By default, the image display mode is, of course, "Display images normally". This default mode may be changed by selecting the "Use as Default" entry of the new submenu or by using the "Display images" combobox found in Options|Preferences, View section.

    This submenu is available in all editions of XMLmind XML Editor, but is hidden by default. You need to enable it by checking "Enable the View|Display Images Submenu" in Options|Preferences, Features section.

  • A new command setImageMode allows to change the way the selected image is displayed in the styled view. This command also allows to change the image display mode of the styled view as a whole.
  • Upgraded XMLmind DITA Converter (ditac) to version 1.1.0_02 which now allows to convert DITA documents to Eclipse Help, among several other enhancements.
  • Added a Preprocessing Options menu item to the "Options|Customize Configuration" submenu. This new menu item is displayed only when a DITA document is being edited. It allows, among other facilities, to easily specify a conditional processing profile, that is, a .ditaval file, for use by the ditac preprocessor.
  • The file chooser dialog box displayed by File|Open and File|Save As now remembers across invocations its user-specified window size.
  • It is now possible to use XMLmind XML Editor as an ``internal'' helper application. For example, associating XXE to .mml files allows to edit the MathML documents referenced in a DocBook 4 document.

    There is a special button (bearing XMLmind's icon) which allows to associate XXE to a file type. This button merely specifies (xxe) "%U" (notice the parentheses around xxe) as the command template of the helper application.

  • Shift-clicking on the Help|About XMLmind XML Editor menu item (this cannot work on the Mac) adds more information (system properties, environment variables) to the About dialog box and at the same time, copies the contents of the dialog box to the clipboard. Doing this is recommended before sending a bug report to xmleditor-support@xmlmind.com.
  • Running deploywebstart using Evaluation Edition (which is a Personal Edition plus an evaluation key) now suffices to evaluate XMLmind XML Editor deployed using JavaTM Web Start or running as an applet.

    Previously each user of XMLmind XML Editor deployed using JavaTM Web Start or running as an applet had to install an evaluation key on her/his own machine. This constraint made the evaluation of XMLmind XML Editor deployed using Java Web Start or running as an applet very impractical.

  • Added system property XXE_PREDECLARE_NAMESPACE_PREFIXES. This property slightly changes the way namespace prefixes are declared in an XML save file, when the document being saved conforms to a DTD.
  • The thead and tfoot elements of XHTML and DocBook tables are now rendered using a very light gray background.
  • Antenna House xhtml2fo.xsl XSLT stylesheet which is used to convert XHTML to XSL-FO has been modified to work better with Apache FOP.
  • Improved the CSS stylesheets used to style the HTML pages generated by DocBook|Convert Document.
  • Upgraded the JEuclid image toolkit plug-in to version 3.1.8.

Bug fixes:

  • The CSS extension pseudo-class :property() didn't work when used with a descendant combinator. For example, what follows didn't work properly:
    @namespace prop "http://www.xmlmind.com/xmleditor/namespace/property";
    
    section:property(prop|sourceURL) link:after {
        content: " " circle;
        color: red;
    }
  • DocBook 4 and 5: an indexterm element inserted by Edit|Insert was completely empty. This is valid, but also non-intuitive as you cannot type the term right away. Now an indexterm element inserted by Edit|Insert automatically contains a primary child element.
  • The icon used to represent a collapsed XHTML table was missing.

Possible incompatibilities:

  • The CSS stylesheets called thumbnails.css, which are now no longer needed, have been removed from the distribution.
  • The com.xmlmind.xmledit.imagetoolkit.ImageRenderer has now 3 extra getImageSize methods. If your implementation of ImageRenderer derives from ImageRendererAdapter, then simply recompile it. Otherwise, you'll have to manually implement the 3 new methods.

4.5 (September 24, 2009)

DITA support is now bundled in XMLmind XML Editor. This support has been greatly enhanced. It is now as comprehensive as DocBook support in XMLmind XML Editor.

Most of the enhancements come from XMLmind DITA Converter.

XMLmind DITA Converter (ditac for short) allows to convert the most complex DITA 1.1 documents to production-quality XHTML 1.0, XHTML 1.1, HTML 4.1, JavaTM Help, HTML Help, PDF, PostScript®, RTF (can be opened in Word 2000+), WordprocessingML (can be opened in Word 2003+), Office Open XML (.docx, can be opened in Word 2007+), OpenOffice (.odt, can be opened in OpenOffice.org 2+).

XMLmind DITA Converter is free, open source, software licensed under the very liberal terms of the Mozilla Public License version 1.1.

All this makes XMLmind DITA Converter a very serious alternative to using the DITA Open Toolkit.

More information in http://www.xmlmind.com/ditac/.

Replacing the DITA Open Toolkit by XMLmind DITA Converter has removed the following limitations (that is, compared to DocBook processing):

  • It is now possible to edit DITA documents which are conforming to the W3C XML Schema of DITA 1.1 rather than to the DTD. However, DITA documents created using XXE still conform to the DTD (but this can be changed quite easily by customizing the DITA configuration).
  • DITA documents can now reference images having formats other than GIF, JPEG and PNG (e.g. SVG). If the proper image toolkit plug-in has been installed (e.g. the Batik plug-in), images will be automatically converted to other formats when needed to.
  • It is now possible to use RenderX XEP rather than Apache FOP to convert DITA documents to PDF. There is nothing special to do: simply install the XEP plug-in using "Options|Install Add-ons".
  • It is now possible to specify DITA conversion parameters using "Options|Customize Configuration|Change Document Conversion Parameters".
  • Converting DITA documents to formats such as XHTML, PDF, RTF, etc, now works even when XMLmind XML Editor is deployed using JavaTM Web Start or as an applet.

Other enhancements:

  • It is now possible to convert (Edit|Convert, shortcut Ctr-T) empty elements.
  • The DocBook and Topic (DITA) menus now both have a new "Insert or Edit indexterm" item. This menu item allows to edit the selected indexterm element if any, or to create a new indexterm element and then insert it at caret position otherwise. In both cases, this menu item displays a specialized dialog box allowing to quickly and easily specify the term to be indexed.
  • The add-on called "MathML support" now creates a customization of the DITA Topic configuration which allows to use the MathML tool to embed equations in DITA topics. Previously, this add-on added MathML support only to the DocBook 5 configuration.

    In order to implement this feature, the mml:math element is simply wrapped in a plain foreign element. A demo is found in mathml_addon_install_dir/ditamml/sample.dita.

  • A new add-on called "DITAVAL configuration" allows to use XXE to create and edit DITA conditional processing profiles (that is, .ditaval files).
  • The "Change Document Conversion Parameters" dialog box now remembers the last selected group of parameters.
  • The Reset button of the Install Add-ons section of the Preferences dialog box now allows to choose between 3 different add-on servers: the primary add-on server, the secondary add-on server (useful when the primary one is temporarily down) and the add-on archive (useful when you are running an old version of XXE).
  • Added CSS pseudo-function text() , which can be used to insert styled text in generated content. Example of use:
    hello[who]:after {
        display: block;
        content: "Hello " text(attr(who), font-weight, bold) "!";
    }
  • Added the following new macro/process variables: %h (URL of the user's home directory), %A (the user preferences directory), %a (URL of the user preferences directory), %X (the current working directory), %x (URL of the current working directory).
  • Added a pattern attribute to the transform child element of a process command. Example: <transform file="*.ditac" pattern="true">. This boolean attribute allows to use the same transform element to process several input files.
  • Added the [checkIsSaved] option to the XXE.save command.
  • Createproject.jar, the graphical wizard allowing to easily create XXE extension projects for ant and Eclipse now allows to create an OpenDocumentHook and an EditorListener.
  • Saxon 9.2 is now bundled with XMLmind XML Editor. This makes it possible to use XSLT 2 style sheets in your custom configurations. However if you want do do that, please do not forget to specify attribute version="2.0" in the transform child element of a process command.

Bug fixes:

  • Using Java 1.6 but not Java 1.5, it was possible to add empty attributes to an element, simply by clicking in a Value cell of the Attributes tool.
  • DITA support: conref="other_file.dita" failed to include the first topic found in other_file.dita, when other_file.dita was a multi-topic file (i.e. had a dita root element).
  • DITA support: in some cases, the special attribute value "-dita-use-conref-target" was not properly processed.
  • DITA support: conref processing in maps couldn't work because it didn't take into account the fact that maps, unlike topics, have a ``flat ID space''.
  • Suppressed warning x-p-props-correct ("the element declaration corresponding to this element particle is abstract and there are no non-abstract substitutions for this declaration") which was reported when validating W3C XML Schema. This warning does not make sense in the case of an open schema.
  • Pressing Ctrl-End when the size of the document view was smaller than the size of the window containing it (i.e. the document is short) caused the document view to be rendered at the bottom of its window.
  • When rendering CALS (DocBook) tables, a separator was drawn between cells when colsep="1" and/or rowsep="1". This was incorrect. A separator should be drawn between cells when colsep!="0" and/or rowsep!="0".

Possible incompatibilities:

  • You may have to manually uninstall the "DITA configuration based on the OASIS DTD" add-on, which is now obsolete. (Please do so using "Options|Install Add-ons".)
  • DITA support: addressdetails is now considered to be a space preserving element.
  • The content model of the invoke child element of a process command has changed:
    <invoke method="com.acme.Tests.sayHello" arguments="Hello world!"/>

    becomes:

    <invoke method="com.acme.Tests.sayHello">
      <argument>Hello</argument>
      <argument>world!</argument>
    </invoke>

    The signature of the static methods invoked by the invoke child element of a process command has changed accordingly. The first parameter of such methods used to be a String. It is now an array of Strings.

  • The copyProcessResources child element of a process command now requires its list files (e.g. resources="@xsl/xhtml/resources.list") to be encoded in UTF-8 and to contain paths separated by newline characters ('\n'). Open lines and lines starting with '#' are now ignored.

4.4 (June 5, 2009)

Enhancements:

  • Sun's ``next generation JavaTM plug-in'' can be used to run XMLmind XML Editor (Professional Edition only) as an applet. See demo.

    As an applet, XMLmind XML Editor is available in four kinds: viewer, editor1, editor2, xxe. Each applet kind is designed to solve a different problem and thus, has a different user interface.

    Despite the fact that applet kinds have vastly different user interfaces, it is still XMLmind XML Editor. That is, all applet kinds support the same user preferences and the same add-ons as the desktop application.

  • XMLmind XML Editor is deployed as an applet using deploywebstart, the same command-line tool used to deploy it as a JavaTM Web Start application. Deploying XXE as an applet is as simple as running: deploywebstart -applet applet_kind. Example: deploywebstart -applet editor2.

    Deploywebstart has two new options, -indexjars and -packjars, specially useful when XXE is deployed as an applet, but which may also be used when it is deployed as a JavaTM Web Start application.

  • XXE has now an integrated support for input methods (e.g. Japanese Romaji Input). When an input method has been selected by the user, a composition area, managed by the XML editor, is displayed inside the document view, below the caret.

    However, for efficiency reasons (the vast majority of XXE users is not expected to use input methods), this integrated support is disabled by default. If you need this feature, please turn it on by checking "Use integrated input method support" (Options|Preferences, Edit section).

  • Added an "Include Text" menu item to the Edit|Reference menu. This new menu item allows to easily create documents containing xi:include parse="text" elements.

    Moreover after using "Edit|Reference|Untransclude Reference" on the included text, it is now possible to open the corresponding text file by first selecting the xi:include parse="text" element and then using "Tools|Helper Application|Open Element or Attribute Content in Helper Application".

  • The various dialog boxes allowing to choose a resource of a document (e.g. an image) now remember across editing sessions the location of the resource directory and this, on a per-document basis.

    Example: you have inserted an image in /home/john/docs/report.xml and this image came from /home/john/docs/screenshots/. The next time you'll have to insert an image in /home/john/docs/report.xml, the dialog box allowing you to choose this image will automatically list the contents of /home/john/docs/screenshots/.

  • The dialog box displayed by the entries of the "Convert Document" menu now remembers across editing sessions the location of the conversion output directory and this, on a per-document basis. Moreover this dialog box can now display the history of last selected URLs.
  • On Windows, XXE now detects the case where the file generated using the "Convert Document" menu (e.g. MyBook.pdf) is already opened in another application (e.g. Adobe® Reader®). This case caused the conversion process to fail during its last step.

    This case is now detected at the very beginning of the conversion process. The user is then informed that she/he might need to close the file in the other application before proceeding with the conversion.

  • Pressing key INS (F1 on the Mac) inserts a new text node after selected element. When a new text node cannot be inserted because there is already one after selected element, pressing key INS now automatically moves the caret to the existing text node. Same enhancement for Shift-INS which inserts a new text node before selected element.
  • It is now possible to specify a custom CSS style sheet to style the HTML, Windows Help, Java Help, Eclipse Help or Epub generated using the "Convert Document" menu. Previously, one had to redefine the whole process command to do that. For now, such customization cannot be performed using the "Options|Customize Configuration" menu. You need to customize an existing configuration by hand as explained in "XMLmind XML Editor - Configuration and Deployment".

    The convertdoc command-line tool has new -r and -ru options to support this feature. Example:

    $ convertdoc -ru css fancy.css \
        docb.toHTML doc.xml -u /home/john/public_html/doc
  • XXE has two new command-line options. (Option -auth credentials is also supported by the convertdoc command-line utility.)
    -new config template|- save_file|-
    Command-line equivalent to using File|New. Examples: "xxe -new docbook article cloud_computing.xml", "xxe -new Slides - -".
    -auth credentials
    This option can be used to specify authentication credentials for a given server. This allows to connect to the specified server without interactively asking the user to enter a username and a password.

    The above two options are mainly intended to be used when XXE is run as an applet. However, they may be also useful when is XXE is run as a desktop application or is deployed using JavaTM Web Start.

  • The WebDAV client is now more forgiving for servers which return 400 - Bad Request for unmapped path segments.
  • Upgraded DocBook XSL style sheets to version 1.75.1.

Bug fixes:

  • On 64-bit Windows, xxe.exe failed to find any installed 64-bit JavaTM runtime.
  • The "Browse local files" button of the URL chooser dialog box listed the members of the parent of the expected directory. Example: you expect the file chooser dialog box displayed by this button to list the members of "file:/home/john/". The dialog box listed the members of "file:/home/".
  • Attempting to browse a location such as http://www.acme.com/dav (with no trailing slash and where dav is the ``WebDAV root'') using the "Browse remote files" button of the URL chooser dialog box caused XXE to raise a NullPointerException.
  • Spell checker dictionaries for languages other than the following ``well-known languages'': en, fr, es, de, it, pt and nl were ignored when XXE was deployed using Java Web Start.

    Such dictionaries are now taken into account provided that they are packaged in a file called language_code.dar (examples: cs.dar, pl-PL.dar) and that this .dar file contains a dictionary called language_code/default. Note that dictionaries other than language_code/default possibly contained in the .dar file are still ignored.

  • In the Edit tool, typing the first few characters of an element name found in the list of allowed elements and then pressing Enter worked fine. The bug was that clicking the green check button instead of pressing Enter didn't work.

    This bug also affected the Include tool.

Possible incompatibilities:

  • XXE no longer automatically uses the values of system properties java.net.socks.username and java.net.socks.password (more information in "Networking Properties") to authenticate to a SOCKS server. You now need to use the new -auth command-line option to do that.
  • The XXE_WEB_START.XXX properties used when XXE is deployed using JavaTM Web Start have been renamed to javaws.XXE.XXX. This means that if you use a hand-written .jnlp file then this file will no longer allow you to deploy XXE. Of course, there is no such problem if you use the deploywebstart command-line utility to generate the .jnlp file.
  • The Options|Install Add-ons menu item as well as the Install Add-ons and Proxies preference sheets are no longer displayed when XXE is started using JavaTM Web Start.

    When XXE is started using JavaTM Web Start, proxy servers must be configured using the JavaTM Control Panel.


4.3.0_01 (April 21, 2009)

Bug fixes:

  • Keyboard shortcut Ctrl+Shift-E (Edit|Reference|Edit Referenced Document) opened the included document in read-only mode.
  • Opening in read-only mode a document containing a spreadsheet caused XMLmind XML Editor to raise a ArrayIndexOutOfBoundsException.
  • The DocBook Slides configuration (an add-on) didn't take into account the fact that, as of version 3.4, the public ID of the Slides DTD changed from "-//Norman Walsh//DTD Slides XML V3.NNN.0//EN" to "-//Norman Walsh//DTD Slides V3.NNN//EN".

Enhancements:


4.3.0 (April 10, 2009)

Enhancements:

  • An element created using Edit|Convert now has a copy of the attributes of the element having been converted (as always, when allowed by the schema). Example: converting a <td valign="top"> to a th gives <th valign="top">.
  • An element created using Edit|Split now has a copy of the attributes of the element having been split (except the ID attribute, if any). Example: splitting <emphasis id="test" role="bold">bold text</emphasis> gives <emphasis id="test" role="bold">bold</emphasis> and <emphasis role="bold"> text</emphasis>.
  • When the document being edited conforms to a RELAX NG schema, command Edit|Convert now uses the element templates declared as selectable="override" to possibly suggest more conversion choices.

    For example, this heuristic now allows to use Edit|Convert to convert the selected text to a link element having a linkend attribute. This works because the DocBook 5 configuration contains the following element template:

    <elementTemplate name="linkend" selectable="override">
      <link xmlns="http://docbook.org/ns/docbook" linkend="???"></link>
    </elementTemplate>
  • Options|Customize Configuration|Change Document Conversion Parameters now has a Parameter Set menu. This menu allows to load and save named parameter sets. A parameter set is the set of all the XSL style sheets parameters specified by a user using the Change Document Conversion Parameters dialog box. This facility is almost indispensable to deal with the DocBook profiling XSL style sheets. Using such style sheets requires the user to quickly switch from one parameter set (e.g. containing profile.condition=newbie) to another (e.g. containing profile.condition=expert).
  • It is now possible to open a document in read-only mode. This is useful in the following cases:
    • You want to open a document without locking it (because doing so would prevent your coworkers from modifying it).
    • You want to make sure that you'll not be able to modify the opened document by mistake.

    The following actions allow to open a document in read-only mode:

    • Shift-click on File|Open or on the Open button of the toolbar.
    • Shift-click on any of the recently opened files found at the bottom of the File menu.
    • Use the URL chooser dialog rather than the file chooser dialog and check the "Open document in read-only mode" check box (new in v4.3).
    • Shift-click on Edit|Reference|Edit Referenced Document or on the "Open referenced document" button of the toolbar.
    • Right-click on a document tab to display its popup menu (new in v4.3). Check "Read-only Document". This check box allows to switch a document from its normal, read-write, mode to read-only mode and the other way round.

    The tab of a read-only document is rendered using a light blue/gray color.

  • File|Save now attempts to detect whether a document stored on the local filesystem has been modified using an external application. If this is the case, it will report this fact to the user and it will ask her/him to confirm that she/he still wants to save the document to its current location.
  • The English dictionary now considers that the actual apostrophe character (rsquo=U+2019) can be part of a word. The spell-checker still suggests for example "doesn't" for "doesn’t" and "aren't" for "aren’t", but now lets you save to your personal dictionaries (by clicking the Learn button) the variants containing the actual apostrophe character.
  • The HTML table editor and the CALS table editor now automatically use the element templates defined for row and cell elements. Previously, only the generic table editor used such element templates.

    DocBook 4 example of such element template:

    <elementTemplate name="withPara" selectable="override">
      <entry xmlns=""><para></para></entry>
    </elementTemplate>

    Notice attribute selectable="override" which is needed for the table editors to automatically use an element template.

  • Upgraded the FTP virtual drive plug-in to edtFTPj/PRO 2.1.3.
  • Upgraded the JEuclid image toolkit plug-in to version 3.1.5.
  • DITA add-on: upgraded the bundled copy of the DITA Open Toolkit to version 1.4.3.

Bug fixes:

  • On Windows, when file C:\foo\bar.xml was opened in XXE, double-clicking on the same file by error opened another instance of the same file, but this time the filename was c:\foo\bar.xml (notice that the drive letter is capitalized differently ).

    Internally, XXE uses URLs and not filenames. The bug was caused by the conversion from file to URL which didn't take into account the fact that the Windows file system is case-insensitive.

    Another effect of this bug was the use of ``strange'' relative URLs in XIncludes. Example: c:\foo\bar.xml including the root element of C:\foo\wiz.xml gave something like: <xi:include href="../../C:/foo/wiz.xml" xpointer="element(/1)"/>.

  • Saving a large DocBook 5 document to an indented XML file could take several seconds, which was nearly 10 times slower than saving an equivalent DocBook 4 document.
  • Loading a large DocBook 5 document making a heavy use of xref elements took forever. This slowness was caused by CSS rules using the XPath id() function. Example:
    xref[endterm] {
        content: icon(left-link) xpath("if(id(@endterm), id(@endterm), @endterm)");
    }
  • RELAX NG grammars making use of certain recursive content models could cause XMLmind XML Editor to raise a StackOverflowError.
  • Saving document doc1.xml containing inclusions such as <xi:include href="" xpointer="foo"/> as doc2.xml caused doc2.xml to contain inclusions such as <xi:include href="doc1.xml" xpointer="foo"/>. Now, as expected, doc2.xml contains <xi:include href="" xpointer="foo"/>.
  • The process commands used to convert DocBook 4 and 5 documents to the IDPF Epub e-book format were shipped with attribute debug="true". The effect of this attribute was that temporary working directories temporary_files_directory/xxeNNN/ were not deleted after the completion of such process commands.
  • On Vista, unless UAC was turned off, the installation of add-ons in C:\Program Files\XMLmind_XML_Editor\addon\ systematically failed due to the lack of proper privileges. XXE now automatically detects this case and silently installs the add-ons in %APPDATA%\XMLmind\XMLEditor4\addon\.
  • An add-on requiring for example XXE v4.2.1 was not considered to be compatible with XXE v4.2.1_01 (v4.2.1, patch level 1).
  • It was not possible to associate a configuration to documents which are not conforming to a schema.
  • Editing a document located on a virtual drive plug-in using registry-based URLs (e.g. foo://MyRegistry/bar/gee.xml) caused XXE to hang during a couple of seconds every 10 seconds or so. During this couple of seconds, XXE was blocked by the JavaTM runtime performing a DNS lookup (e.g. find the IP address of MyRegistry).
  • The thead and tfoot rows of an HTML table contained in a DocBook document were rendered using a bold font.
  • The default valign of a td was baseline and not middle like mandated by the HTML standard.

Regressions:

  • Local file locks (Options|Preferences, Open section, "Lock documents stored on the local filesystem" checkbox) are no longer implemented using mandatory, system-enforced, ``true locks''. They are now implemented using advisory, application-level, ``soft locks''.

    In practice, this has an impact only on Windows, because the previously used system locks were already advisory on the Mac and on Linux.

    The system locks prevented any other application from opening a document being edited in XXE. The new application-level locks just prevent other instances of XXE (run by you or by your coworkers) from opening the document being edited.

    On the positive side:

    • The following bug is fixed: on Windows with the lock option turned on, open chapter1.xml then open doc.xml including chapter1.xml. XXE failed to transclude chapter1.xml within doc.xml.
    • An application-level lock contain information about who is locking a document. Such lock and the attached information are now displayed by the URL chooser dialog box (much like what happens for WebDAV locks).

Possible incompatibilities:

  • Using File|Save As now has the side-effect to clear the undo stacks.

4.2.1 (February 4, 2009)

Enhancements:

  • Changed the look of the status bar mainly to improve its appearance on the Mac and also with the Nimbus Look and Feel (available as of JavaTM 1.6.0_10).
  • The explicitly selected node or implicitly selected element, that is, the subject of most commands acting on nodes, is now highlighted in the node path bar.
  • Made the autocompletion feature slightly smarter in several cases. Attributes tool example: from now, suffice to type the first few characters of the name of an attribute and then press Enter to select this name. Previously, after typing these first few characters, you had to also press the Space key or the Down Arrow key to fully specify the attribute name.
  • The Help menu now starts with a "Getting Started" menu item. This menu item displays what is, in our opinion, the shortest possible tutorial about XMLmind XML Editor.
  • XMLmind XML Editor has a new application icon based on the new logo of XMLmind.
  • The include command now supports URLs which need an XML catalog in order to be resolved. Example:
    include into boilerplate:common/trademarks.xml super_foo
  • It is now possible to convert DocBook 4 and 5 documents to the IDPF Epub e-book format using DocBook|Convert Document|Convert to Epub. The e-books generated by this facility have been tested against Adobe® Digital Editions and epubcheck.

    Note that profiling is not yet supported for the Epub format.

  • The xxe-*-mac.zip distribution has been suppressed because it is no longer needed. The regular xxe-*.zip and xxe-*.tar.gz distributions may now be safely installed on the Mac (though we still recommend ‘‘normal users'' to install the xxe-*.dmg distribution).
  • Upgraded the XMLmind XSL-FO Converter plug-in to version 4.3.

Bug fixes:

  • Promoting a sect3 element using menu item DocBook|Promote created a sect1 element instead of the expected sect2 element.
  • XXE was not able to reload the configuration customizations (Options|Customize Configuration) it created on the Mac. The error message was "Parse Error: Invalid encoding name "MacRoman".". Now such automatically generated configuration customizations are always saved using the "UTF-8" encoding.
  • XXE was supposed to be able to open XML documents using any of the encodings supported by the JavaTM runtime. This was not the case. For example, the "MacRoman" (and also its "x-MacRoman" alias) which is the default encoding on the Mac was not supported.
  • When option "Use a unique instance of XMLmind XML Editor" (Options|Preferences, General section) was turned on, executing a command like "xxe sftp://www.acme.com/docs/book.xml" failed with an "'sftp://www.acme.com/docs/book.xml' is not an URL or filename" error message.
  • The add-on called "W3C XML Schema configuration" was unusable due to an invalid reference to the XHTML 1.0 DTD (used to write the documentation of a W3C XML Schema).
  • The .bat files found in the bin\ subdirectory of XXE installation directory did not use the private JavaTM runtime bundled with the xxe-*-setup.exe distributions.
  • XMLmind XML Editor now uses a patched Xerces 2.9.1. These patches fix the following bugs: http://issues.apache.org/jira/browse/XERCESJ-1102, http://issues.apache.org/jira/browse/XERCESJ-1113. Note that XMLmind XML Editor has always been immune to these bugs. We needed to apply these patches because a part of the codebase of XMLmind XML Editor is shared with other projects, which unlike the XML editor, use Xerces to process XIncludes.

4.2 (December 8, 2008)

Enhancements:

  • The icons of XMLmind XML Editor have all been changed to nicer, more colorful and more consistent icons.
  • The FOP plug-in now has its preferences form in the Options|Preferences dialog box. This preferences form allows to specify which TTF fonts (e.g. arialbi.ttf) are to be embedded in the generated PDF and for each embedded font, one or more aliases (e.g. sans-serif bold italic).

    This facility is useful in the following two cases:

    • The 14 PDF standard fonts (Helvetica, Times, Courier, etc), which are used by default by FOP, have glyphs only for the Western languages. If, for example, you convert a DocBook document written in Russian to PDF, the generated PDF will mainly contain the '#' placeholder character. Fortunately, widely available TTF fonts such as Microsoft® Arial, Times New Roman and Courier New or the DejaVu fonts have glyphs for almost all the languages of the world.
    • Use fonts nicer than the 14 PDF standard fonts.
  • The preferences form works by modifying the FOP configuration file (a configuration file is automatically created if it does not exist). Therefore, as a by product of this enhancement, a FOP configuration created by hand (by an expert) is also supported by XMLmind XML Editor. The system property used to specify the FOP configuration file is XXE_FOP_CONFIG. By default, the location of the FOP configuration file is XXE_user_preferences_dir/fop/fop.conf. More information in the documentation of the plug-in (displayed by selecting Options|Install Add-ons and then, by selecting the entry corresponding to the plug-in).
  • Similar facilities, preferences form and support of a configuration file, have also been added to the XEP plug-in. The system property used to specify the XEP configuration file is XXE_XEP_CONFIG. By default, the location of the XEP configuration file is XXE_user_preferences_dir/xep/xep.conf. More information in the documentation of the plug-in (displayed by selecting Options|Install Add-ons and then, by selecting the entry corresponding to the plug-in).
  • Made the Search|Bookmark menu items sensitive to the position of the caret. Added the "Go to Preceding" and "Go to Following" menu items. The keyboard shortcuts associated to these new menu items are respectively Esc < and Esc >.
  • The file-name-field control (CSS generated content object) now displays a file chooser dialog box showing the location (if any) currently specified in the field. Previously this file chooser dialog box showed last visited location.
  • The Document structure CSS available for DocBook 4 and DocBook 5 documents now displays the refname of refentry elements.
  • Improved the support of overloaded constructors and methods when JavaTM constructors and methods are used as XPath extension functions.

    Example: previously file:new('.') (where xmlns:file="java:java.io.File") didn't work because java.io.File has two constructors having a single parameter: File(String) and File(URI). Now, file:new('.') works fine.

  • Added a store attribute to the zip element of a process command. (Adding uncompressed entries to a Zip archive is needed to support the Epub format.)
  • Added command setProperty which may be used to get, set and remove the property of an XML node. This command is useful for writing macro-commands.
  • Added system property XXE_CATALOG_RESOLVER_VERBOSITY which may be used to trace the resolution of system identifiers by the XML catalog resolver.
  • Upgraded the FTP virtual drive plug-in to edtFTPj/PRO 2.1.1.

Bug fixes:

  • In some cases, double-clicking on an image (or more generally selecting an element not containing text) caused the styled view to scroll by large, unexpected, amounts.
  • The file extension of "my.image.jpg" was considered to be "image.jpg" and not "jpg". This caused an image having this kind of filename to be displayed as the image placeholder icon (because the "image.jpg" ``format'' is not supported).
  • The menu item "Convert to DocBook v5+ then Open" found in the DocBook menu of the "DocBook v5+" configuration stopped working after the extensive code rewrite of XMLmind XML Editor v4.
  • xxe.bat used java.exe instead of javaw.exe to start XMLmind XML Editor.
  • Createproject.jar, the graphical wizard allowing to easily create XXE extension projects for ant and Eclipse was out of sync with the XXE runtime.
  • With the RenderX XEP plug-in, XHTML|Convert Document|Print PostScript sent invalid print jobs to the printer because the XSLT style sheet converting XHTML to XSL-FO specified the paper size as auto.
  • In some cases, the indent="true" and preserveInclusions="true" options of the copyDocument child element of a process command didn't work properly.

Known problems:

  • Deployment of XMLmind XML Editor using JavaTM Web Start does not work with JavaTM 1.5.0_16 due to JavaTM bug #6746185.

Possible incompatibilities:

  • Because file extensions containing periods are no longer supported, "Converting to WordprocessingML (MS-Word 2003)" menu items now generate files having a "wml" extension. Previously, that extension was "word.xml".
  • The WebDAV client used by "WebDAV virtual drive plug-in" add-on has been modified in order to support servers conforming to RFC 4918, in addition to servers conforming to RFC 2518.
  • The Help|Plug-ins menu item is now available only if the "Enable the Developer Tools" option has been turned on (Options|Preferences, General|Features section).
  • The new icons are PNG files. The basenames of the new icons differ from those of the old icons. They are all found in xxe-config:common/icons/.

    Custom configurations making use of the old icons need to be updated. Example:

    <menu label="_Column">
      <item label="_Insert Before"
            icon="xxe-config:common/icons/ColumnInsertBefore16.gif"
            command="dita.tableEdit" parameter="insertColumnBefore"/>
    ..

    must be replaced by:

    <menu label="_Column">
      <item label="_Insert Before"
            icon="xxe-config:common/icons/insertColumnBefore.png"
            command="dita.tableEdit" parameter="insertColumnBefore"/>
    ...

    A sed script is available on demand to help porting configurations to the new icon set.


4.1 (September 29, 2008)

Enhancements:

  • The FTP drive plug-in (Professional Edition only) now support the FTPS and SFTP protocols in addition to FTP. In the case of SFTP, password authentication and public key authentication are both supported.
  • The WebDAV drive plug-in (Professional Edition only) now makes it easy using HTTPS servers having a self-signed certificates. By default, for security reasons, the WebDAV drive plug-in fully validates the certificates sent by HTTPS servers. To change the default behavior, you need to select Options|Preferences, WebDAV Drive section and uncheck the "Validate HTTPS servers" toggle.

    Prior to this facility, the only way to work with an HTTPS server having a self-signed certificate was to register its self-signed certificate with JavaTM using the keytool command-line utility.

    /# cd $JAVA_HOME/jre/lib/security
    
    /opt/java/jre/lib/security# ls cacerts
    cacerts
    
    /opt/java/jre/lib/security# /opt/java/bin/keytool -import \
        -alias server_cert_alias -file /tmp/server_cert.pem \
        -keystore cacerts -storepass changeit
    
    /opt/java/jre/lib/security# /opt/java/bin/keytool -list -keystore cacerts -storepass changeit

    Doing this was clearly beyond the capabilities of any normal user.

  • Added a Bookmark submenu to the Search menu. This new menu allows to add, visit and remove bookmarks, which is especially useful when working on large documents.
  • Multiple views of the same document are now better synchronized in terms of visualizing the selection. As it was the case in preceding versions of XXE, the view having the keyboard focus always keeps the caret visible. But now, the other views attempt to always keep the whole text or node selection vertically centered in the viewport. When there is no text or node selection or when the selection is too large to fit in the viewport, these other views now always keep the caret vertically centered in the viewport.
  • Tools|Edit Attribute (Ctrl-E) now automatically selects first attribute containing a placeholder value (that is, "???"). This behavior can be configured using Options|Preferences Options, Edit section, "Automatically select an attribute" frame.
  • Added the following bindings. (Previously these bindings were found in the add-on called "A sample customize.xxe".)
    Esc l (means type Esc then press l) (L like Lower)
    Converts selected text to lower case. If no text is selected, operates on word containing caret.
    Esc u (U like Upper)
    Converts selected text to upper case. If no text is selected, operates on word containing caret
    Esc c (C like Capital)
    Changes the first letter of all words found in selected text to upper case. If no text is selected, operates on word containing caret.
    Esc n (N like Name)
    Inserts at caret position a character specified using its entity name (e.g. mdash). Works even if the grammar is not a DTD or if the DTD does not define character entities (in which case, this command uses the character entities defined in the DocBook 4.4+ DTD).
  • The include command now accepts parameters that makes it useful for automating tasks. Previously this command was strictly interactive.
  • Added the %n, %r and %e macro-command and process-command variables.
  • Added a mimeType attribute the root element of XXE configuration files. The value of this attribute is used to specify the content type of XML documents saved on WebDAV servers. When this attribute is not specified, the content type passed to the WebDAV server is always application/xml. This attribute allows to be more specific: application/xhtml+xml, application/docbook+xml, etc.
  • Upgraded DocBook XSL style sheets to version 1.74.0.
  • Upgraded the Apache FOP plug-in to version 0.95.
  • Upgraded the JEuclid image toolkit plug-in to version 3.1.3.

Bug fixes:

  • The document view stopped scrolling after holding Shift+Up or Shift+Down for more than a few seconds.
  • Pressing Ctrl-Home didn't move the caret to the top of the file. Pressing Ctrl-End didn't move the caret to the end of the file. Pressing Ctrl-Up near the top of file didn't move the caret to the top of the file. Pressing Ctrl-Down near the end of file didn't move the caret to the end of the file.
  • The user preferences directory is now ~/Library/Application Support/XMLmind/XMLEditor4/ on the Mac. Previously, it was ~/.xxe4/ like on Linux.
  • The Include tool raised a NullPointerException when attempting to insert a reference into an explicitly selected element.
  • Deleting some text containing a com.xmlmind.xmledit.edit.TextLocation mark didn't remove this mark.
  • Added a -storetype option to the deploywebstart command-line utility. This option is rarely needed but when you need it, you cannot do without it.
  • Forgot to document that this CSS restriction has been removed since v3.8.0:

    font-family is expected to contain serif, sans-serif or monospace. Example: "font-family: Helvetica, Arial, sans-serif;".

    In fact, something like: font-family: "Comic Sans MS"; works just fine, provided that you have the specified font installed on your system.

Possible incompatibilities:

  • The user preferences directory is now ~/Library/Application Support/XMLmind/XMLEditor4/ on the Mac. It is safe to migrate the old user preferences directory as follows:
    $ cd
    $ rm -rf "Library/Application Support/XMLmind/XMLEditor4"
    $ mkdir "Library/Application Support/XMLmind"
    $ mv .xxe4 "Library/Application Support/XMLmind/XMLEditor4"
  • The Find Element menu item has been moved from the Select menu to the Search menu. Its keyboard shortcut has been changed from Esc g to Esc f (F like Find).
  • The keyboard shortcut of Tools|Record Macro|Cancel has been changed from Esc M to Esc q (Q like Quit).
  • The "WebDAV virtual drive plug-in" add-on is based on a new WebDAV client.

4.0 (July 21, 2008)

Version 4 is essentially a clean-up release. It aims to be slightly smaller, slightly simpler and slightly more consistent than version 3.

User-visible enhancements:

  • The most important enhancements are related to the support of modular documents (also called support of inclusions).
    • Commands acting on the text selection and on table columns, rows and cells now work acceptably when the selection contains inclusions.
    • A subset of the xpointer() scheme (plain XPath 1.0; the point and range location types are not supported at all) is supported by our implementation of XInclude.

      As consequence, it is possible to copy as reference not only elements, but also ranges of sibling nodes (in documents for which the XInclude inclusion scheme has been enabled: XHTML, DocBook, etc). Note that by default, this advanced feature is disabled. You need to turn on option "Allow advanced use of XInclude" (Options|Preferences, Edit section) to use it.

    • Our implementation of XInclude now supports parse="text".
    • The XML catalogs are now used to resolve the href attribute of <xi:include> elements.
    • Inserting a conref in a DITA document now works as with any other inclusion scheme: use Copy as Reference (Ctrl+Shift-C) then Paste (Ctrl-U, Ctrl-V or Ctrl-W) or use the Include tool.
    • It is now possible to un-transclude an inclusion (Edit|Reference|Untransclude Reference), modify the inclusion directive and then re-transclude it (Edit|Reference|Retransclude Reference). This is useful in the two following cases:
      • This allows to fine tune the xpointer attribute of the XIncludes created using Copy As Reference then Paste. Example: replace xpointer="xpointer(id('disclaimer')/*[position() >= 1 and position() <= 8])" by, simpler and more stable, xpointer="xpointer(id('disclaimer')/*)".
      • This allows to add attributes (typically an ID) to the conref elements created using Copy As Reference then Paste.
    • If documents A and B include nodes contained in document C, saving document C will cause the inclusions to be automatically updated in document A and B. This option, "Automatically update references in modular document" (Options|Preferences, Save section) is turned on by default.
    • Option "Filter duplicate IDs found in modular documents" (Options|Preferences, Tools|Validate section) works more reliably than before.

      Moreover a document saved without preserving its inclusions (flattened document created using the new xmltool command-line utility) will contain no false duplicate IDs due to multiple inclusions of the same elements. This helps for picky processors such as FOP.

    • References to entities, whether external or internal, are now always preserved by XMLmind XML Editor. No more dreaded "unmanaged reference to external entity" warnings!
  • XMLmind XML Editor is now always namespace aware. Previously it wasn't namespace aware when the document being edited was conforming to a DTD.
    • DTDs are expected to define the namespaces and their prefixes using simple declarations such as this one:
      <!ELEMENT html (head, body)>
      <!ATTLIST html
        %i18n;
        xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
      >

      Elaborate and/or excessively flexible namespace declarations in the DTD will cause XMLmind XML Editor to fail to open a document conforming to such DTD.

    • When the document being edited conforms to a DTD, Tools|Declare Namespace may be used to view the namespaces and their prefixes, but not to modify them.
  • XMLmind XML Editor can now open document using any of the encodings supported by the JavaTM runtime.
  • XMLmind XML Editor can now open XML 1.1 documents.
  • By default, File|Save and File|Save As preserve the original encoding of the document.
  • Save preference "Always save these characters as entity references" now works as expected. Example: if you specify that the non-breaking space is to be always saved as a character entity reference, the saved file will contain &nbsp; or &#160; depending on whether the nbsp character entity has been defined in the DTD and this, regardless of the encoding chosen for the save file.
  • Attribute xml:base is now taken into account when accessing graphics files (e.g. <img src="XXX"/>) displayed in the styled view.
  • The dtdvalid, xsdvalid, rngvalid and schvalid command-line utilities have been replaced by a single, more powerful, command-line tool called xmltool. This new utility can not only be used to validate schemas and documents but also to indent and flatten documents.
  • Personal Edition now has the macro recorder (Tools|Record Macro) and the Include tool.

Other enhancements:

  • It is now possible to dynamically compose schemas by using the new validate configuration element. Example: DocBook 5 + MathML:
      <relaxng location="rng/V5.0/docbook.rng" />
      <validate namespace="http://www.w3.org/1998/Math/MathML">
        <relaxng location="rng/mathml2.rng" />
      </validate>

    Example: W3C XML Schema + XHTML (for writing the documentation of the schema):

      <schema>
        <location>http://www.w3.org/2001/XMLSchema
                  xsd/XMLSchema.xsd</location>
      </schema>
      <validate namespace="http://www.w3.org/1999/xhtml">
        <dtd publicId="-//W3C//DTD XHTML 1.0 Strict//EN" 
             systemId="xxe-config:xhtml/dtd/xhtml1-strict.dtd" />
      </validate>

    Notice how you can freely mix different types of schemas.

  • Added the following new commands: setReadOnly, uninclude, reinclude, updateInclusions, insertOrOverwriteString, replaceText (which may be used to automate text search and replace).
  • The transform child element of the process configuration now has a version attribute allowing to use an XSLT 2 engine (Saxon 9) rather than bundled XSLT 1 engine (Saxon 6.5.5). Note that Saxon 9 is not yet bundled with XMLmind XML Editor. If you need this functionality, for now, you'll have to bundle saxon9.jar with your extension.
  • An element marked as being read-only (using the API or using the new setReadOnly command) can now have editable child elements.
  • Upgraded the Batik image toolkit plug-in to version 1.7.

Regressions:

  • References to external entities can no longer be used to compose modular documents.
  • Edit|Reference|Edit Referenced Document (Ctrl+Shift-E) no longer works for external entities.
  • As configured by default now, XMLmind XML Editor will not open an external entity after automatically adding it the proper <!DOCTYPE>.
  • Templates such as "Chapter entity (no <!DOCTYPE>)" are no longer available.

    Technical details

    Configuration elements such as the following ones must now be avoided:

    <detect>
      <and>
        <rootElementNamespace xsi:nil="true" />
        <not>
          <dtdPublicId substring="true">Simplified</dtdPublicId>
        </not>
        <or>
          <dtdPublicId substring="true">DTD DocBook</dtdPublicId>
          <and>
             <schemaType xsi:nil="true" />
             <or>
                <rootElementLocalName>part</rootElementLocalName>
                <rootElementLocalName>chapter</rootElementLocalName>
                <rootElementLocalName>refentry</rootElementLocalName>
                <rootElementLocalName>appendix</rootElementLocalName>
                <rootElementLocalName>glossary</rootElementLocalName>
                <rootElementLocalName>section</rootElementLocalName>
                <rootElementLocalName>sect1</rootElementLocalName>
                <rootElementLocalName>sect2</rootElementLocalName>
                <rootElementLocalName>sect3</rootElementLocalName>
                <rootElementLocalName>book</rootElementLocalName>
                <rootElementLocalName>article</rootElementLocalName>
             </or>
          </and>
        </or>
      </and>
    </detect>
    
    <dtd publicId="-//OASIS//DTD DocBook XML V4.5//EN" 
         systemId="dtd/V4.5/docbookx.dtd" />

    The use of the <dtd> configuration element should now be reserved for very specific cases. It should always be used in conjunction with <saveOptions saveCharsAsEntityRefs="false">.

  • Now that XMLmind XML Editor is namespace aware for documents conforming to a DTD, it may fail to open documents that v3 succeeded to open.
  • The behavior of menu item File|Save As is different, simpler, than before. Previously, this command allowed you to save a copy of the document along with all its resources (inclusions, graphics files). Now it merely preserves the links to referenced resources.
  • The following menu items have been removed: File|Open Copy, File|Open as Template, File|Save Copy.

    Therefore the corresponding XXE.* commands have been removed too.

  • Composite document templates (modular document templates and/or document templates referencing graphics files) now need to be packaged as .zip files. Previously, such composite document templates were automatically detected and properly handled.
  • The include command is now strictly interactive. Previously this command accepted parameters which allowed to use it to automate tasks.
  • The support of non-XML format plug-ins has been dropped.
  • The following add-ons are no longer available:
    • JavadocTM format plug-in.
    • Apache FOP XSL-FO processor plug-in.

      This add-on included FOP 0.20.5. The add-on called "Apache FOP 1.x XSL-FO processor plug-in " which includes FOP 0.94 is of course still available.

      FOP 0.20.5 was needed to convert DITA document to PDF. We have slightly modified the XSLT style sheets to make them work with FOP 0.94. Unfortunately, like with FOP 0.20.5, the generated PDF files are far for being of production quality. The culprits are mainly the DITA XSLT style sheets and, to a lesser extent, FOP 0.94 (e.g. footnotes contained in table cells and list items are not displayed).

    • Zip virtual drive plug-in.
    • XHTML 1.0/RELAX NG configuration.
    • XSLT 1.0 configuration.
    • Customization of the DocBook 5 configuration allowing to edit <xi:include> elements by hand.
    • A customized configuration for the DocBook DTD.
  • DocumentHook has been replaced by the simpler ValidateHook.

Porting to XInclude

The first four regressions imply that you may have to ``port to XInclude'' your modular documents built using references to external entities (e.g. DocBook 4 documents, but not DocBook 5 or DITA documents).

This involves straightforward changes, best performed using a text editor:

  1. Add a <!DOCTYPE> to all your external entities. Example:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <chapter id="reference">
      <title>Reference</title>
      ...

    becomes:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
    <chapter id="reference">
      <title>Reference</title>
      ...
  2. In the master document, remove the declarations of the external entities from the internal subset of the DTD. Example:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    <!ENTITY __introduction__ee3x284a SYSTEM "introduction.xml">
    <!ENTITY __tutorial__ee3x2lk0 SYSTEM "tutorial.xml">
    <!ENTITY __deployment__ee3x2v41 SYSTEM "deployment.xml">
    <!ENTITY __reference__ee3x38qi SYSTEM "reference.xml">
    ]>
    <book>
      <bookinfo>
      ...

    becomes:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
    <book>
      <bookinfo>
      ...
  3. In the master document, replace the references to the external entities by the corresponding XInclude elements. Example:
      &__reference__ee3x38qi;

    becomes:

      <xi:include href="reference.xml" xpointer="element(/1)"
                  xmlns:xi="http://www.w3.org/2001/XInclude" />

Incompatibilities:

  • The user preferences directory of XMLmind XML Editor v4 has changed. This directory is now:
    • %APPDATA%\XMLmind\XMLeditor4\, on Windows.
    • $HOME/.xxe4/, on other platforms.

    In practice, this means that you'll have to respecify all your user preferences using Options|Preferences and to reinstall all your add-ons using Options|Install Add-ons.

  • Inclusion schemes (e.g. XInclude, DITA conref) now need to be explicitly declared in the configuration file. Previously the XInclude inclusion scheme was declared by default.
  • The following add-ons have been grouped into a single add-on called "XMLmind XML Editor Configuration Pack":
    • A configuration for specifying XMLmind XML Editor configurations.
    • A configuration for specifying XMLmind XML Editor GUIs.
    • A configuration for specifying XMLmind XML Editor add-ons.
    • A configuration for specifying XMLmind XML Editor spreadsheet functions.
  • CSS ``proprietary'' pseudo-class :property now has a QName argument. Previously this argument was a string.
  • CSS ``proprietary'' pseudo-class :read-only is no longer available. Instead use something like:
    @namespace prop "http://www.xmlmind.com/xmleditor/namespace/property";
    
    *:property(prop|readOnly, "true") {
        background-color: #E0F0F0;
    }
    
    *:property(prop|readOnly, "false") {
        background-color: normal;
    }

    Note that CSS property background-color now accepts ``proprietary'' value "normal" in addition to the standard property values.

  • The string argument of the property XPath extension function now must contain an XML qualified name. This XML qualified name must have one of the following forms: prefix:local_part, where prefix has been defined in the document being edited, or {namespace_URI}local_part.

    There is now no equivalent to the "editable" pseudo-property.

  • The following commands have been removed: setEditable (replaced by setReadOnly), copyInclusionEnabled, cutInclusionEnabled, pasteInclusionEnabled (no longer useful).
  • The following configuration elements have changed:
    documentHook
    Replaced by validateHook.
    documentResources/resource
    Removed its action attribute.
    inclusionProcessor
    Replaced by inclusionScheme.
    imageToolkit/input
    Removed its rootQNames attribute. Its rootNames attribute.now contains QNames.
    relaxng
    Removed its name attribute.
    schematron
    Removed its namespaceAware attribute.
    process/transform
    Added a version attribute.
  • XMLmind XML Editor now requires JavaTM 1.5+ in order to compile and run.
  • The JavaTM API of XMLmind XML Editor has been completely reorganized. A Tcl script, api3to4.tcl, included in the developer's documentation, should help porting the code of your extensions to the new API (do not expect wonders though!).
  • Access to the source code of XMLmind XML Editor is now bundled with the site and developer licenses and available on demand for customers having purchased more than 10 user licenses.

Bug fixes:

  • On Windows 2000/XP, the user preferences directory is supposed to be "%APPDATA%\XMLmind\XMLEditor\". In fact, it was always "%SystemDrive%\Documents and Settings\%USERNAME%\Application Data\XMLmind\XMLEditor\". The bug was that, for example, "Application Data" is called "Datos de programma" on a Spanish machine.
  • Adding, replacing or removing an attribute using the Attributes tool didn't change the editing context. For example, it was not possible to Copy as Reference (Ctrl+Shift-C) an element immediately after giving it an ID attribute.
  • Clicking on an internal link (e.g. the name of an attribute of an element belonging to a RELAX NG schema) in the window displayed by Help|Show Content Model didn't cause the window to scroll to the target of this link.
  • When replacing the title element of a DocBook 5 book, the Edit tool randomly suggested the following pairs of element templates: info(no_title), info(title) and info(no_title), info(no_title). The Edit tool now always suggests info(no_title), info(title).

    If you need to add meta-info to a DocBook 5 book, please restrict yourself to replacing its title element by an info(title) template. Do not replace the title element by info(no_title) and do not insert info(no_title) after the title element as this would cause XMLmind XML Editor to automatically switch to lenient mode.

    This limitation is specific to the title and meta-info of a book (because the title element is optional in info(title) which makes the content model truly ambiguous). There is no such problem for the title and meta-info of a chapter or a section.

  • Clicking on a error displayed by the Validity tool did not expand the collapsed section containing the element in error.
  • Removed the following line
    <include location="xxe-gui:app/Professional.xxe_gui" />

    from mathml_config/common/customize.xxe_gui. Not only this directive was not needed, but it also prevented other customize.xxe_gui files to be taken into account.

  • Ctrl-Space — insert a non-breaking space at caret position — always worked in insert mode. That is, it didn't honor the overwrite mode (Esc Insert).
  • 0-width characters were always drawn as little rectangles.

3.8.1 (June 4, 2008)

Enhancements:

  • The dialog box allowing to specify IDREFS can now be resized.
  • When an attribute value was too long to fit in the Attribute tool, you could only see its first few characters. Now, a ``balloon help'' showing up to 128 characters is automatically displayed for such long attribute values.
  • The "Contained in document:" combobox of the Include tool now properly displays long filenames.
  • A CSS extension method (e.g. content: invoke("myExtensionMethod")) may now return a list of CSS values.
  • JEuclid image toolkit plug-in: now adds MathML support to FOP 0.94. In practice, installing both "Apache FOP 1.x XSL-FO processor plug-in" and "JEuclid image toolkit plug-in" add-ons allows to convert documents containing equations to pretty decent PDF.
  • DITA add-on: upgraded the bundled copy of the DITA Open Toolkit to version 1.4.2.1.

Bug fixes:

  • An element styled using a solid border could inherit the dotted or dashed border style of its parent.
  • Specifying an invalid value for the groupalign attribute of the MathML mtable element caused XMLmind XML Editor to raise a NullPointerException.

3.8 (April 4, 2008)

XMLmind XML Editor Professional Edition now natively supports MathML 2 presentation markup. MathML support is packaged as an add-on which:

  • allows to create standalone MathML documents,
  • tightly integrates MathML with DocBook 5.

Native support means that MathML elements are treated like any other element. That is, XMLmind XML Editor does not embed a specialized math editor. On the contrary, all commands, all kinds of selection, work fine with MathML elements. However, using the generic commands requires you to learn MathML. If you don't want to do that, for example, because you just want to type a couple of equations, then simply use the new MathML tool which is installed by the add-on just below the Edit tool, at the top/right of the main window.

More information in "XMLmind XML Editor - Support of MathML 2".

Other enhancements:

  • Added menu View|Text Size. The items of this menu make it easy changing the base font size of the active styled document view. Moreover, using the mouse wheel while pressing Ctrl (Cmd on the Mac) is a handy alternative to selecting an item in the Text Size menu.

    Using this menu or the mouse wheel is almost unavoidable when editing MathML equations because, in such case, font sizes (e.g. subscripts) tend to become very small. Do not attempt to use this facility in the general case, when editing medium to large documents, you'll find it slow to the point of being unusable.

  • Made command insertCharByName more flexible and clarified its documentation.
  • Added a number of elements to cfg:spellCheckOptions/@skippedElements in both DocBook 4 and DocBook 5 configurations. This attribute is used to specify which elements should automatically be skipped by the spell checker.
  • Added an url attribute to the parameter configuration element. Example of use:
    <parameterGroup name="docb.toPS.FOPParameters">
      <parameter name="configuration" url="true">fop.xconf</parameter>
    </parameterGroup>
  • Upgraded the XMLmind FO Converter plug-in to version 4.2p1.
  • Upgraded the JEuclid image toolkit plug-in to version 3.0.3.

Bug fixes:

  • Find next element having an attribute containing "foo" was translated by the "Find Element" dialog box to:
    (descendant::*|following::*)[contains(@*,'bar')][1]

    when it should have been translated to:

    (descendant::*|following::*)[./@*[contains(.,'bar')]][1]
  • On Windows 2000/XP, the user preferences directory is supposed to be "%APPDATA%\XMLmind\XMLEditor\". In fact, it is always "%SystemDrive%\Documents and Settings\%USERNAME%\Application Data\XMLmind\XMLEditor\". The bug is that, for example, "Application Data" is called "Datos de programma" on a Spanish machine.

    This bug cannot be easily fixed in XXE v3.x. It will be fixed in XXE v4.

  • XML-style empty elements (e.g. <img src=foo.gif"/>) caused the JavadocTM format plug-in to fail to load the ".java" file.

Possible incompatibilities:

  • XMLmind XML Editor is no longer officially supported on JavaTM 1.4. Note that v3.8 still runs using a JavaTM runtime 1.4.1+. But this will no longer be the case of v4 (scheduled for this summer).