XMLmind   
    Home    Products    Services    Resources
Products
 
XSL-FO Converter
Qizx/db XML Database
XML Editor
    Why Choose XMLmind?
    Features
    Screen Shots
    Personal Edition
    Download Personal Edition
    Professional Edition
    Evaluate Professional Edition
    Buy Professional Edition
    Upgrade Professional Edition
    Documentation
        Changes
        Install
        Tutorial
    Support
    Add-ons

 

Site Map
Contact

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).

3.7.1 (January 18, 2008)

Enhancements:

  • Now, if for example, you want to replace "editor" by "modeller", "Editor" by "Modeller" and "EDITOR" by "MODELLER", simply use the Search/Replace tool, specify both "editor" and "modeller" in lower-case and make sure to check the "Ignore Case" checkbox.
  • The Search/Replace tool now has a "Wrap search" checkbox. Turning on this option allows to restart the search from the beginning of the document when the end of the document has been reached.
  • The Spell tool now has a "Start from caret" checkbox. Turning on this option allows to start spell-checking from the current caret position rather than from the beginning of the document.
  • Starting from the version which will follow this one, when you'll upgrade XXE and start the newly installed copy, XXE will suggest to also upgrade the add-ons. Clicking OK will automatically upgrade all the add-ons that were installed before you upgraded XXE. That is, this includes the add-ons previously installed in the XXE_install_dir/addons/ directory that were deleted when you uninstalled your old version of XXE.

    This facility also works in v3.7.1, but less optimally, because it will not upgrade the add-ons that were installed in XXE_install_dir/addons/, but only the add-ons installed in XXE_user_preferences_dir/addons/.

    Note that you can automatically upgrade all the add-ons at any time by holding the Shift key and clicking on Options|Install Add-ons.

  • Double-clicking on a ``collapser button'', whether in a styled view or a tree view, is equivalent to right-clicking on this button and selecting "Collapse All" (or "Expand All" depending on the state of the button) from the popup menu.
  • Unless option -online has been specified, the deploywebstart command-line utility now inserts <offline-allowed/> in the xxe.jnlp file it generates.
  • Upgraded the XMLmind FO Converter plug-in to version 4.2.
  • Upgraded the JEuclid image toolkit plug-in to version 3.0.2.
  • DITA add-on: upgraded the bundled copy of the DITA Open Toolkit to version 1.4.1. DITA Open Toolkit v1.4.1 requires a JavaTM 1.5 or newer runtime.

Bug fixes:

  • The behavior of XXE was not easy to understand when a user having no write permissions on the XXE_install_dir/addon/ directory attempted to install add-ons.
  • Using a third-party application (Tools|Helper Application) to edit a document opened in XXE changed the document tab index and/or split screen position when the modified document needed to be reopened in XXE. More generally, reopening a document already opened in XXE no longer changes its tab index and/or split screen position.
  • Removed all the references to configuration.xsd found in XXE configuration files (example: xsi:schemaLocation="http://www.xmlmind.com/xmleditor/schema/configuration ../xxe_configuration_config/xsd/configuration.xsd"). Such references made it impossible opening configuration files in XXE without installing the add-on called "A configuration for specifying XMLmind XML Editor configurations". Also removed all the references to gui.xsd found .xxe_gui files.
  • NTLM authentication uses an empty string as its prompt. This empty prompt was not properly saved in the preferences file of the user.
  • The convertdoc command-line utility didn't clearly report that it cannot work with free Personal Edition.
  • The -t custom_XSLT_style_sheet option of the convertdoc command-line utility didn't have priority over the profiling style sheets selected using Options|Customize Configuration|Document Conversion Preferences, "Use the profiling style sheets" check box.
  • The background color of generated content objects such as file-name-field, date-time-picker, etc, was not correctly rendered.
  • The "Slides configuration" add-on contained XSL style sheets which were not consistent with the bundled DocBook XSL style sheets.
  • Pre-release versions of JavaTM such as 1.6.0_10-ea-b07 were not properly detected.

3.7.0 (November 15, 2007)

Enhancements:

  • The DITA add-on for XMLmind XML Editor now fully supports the DITA DTD 1.1. It includes its own minimal copy of DITA Open Toolkit version 1.4. If you need this add-on, please install it using Options|Install Add-ons.
  • New Tools|Helper Application sub-menu. This menu contains entries allowing to use third-party applications to view or edit part or all of the document being edited. Examples:
    • Use your web browser to open the page referenced in the url attribute of the (DocBook 4) ulink element.
    • Use GIMP to edit the image file referenced in the src attribute of the (XHTML) img element.
    • Use Inkscape to edit the svg:svg element contained in an (DocBook 5) imagedata element.
    • Use your web browser to preview the XHTML document being edited.
    • Use your favorite text editor to perform some low-level modifications on the XML document being edited.
  • New date/time picker dialog box. This dialog box is used by
    • the Attribute Tool when the type of the attribute being edited derives from xs:dateTime, xs:date or xs:time,
    • the putAttribute and addAttribute commands in similar circumstances,
    • new form controls called date-time-picker, date-picker, time-picker (see Content objects in XMLmind XML Editor - Support of Cascading Style Sheets).
  • Features which are not useful in the general case are now hidden by default. Currently these features are:
    • The Include tool.
    • The integrated spreadsheet engine.
    • Some developers tools (e.g. a menu item allowing to reload all configurations without having to restart XXE).

    If you need any of these features, simply use Options|Preferences, Features section, check the box corresponding to the feature and then restart XXE.

  • Added the ends-with and serialize XPath extension functions. See Extension functions, XPath functions in XMLmind XML Editor - Commands.
  • Upgraded the DocBook 5 RELAX NG and Schematron schemas to latest version V5.0CR7.

Bug fixes:

  • By dropping an image file onto a DocBook imagedata element for example, and by selecting "Copy to" (instead of "Reference as"), it was possible to attempt to copy an image file to itself. Not only this caused a false image format error to be displayed in the document view in lieu of the image, but worse, this emptied out the image file.
  • Added rules to the DocBook 5 CSS style sheet in order to style elements related to EBNF (production, lhs, etc). Note that support for html:* form elements is still missing from the DocBook 5 CSS style sheet.
  • The integrated spreadsheet engine is now automatically activated when you paste any XML fragment containing one or more spreadsheet formulas (i.e. <?xxe-formula...?> processing instructions). Previously, you had to insert a formula by hand (using Tools|Spreadsheet|Insert/Edit Formula or Ctrl+Shift-I) in order to activate the integrated spreadsheet engine.
  • xsc.jar, the JavaTM archive containing the XMLmind Spell Checker engine was digitally signed. This prevented easy deployment using JavaTM Web Start.
  • The convertdoc command line utility can now be used to convert XML documents stored on remote server (e.g. WebDAV or FTP servers). Its documentation describes how to solve the user authentication problem.

Possible incompatibilities:

  • The Include tool and the integrated spreadsheet engine are now hidden by default. These features now need to be enabled by checking the corresponding boxes in Options|Preferences, Features section.
  • Developer tools are now available in all editions of XMLmind XML Editor. However such tools are hidden by default. You need to enable them by checking "Enable the Developer Tools" in Options|Preferences, Features section.

    Previously, such tools were available only in XMLmind XML Editor Professional Edition and you had to set environment variable XXE_GUI to value "xxe-gui:app/Developer.xxe_gui" before starting the application.

  • Commands viewObject and editObject no longer try to guess what attribute or element is to be viewed or edited. Instead these commands display a dialog box allowing the user to choose the attribute or element from a list.

3.6.2 (September 7, 2007)

Enhancements:

  • New overwrite mode: typing a character replaces the character found at caret position by the typed character. If the caret is positioned at the very end of a text (or comment or processing-instruction) node, then typed characters are simply inserted there.

    The shortcut associated to the new INS/OVR button, found in the status bar, is by default Esc Insert (press Esc, release Esc, then press Insert).

  • XXE no longer requests a user to save a document when all the changes made since last save time have been canceled (by repeatedly invoking Undo).
  • Added a tool-tip parameter to all types of buttons created by CSS generated content. Example:
    link:after {
        content: set-attribute-button(attribute, linkend,
                                      icon, icon(right),
                                      tool-tip, 
                                      'Change the "linkend" attribute');
    }
  • JavaTM developers: "XMLmind XML Editor - Developer's Guide" (unbundled, part of xxe-devdocs-NNN.zip, download it from http://www.xmlmind.com/xmleditor/download.shtml) now comes with a graphical wizard which should give you a quick start if you want to create XXE extensions (command, document hook, image toolkit plug-in, action, tool, etc). This wizard may be used to create Ant and/or Eclipse projects.
  • Command insertCharByName allows to insert a character specified using its entity name. When options [DocBook] or [DocBookIfNone] were used, this command displayed a dialog box listing the names of the character entities defined in the DocBook 4.2 DTD. Now this command uses the character entities defined in the DocBook 4.4+ DTD, that is, the entities defined in XML Entity Declarations for Characters.
  • Made command insertCharByName more flexible to use when the configuration associated to the document being edited is based on a schema rather than on a DTD.
  • A configuration for DocBook 5 (called "DocBook v5+") is now bundled with XXE. Previously, the user had to use Options|Install Add-ons to install the corresponding add-on.

    If you have installed the now obsolete add-ons called "DocBook5 configuration" or "DocBook5+XInclude configuration", please use Options|Install Add-ons to uninstall them.

    Failing to do so is harmless but will cause XXE to report warnings about these obsolete configurations each time it is started.

  • Upgraded JavaHelp to version 2.0_05.
  • Upgraded XML Commons Resolver to version 1.2.
  • Upgraded the XMLmind FO Converter plug-in to XFC v4.1. This version has a much improved image support.
  • Upgraded the Apache FOP plug-in to version 0.94.
  • Upgraded DocBook XSL style sheets to version 1.73.1 (then applied patch 1.73.2).

Bug fixes:

  • When a ``large'' XML document was opened in XXE running on a ``slow'' machine and when the automatic spell checker was turned on, moving the caret by keeping the left, right, down or up arrow pressed was very slow.
  • A Schematron rule such as:
    <sch:assert diagnostics="mime-type" 
      test="document('mime-types.xml')/mime-types/mime-type[text()=current()]">
      Unknown MIME type.
    </sch:assert>

    didn't work because document() failed to resolve the "mime-types.xml" URI against the URI of the file containing the rule.

    Moreover, the documents loaded by document() were not cached, which caused this function to be nearly unusable by a Schematron.

  • An error such as this one:
    <foo xmlns="http://www.acme.com/ns/foo"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.acme.com/ns/foo 
                          not_found/foo.xsd">

    was not reported by XXE when the configuration corresponding to the above class of documents contained a schema configuration element similar to the following one:

    <schema>
      <location>http://www.acme.com/ns/foo foo.xsd</location>
    </schema>
  • The generic, parametrizable, table editor command (used for example to edit DITA simpletables) didn't use the row and cell element templates marked (selectable="override") as being replacements for the elements automatically generated by XXE.
  • Options|Install Add-ons reported false "invalid date element: Unparseable date YYYY-MM-DD" errors when running on machines having exotic locales.
  • W3C XML Schema: executing "xsdvalid -s foo.xsd -s bar.xsd" caused xsdvalid to raise a NullPointerException. In fact, its is not possible to specify several schemas using the -s option. In such case, the -ss option must be used instead.

Possible incompatibilities:

  • The non-breaking space character (nbsp = 160 = 0xa0 = 0240) is no longer automatically saved as "&nbsp;" or as "&#160;". If you liked this feature and want to restore it, please do so using Options|Preferences, Save section, Always save these characters as entity references text field.
  • Keyboard shortcut Esc Insert is now used to switch between insert mode and overwrite mode.
  • It is no longer possible to specify a dtd configuration element in conjunction with schema or relaxng configuration elements. Previously doing this allowed to specify an implicit set of character entities. The problem was that documents created this way by XXE cannot be parsed by other XML processors.
  • The "GenericInclusion" inclusion processor has been removed from XMLmind XML Editor.
  • Allowed the JavaTM runtime to use up to 512Mb of memory (that is, specified -Xmx512m is xxe,xxe.bat, xxe.jstart). This was needed because it seems that more and more users tend to open in XXE large documents containing a lot of images.
  • The MathML add-on previously called "JEuclid MathML / ODF image plug-in" and maintained by Max Berger is now called "JEuclid image toolkit plug-in" and is maintained by XMLmind.
  • The replacement for the obsolete add-on called "DocBook 5 + XInclude configuration" works differently than in the preceding version of XXE due to the fact that the configuration for DocBook 5 is now bundled.

    The new add-on, called "Customization of the DocBook 5 configuration allowing to edit <xi:include> elements by hand", simply customizes the stock DocBook 5 configuration. Previously, the add-on called "DocBook 5 configuration" and the add-on called "DocBook 5 + XInclude configuration" were mutually exclusive.

    In a nutshell, if you want to be able to edit xi:include elements by hand like any ordinary element, then install this add-on. If after that, you want to work normally (that is, you want xi:include elements to be transcluded), then uninstall this add-on.

  • Even when this is needed, the XMLmind XSL-FO converter (XFC) plug-in no longer scales the images contained in the RTF, WordprocessingML, OpenDocument and Open XML files it generates. Instead, the XFC plug-in embeds the original image in the output file along with instructions specifying to MS-Word or OpenOffice.org how to scale it. This gives a high-quality output (especially when the document is printed using the word processor) at the expense of possibly large output files.

3.6.1 (June 21, 2007)

Enhancements:

  • Professional Edition only: when you convert DocBook documents to other formats, you'll often want to:
    • generate XHTML rather than HTML,
    • and/or use the profiling XSL stylesheets.

    It is now very easy to specify these preferences: simply use the dialog box displayed by menu item Options|Customize Configuration|Document Conversion Preferences.

    This new menu item is available when editing DocBook 4, DocBook 5 or Simplified DocBook documents.

  • Upgraded the XMLmind FO Converter plug-in to XFC v4.0.0_01. This allows Professional Edition users to convert their XML documents to the Office Open XML format, which is the native format of MS-Word 2007.
  • Ctrl-Shift-A is the keyboard shortcut used to display the history of repeatable commands. The dialog box displayed by Edit|Command History is often used to alternate between the last two executed commands.

    Example: you want to convert all XHTML b elements to strong elements. This can be done by:

    1. Using Esc g (Select|Find Element) to find the b element following current node.
    2. Using Ctrl-T strong (Edit|Convert) to replace selected b element by a strong element.
    3. Using Ctrl-Shift-A to repeat find and convert commands as long as you find b elements.

    The problem in step #3 was that selecting a command in the history was not quick enough: you needed to use the arrow keys to select the right command and then to press Enter.

    This problem is now solved by automatically binding usable commands displayed by the Command History dialog box to the F1, F2, ..., F9 function keys. Therefore step #3 now merely consists in pressing Ctrl-Shift-A F1, Ctrl-Shift-A F2, Ctrl-Shift-A F1, Ctrl-Shift-A F2, etc.

  • Added "Find following current node (including descendants)" and "Find preceding current node (including ancestors)" to the Select|Find Element dialog box.

    "Find following current node" and "Find preceding current node" are still available. However these search operations which strictly use the following:: and preceding:: XPath axes often give surprising results.

  • Keyboard shortcut Esc w (press and release Esc and then type letter w) makes it easy pasting as paragraphs text copied from external applications (Web browser, word processor, etc). This new keyboard shortcut is available for all major document types: DocBook, DocBook 5, DITA, XHTML, etc.
  • Made the Include tool more convenient to use by allowing to add, select and remove documents containing ``XML variables'' at any time.

    Previously, this had to be done after selecting one of the four Edit|Reference operations (e.g. Edit|Reference|Insert Reference) because otherwise the buttons allowing to act on documents containing ``XML variables'' were grayed.

  • [User Request] Change in the semantics of XPath variables (used to write macros): $selected now always denotes the node in the node selection which is the first one in document order and $selected2 now always denotes the node in the node selection which is the last one in document order. Previously, $selected was the node in the node selection which was first selected by the user and $selected2 was the node in the node selection which was last selected by the user.
  • [User Request] CSS generated content open-quote and close-quote now support much more languages than before (thanks to the author of http://acjs.net/weblog/2005/06/10/language_specific_styling_quotation_marks/). Note that nested quotes styled using open-quote and close-quote are still not properly supported.
  • [User Request] added a rootElementAttribute child element to the detect configuration element. This allows to detect which configuration to use based on the presence and/or the value of an attribute of the root element of a document.
  • [User Request] If you double-click on images in the document view, a dialog box is displayed allowing you to choose, and also possibly copy, a graphics file. This dialog box has a Home button which allows to browse the home directory of the user. Previously, clicking on the Home button always opened the home directory in the standard file chooser dialog box. Now, the file chooser dialog box displays the last visited directory (which is not necessarily the home directory).
  • Much improved Unix-style pathname pattern expansion (AKA glob) in process commands. Previously, a pattern such as "../*/*.gif" was not expanded (only simple patterns such as "*.gif" or "foo/*.gif" were supported) and prefixes such as "~" or "~john" were ignored.
  • Modified the copy of Apache FOP 0.93 included in the add-on called "Apache FOP 1.x XSL-FO processor plug-in" in order to make it honor the source-resolution configuration option. Moreover, when FOP is run within XXE, the default value of this resolution is now 120DPI (like in RenderX XEP). Previously, the value of this resolution was hardwired to be 72DPI.

Bug fixes:

  • CSS bug: vertical adjoining margins were not collapsed when the boxes having these margins were nested.
  • Whitespace was always preserved in pasted text and this, even when the paste target was not a space-preserving node.

    Now if you paste some text anywhere inside an XHTML p for example, newline characters are replaced by space characters. If you paste some text anywhere inside an XHTML pre for example (or inside a comment or inside a processing-instruction), whitespace is left untouched.

  • When the tree and styled views were displayed side by side, using Copy As Reference (Ctrl+Shift-C) then Paste (Ctrl-V), Paste After (Ctrl-W) or Paste Before (Ctrl-U) in the tree view, did not render the pasted nodes with a blue gray background (that is, the background color showing that pasted nodes are not editable) in the styled view.
  • Command "convertCase capital" acted only on the first letter of a word. It converted "foo" to "Foo" but did not convert "FOO" to "Foo".
  • Fixed the following bug in Options|Customize Configuration|Change Document Conversion Parameters: specifying parameters for one document conversion (e.g. Convert to RTF) deleted all the parameters specified by the user for the other document conversions (e.g. Convert to PDF, Convert to HTML, etc). Note that these parameters were deleted in the file containing the customization of the configuration, and not in memory. Therefore XXE had to be restarted for this bug to show up.
  • Fixed a bug in James Clark's XP, the XML parser used by XXE. The line numbers reported for an XML file where the encoding was other than UTF-8, UTF-16 and ISO-8859-1 (e.g. Windows-1252) and containing DOS-style end of lines (e.g. "\r\n") were incorrect. For example, a parse error found at line 67 actually occurred at line 67/2=34.
  • With a JavaTM 1.5+ runtime, XXE didn't configure proxy servers exactly the same way the very first time it was started (that is, without any XXE_user_preferences_dir/preferences.properties) and the second time it was started (that is, with a ``plain vanilla'' XXE_user_preferences_dir/preferences.properties).

Possible incompatibilities:

  • The way vertical margins are rendered has changed: see above bug fix. You may have to slightly adapt your custom style sheets. Note that we had to change nothing at all in the CSS style sheets written by XMLmind.

3.6.0 (April 23, 2007)

Standard Edition has been replaced by Personal Edition. Personal Edition is free of charge, is functionally identical to Standard Edition (that is, has fewer features than Professional Edition), but is restricted to non-commercial use. More information.

Enhancements:

  • Professional Edition only: added a Customize Configuration menu to the Options menu which allows end-users (i.e. non-experts) to customize the configuration associated to the document being edited.

    This new menu allows to:

    • Save the document being edited as a named template. This named template is then displayed in the File|New dialog box.
    • Save the selected element as a named template. This named template may then be suggested by the Edit tool, depending on the operation to be performed and if this is allowed by the schema.

      Optionally, the element template defined this way may replace the default, automatically generally, one. Example: by default, when you insert an ul in a XHTML document, XXE inserts <ul><li></li></ul> and you would prefer XXE to insert by default <ul><li><p></p><li><p></p></li></ul>.

    • Save the current layout of views (e.g. styled view in the middle, tree view at the left, structure view at the bottom — see View|Add) as the default one.
    • Add keyboard shortcuts. In other terms, bind up to two keystrokes (example: "F2 u" to a command (example: "moveElement up[implicitElement]").
    • Change the XSL style sheet parameters (e.g. paper.type=USLetter) used when converting the document being edited to other formats (e.g. HTML, PDF, etc).

    Note that end-user customization of configurations by the means of this menu also works when XMLmind XML Editor is deployed using JavaTM Web Start.

  • Added new option "Automatically reopen last opened document" (Options|Preferences, General section). This option is examined just after XXE is started, when no documents to be opened have been explicitly specified (e.g. by double-clicking on an XML file or by using command line options). When turned on, this option forces XXE to reopen the last document opened during the preceding editing session.
  • Add command line option -last which forces XXE to reopen the last document opened during the preceding editing session (no matter the value of option "Automatically reopen last opened document" described above).
  • Add new option "Ensure that a save filename has an extension" (Options|Preferences, Save section). By default, this option is turned on.
  • Added command insertCharSequence which makes it easy and intuitive inserting special characters by typing the same ordinary character two or three times in a row. Example:
    <binding>
      <charTyped char="-" />
      <command name="insertCharSequence" parameter="- ndash mdash" />
    </binding>
  • Command viewObject will now use the default viewer (assumed to be a Web browser) to display the contents of URLs starting with "http://" and "https://". DocBook example: this is handy for displaying something like <ulink url="http://www.xmlmind.com/xmleditor/"/>.
  • On Linux, XXE will now try to guess which Web browser you prefer by searching environment variable PATH for a number of well-known browsers (currently, Firefox and Opera).

    Note that in order to make Firefox convenient to use when invoked by external applications such as XXE, you need to change its settings. For this, use Edit|Preferences and check "New pages should be opened in a new tab", then check "When I open a link in a new tab, switch to it immediately"

  • Added menu item "Convert to Eclipse Help" to DocBook|Convert Document.

    Note that the eclipse.plugin.name, eclipse.plugin.id, eclipse.plugin.provider XSL style sheet parameters must be specified using the new Options|Customize Configuration|Change Document Conversion Parameters facility.

  • Upgraded XMLmind Spell Checker to version 1.3.

    This implies that the German dictionary is now supposed to only contain words which are compliant with the German spelling reform. Note that an alternate German dictionary (the name of the corresponding add-on is "German (Deutsch) dictionary - traditional spelling") has been created for those who still need to use the traditional spelling.

  • DITA add-on: upgraded the bundled copy of the DITA Open Toolkit to version 1.3.1.
  • DocBook 5 add-on: upgraded the bundled RELAX NG and Schematron schemas to V5CR3.

Bug fixes:

  • A command like "putAttribute xml:lang fr" didn't work because xml:lang was not recognized as being {http://www.w3.org/XML/1998/namespace}lang. Now xml:local_part is accepted wherever notation {http://www.w3.org/XML/1998/namespace}local_part is accepted too.
  • Configuration elements inclusionProcessor and preserveSpace were not taken into account unless the configuration also contained a dtd, schema or relaxng element.
  • The popup menu items specified using the menu child element of the binding and command configuration elements may have icons (the XXE configuration schema allows this). The bug was that such icons were not displayed.
  • Element templates intended to replace the default, automatically generated, element template (that is, declared selectable="override") and having an xsi:type attribute were ignored.

Possible incompatibilities:

  • Mac OS X 10.3 (Panther) and Windows NT are no longer officially supported.
  • Option "Text anti-aliasing" (Options|Preferences, General section) is now turned on by default. It is strongly recommended to turn this option off if you run XXE on an old computer. Text anti-aliasing is quite CPU-intensive and therefore makes XXE sluggish on old machines.
  • Option "Ensure that a save filename has an extension" (Options|Preferences, Save section) is turned on by default.
  • Menu item "Reload All Configurations" is no longer present by default in the Options menu of Professional Edition.

    If you need this menu item, for example when developing a custom XXE configuration, set environment variable XXE_GUI to value "xxe-gui:app/Developer.xxe_gui" and restart XXE Professional Edition.

  • XXE GUI configuration file Standard.xxe_gui has been renamed to Retricted.xxe_gui.

3.5.2 (February 19, 2007)

Enhancements:

  • Professional Edition has a new Include tool which should make it quick and easy inserting ``XML variables'' (that is, references to often used XHTML spans, DocBook phrases, etc) in a document.

    Note that Copy as Reference/Paste is still the recommended way to create modular documents in the general case. But in the special case of ``XML variables'', the new Include tool is hard to beat.

  • Standard CSS counters, that is, counter-reset, counter-increment, counter() and counters() are now fully supported.

    These standard CSS counters have been used to support the continuation="continues" and inheritnum="inherit" attribute values of DocBook orderedlists.

    This is the only place where standard CSS counters are used. Our proprietary counters (that is, something like counter(nnn-), without having to specify counter-reset or counter-increment) are used everywhere else. They have simply been renamed to simple-counter() and simple-counters(). The reason for keeping simple-counter() and simple-counters() is that they are much faster and slightly easier to use than standard CSS counters.

  • The DocBook|Convert Document menu has two new items.
    Convert to HTML Help
    Converts the document being edited to a .chm file.
    Convert to Java Help
    Converts the document being edited to a .jar file for use by the JavaTM Help system.

    For these menu items to work properly, two helper applications: hhc.exe, the HTML Help compiler, and jhindexer, the JavaTM Help indexer, must have been declared using the Options dialog box, Helper Applications section.

  • Added a new preferences sheet to the Options dialog box called Helper Applications. This pane allows to associate helper applications, viewers or editors, to file types. For example, it allows to associate Adobe Acrobat Reader to PDF files, Inkscape to SVG files, etc.
  • The run and start commands, as well as the shell element of a process command, may make use of the helper applications declared in the Options dialog box, Helper Applications section.

    For this, the parameter string of these commands must contain substrings following this syntax: "helper(spec) path". Example: "helper(text/plain) "%D"".

  • Added commands viewObject and editObject. These commands may be used to view or edit an ``object'' contained or referenced in the document being edited. To do that, these commands will pick the proper helper application if such application has been declared in the Options dialog box, Helper Applications section.

    Examples: viewObject may be used to open in Adobe Acrobat Reader a reference to a PDF file found in an attribute. Command editObject may be used to open in The Gimp an image encoded in base 64 embedded in an element or to open in Inkscape an svg:svg element contained in the document.

    These commands, which normally guess what to do, work best with strongly typed documents conforming to a W3C XML Schema or to a RELAX NG schema.

  • Despite the fact that XXE exclusively uses standard mechanisms (XIncludes and, to a very limited extent, references to external entities), naively creating modular documents may lead to interchange problems with third-party applications.

    We would like to avoid this kind of problems by all means, that why:

    1. We have changed the DocBook4 and XHTML document templates to make this interchange problem less likely to happen. (Note that there is no such problems with DITA and with documents conforming to schemas other than DTDs.)
    2. The tutorial now includes a section called "Creating modular documents which are highly interchangeable with other applications" which describes the problem and suggests best practices.
  • All commands displaying a dialog box supporting autocompletion (pick, insertCharByName, etc) now behave like the Edit tool: suffice to type the first few letters of an item in the list and press Enter to choose this item. That is, in most case, there is no need to explicitly trigger the autocompletion, for example by pressing the space bar.
  • Added an optional title parameter to the selectFile and selectConvertedFile commands.
  • Commands XXE.new, XXE.openAsTemplate and XXE.openCopy, that is, commands used to create new documents, can now be parametrized to prompt the user for a save filename.
  • XPath extension function property() now supports the "read-only" and "editable" pseudo-properties.
    • property("read-only") returns string "true" if the context node has been marked as being read-only. Otherwise, it returns string "false".
    • property("editable") returns string "true" unless the context node has been marked as being read-only or has an ancestor which has been marked as being read-only. Otherwise, it returns string "false".
  • Macro commands now support the "%C" and "%c" variables just like the process commands.
  • "xxe -open doc.xml" and "xxe -print doc.xml" are now equivalent to "xxe doc.xml". This may be useful when XXE is started by JavaTM Web Start. Example: "javaws http://www.acme.com/xxe/xxe.jnlp -open /docs/doc.xml".
  • Environment variable/system property XXE_USER_PREFERENCES allows to specify an alternative to XXE_user_preferences_dir/preferences.properties. The hierarchy of directories containing this alternate user preferences property file is now created by XXE when it does not already exist.
  • Upgraded the Apache FOP plug-in to version 0.93.
  • Upgraded the XMLmind FO Converter plug-in to version 3.1.

Bug fixes:

  • The "%c" variable had no value when the process command was loaded from an XXE configuration file contained in a jar. This typically happened when XXE was deployed using JavaTM Web Start.
  • CSS content like counter(nnn, lower-alpha) generated "cba.." instead of generating "a.b.c".
  • After changing the IDs of some elements in the document being edited, menu item Select|Find Element (that is, command xpathSearch) failed to find the edited elements by their IDs.
  • In a process command, using a subProcess element without a parameter attribute caused XXE to raise a NullPointerException.

Possible incompatibilities:

  • Process commands are no longer systematically disabled in Standard Edition. However, if, in Standard Edition, a process command contains one or more of the following elements: convertImage, processFO, upload, print, zip, jar, post, it will be silently disabled. The idea here is to allow using process commands in Standard Edition in order to write sophisticated macros.
  • Suppressed the Use dialog box rather than Edit tab option from Options|Options, Edit section.
  • Disabled the include command in Standard Edition.
  • Changed the API of low-level object com.xmlmind.xmledit.stylesheet.StyleValue. Therefore, custom style sheet extensions (like the implementation of interface com.xmlmind.xmledit.stylesheet.StyleSpecs used as an example in XMLmind XML Editor - Developer's Guide) probably need to be recompiled after making a few minor changes.
  • Renamed command setImage to setObject and command extractImage to extractObject.
  • Suppressed command viewHTML and its associated property XXE_HTML_PREVIEW_COMMAND.

    The default viewer application is now specified in the Options dialog box, Helper Applications section, Default viewer field. This default viewer may be started simply by using command start with a parameter like "helper(defaultViewer) filename_or_URL".

  • In order not to break CSS style sheets written by our customers, counter(n), counter(nn-, lower-alpha), counters(n, ".", lower-roman), etc, are all understood to be simple-counters. The reason for this that the names of the above counters only contain 'n' and '-' characters.

    However if you use in your custom CSS style sheets counter names containing characters other than 'n' and '-', e.g. counter(xxx-), the above hack will not work for you.

    In all cases, if you use our simple, declarative, fast but proprietary, counters, do not forget to rename them to simple-counter() and simple-counters().


3.5.1 (December 27, 2006)

The differences between Standard Edition and Professional Edition have radically changed. These differences are now much easier to understand because a feature is either fully functional or totally absent in Standard Edition.

  • Standard Edition no longer has restrictions in terms of schema. DTD, W3C XML Schema, RELAX NG schema and Schematron are all fully supported.
  • The following features are totally absent, which means that they are not only disabled, but also that you'll not find them in the menus, tool bars and dialog boxes of new Standard Edition:
    • Process commands (used to transform part or all of the document being edited using the integrated XSLT engine).

      This means that all "Convert Document" menus have disappeared from new Standard Edition.

      This also means that the command line utility convertdoc, which may be used to execute process commands outside XXE (useful in scripts and makefiles), will not work.

    • Automatic spell checker (which underlines misspelled words as they are typed). Of course, the traditional, on demand, spell checker still works.
    • Macro recorder. Hand-written macros are of course still supported.
    • Integrated spreadsheet.
    • Editing documents stored on remote (WebDAV, FTP) or virtual (Zip) filesystems.
  • It is no longer possible to customize the GUI of Standard Edition (e.g. by the means of customize.xxe_gui files).
  • Standard Edition still cannot be deployed using JavaTM Web Start.

It is now possible to evaluate Professional Edition. To do this, you'll have to download an evaluation key from http://www.xmlmind.com/xmleditor/evaluate.html. After installing this evaluation key in Standard Edition using menu item Help|Install Evaluation Key and restarting the application, you'll get an Evaluation Edition which is functionally equivalent to Professional Edition but which will last only 7 days.

Enhancements:

  • XXE can now lock the file containing the document being edited. Previously this was only possible when this file was stored on a WebDAV server supporting locking. Now this is also possible when the file is stored on the local filesystem.

    By default this option is turned off. In order to lock the file being edited, please use Options|Options, Open section and check "Lock documents stored on the local filesystem".

  • The configuration for DocBook 5 (RELAX NG based; available as an add-on) is now as functional as the bundled, DTD-based, configuration for DocBook 4.
  • DocBook 4.5 is now the version of the DocBook DTD which is used by default.
  • Upgraded DocBook XSL style sheets to version 1.71.1.
  • DITA: upgraded the bundled copy of the DITA Open Toolkit to version 1.3.0.
  • DITA: it is now possible to create a map, to populate it with topicrefs and then to use F2 e to visit the referenced topic if it already exists or to create it if it doesn't.
  • Added command XXE.new which can be used to create a new document by specifying the name of a document template.
  • Commands XXE.new, XXE.openCopy, XXE.openAsTemplate, which all may be used to create new documents, now accept a save file name as their last, optional, argument. By using this optional argument, you may force these commands to immediately save the newly created document at the specified location.

    XXE.new has been used for example to make ditamap.editTopic, bound to keystroke F2 e, slightly smarter:

    <sequence>
      <get context="$selectedElement/@href" expression="resolve-uri(.)" />
      <choice>
        <command name="XXE.edit" parameter="%_" />
        <command name="XXE.new" parameter="- - '%_'" />
      </choice>
    </sequence>
  • Out of the box, the File|New dialog box now just allows to create DocBook 4 and XHTML documents. That's why, a "Add more document templates" ``link'' has been added to this dialog box. This ``link'' simply closes the dialog box and triggers the Options|Install Add-ons action. The Options|Install Add-ons action allows to add support for more document types: DITA, DocBook 5, Slides, W3C XML Schema, etc.
  • Batik image toolkit plug-in:
    • Added support for SVG 1.2 graphics.
    • Now, by default, a fully transparent pixel in the SVG graphics is converted to fully transparent white in the PNG or JPEG image. Previously, it was fully transparent black, which was not always well supported by the applications (XEP, FOP, etc) used to render the converted image.

      This behavior can be changed by using the forceTransparentWhite parameter of the convertImage child element of a process command.

  • Command search now works as expected. Example:
    <cfg:macro>
      <cfg:choice>
        <cfg:command name="search" parameter="Hello"/>
        <cfg:command name="alert" parameter="'Hello' not found" />
      </cfg:choice>
    </cfg:macro>

    If string "Hello" cannot be found after caret location then command search cannot be executed and in such case, the dialog box of command alert is displayed. Previously, unless the document contained no text at all, command search always claimed to be executable and this, whatever the searched string.

  • Added support for converting DocBook 4 and 5 documents containing <textdata fileref="XXX"/> elements to other formats. A text file, using txt, text, htm, html, xml, h, c, cpp, java, js, tcl, py, pl or rb as its file name extension, referenced in a textdata element, is now properly processed. Previously, the process command failed with a "Cannot read file:/tmp/xxeNNN/resources/TEXT_FILE_NAME.png" error message.
  • The results of the calculations of the spreadsheet formulas are now independent of the locale of the computer used to run XMLmind XML Editor. The locale needed to parse and format numbers and dates is now determined using the language of the document being edited. This language is typically specified using the standard xml:lang attribute. But as always with XXE, this can be configured (languageAttribute and defaultLanguage attributes of the spellCheckOptions configuration element — see XMLmind XML Editor - Configuration and Deployment).

Bug fixes:

  • Saving a document being locked by a WebDAV server caused the lock to be removed, the file to be saved and then the lock to be restored. This was useless, unsafe and inefficient. This was also incompatible with common auto-versioning schemes.
  • XXE v3.4 reported an "unexpected a:requires element" error when attempting to parse v3.5's list.xxe_addon. The reason for this is that the a:requires element has been introduced in v3.5 and therefore is unknown to v3.4.

    The bug fix consists in allowing XXE to ignore unknown elements found in .xxe_addon files provided that these elements are in the "http://www.xmlmind.com/xmleditor/schema/addon" namespace.

  • A CSS selector like foo:contains-element(gee\:bar) (which means element having "foo" as its local name, whatever the namespace, containing child element having "gee:bar" as its local name, whatever the namespace) caused XXE to report a false "malformed pseudo-element or pseudo-class ':contains-element'" warning.
  • Using command XXE.open with parameter "[reopen]" when more than one document was opened caused XXE to raise a NullPointerException.
  • Workaround for a bug in JavaTM Web Start 1.5: when deploying XXE using JavaTM Web Start, it was not possible to create a shortcut on the user's desktop.
  • RELAX NG: When using Help|Show Content Model (Shift-F1), some content models contained the same choice several times. Example: the content model of DocBook 5 para was (text | ... | inlinemediaobject | indexterm | ... | inlinemediaobject | indexterm | ...)+.

Possible incompatibilities:

  • The release of the alternative DITA configuration based on a W3C XML Schema rather than a DTD has been discontinued. However, if there is sufficient interest, we could resurrect this alternative configuration.
  • The configuration which allows to use XXE to author W3C XML Schema and to document them in XHTML has been unbundled. If you need this configuration, you'll have to download and install the corresponding add-on using Options|Install Add-ons.
  • Support for the following DocBook 4.x modules: EBNF, HTML Forms, MathML, SVG, has been dropped. If you need to embed SVG graphics in DocBook, please switch to DocBook 5 (unbundled; use Options|Install Add-ons install it).
  • By default, user-contributed add-ons are now downloaded from http://www.xmlmind.com/xmleditor/_usercontrib/list.xxe_addon. Previously, user-contributed add-ons were mixed with add-ons coming from XMLmind.

    That's why we had to change the preference key for the download URLs from addonLocations to addonServers. In practice, this means that the preferences related to these download URLs have been reset to their default values and that these preferences may need to be specified again using Options|Options, Install Add-ons section.

  • It is now possible to add an ``interactive gray margin'' at the left side of a styled view, at its right side or at both sides. This option is specified using Options|Options, Edit section, "Add interactive margin to the styled view" toggles.

    That's why we had to change the preference key for this option. This key is now called addInteractiveMargin and its value is none, left, right or both.

  • The results of the calculations of the spreadsheet formulas are now independent of the locale of the computer used to run XMLmind XML Editor. In practice, this means:
    • If a locale is explicitly specified in all the spreadsheet formulas parsing or formatting numbers or dates, there is nothing special to do.
    • Otherwise, please add a proper xml:lang (or lang attribute, depending on the type of the document) to the root element of the document making use of the integrated spreadsheet.
  • Removed command resizeSVG. This command was needed by document types such as DocBook+SVG. It is no longer needed by DocBook 5 where the svg:svg element may be a descendant of db5:imagedata.

    If you need to resize SVG graphics, please do so using your favorite vector graphics editor (latest Inkscape recommended).


3.5 (October 3, 2006)

Enhancements:

  • XMLmind XML Editor now supports Schematron, an ISO standard, which we view as a simple mean to add business rules to your XML documents. Example: the authors in your organization must write articles conforming to the DocBook grammar. Fine, but how to enforce this business rule: first section must have a "Introduction" title and last section must have a "Conclusion" title? The simple and elegant answer is called Schematron.
    • XXE supports both ISO Schematron and Schematron 1.5.
    • Schematron elements may be embedded in other schemas (typically RELAX NG, but not with the compact syntax).
    • A new command-line tool called schvalid may be used to validate Schematron schemas, to validate documents against schematrons and to a certain extent, to convert Schematron 1.5 to ISO Schematron.
    • The use of Schematron has been restricted in XMLmind XML Editor Standard Edition.
  • Added two new bindings: Ctrl-Delete deletes word following caret position and Ctrl-Backspace deletes word preceding caret position. These bindings use new command deleteWord.
  • A quick reference card in PDF format is available in four different flavors: A4, Letter, for the Mac/A4, for the Mac/Letter.
  • The add-on manager (i.e. Options|Install Add-ons) now handles dependencies between add-ons. For example, it will no let you install both the "DocBook 5 configuration" and "DocBook 5 + XInclude configuration" add-ons. Other example, if you want to install the configuration for DITA, it will force you to also install the FOP 0.20.5 plug-in and all its dependant add-ons (Batik image toolkit, Jimi image toolkit) too.
  • Previously there was no way to customize a tool bar such as the XHTML tool bar by inserting one or more buttons at a given position or to customize a menu such as the DocBook menu by inserting one or more items at a given position. This is now possible by using the new insert attribute common to the toolBar and the menu configuration elements.

    The old way of extending a tool bar or a menu: using an insert child element, is of course still available as it is handy in many common cases.

  • A similar insert attribute has been added to the following XXE GUI specification elements: menu, menuBar, statusBar, toolBar, preferencesSheets, topToolBars, bottomToolBars, leftToolBars, rightToolBars, leftPanes, rightPanes.
  • DITA: F2.z is now bound to a macro which toggles the transclusion state of selected element. Previously, this keystroke was bound to a command which just replaced the transcluded content by the original conref source. That was useful but less handy than the new macro.
  • The dialog box displayed by command pick now supports autocompletion. This implies that the items of the pick list are automatically sorted by their labels.
  • The dialog box displayed by the insertCharByName command now shows not only the name of the character entity but also its glyph.
  • The size of the font used by the tree view is now 2pt less than the base font size of the GUI (an option which can be changed using Options|Options, General section, Font size). Previously, the size of the font used by the tree view was fixed to 10pt.
  • Added the following XPath functions in order to fully support Schematron: key(), generate-id(), function-available(), element-available(), unparsed-entity-uri().
  • XPath function system-property() now supports xsl:version, xsl:vendor, xsl:vendor-url.
  • RELAX NG: command line utilities rngvalid and rngdoc have been merged. The new command line utility is called rngvalid and allows to:
    • validate a schema (including the compatibility of the schema with attribute default values as specified in RELAX NG DTD Compatibility),
    • validate instances against a schema,
    • automatically generate a documentation out of a schema.

    Just like new command line utility schvalid, rngvalid has been made part of the XMLmind Validation Toolset (A set of utilities also available separately from XMLmind XML Editor. See XMLmind Resources.)

  • Setting system property XXE_DAV_TRACE to any value now causes XXE internal WebDAV client to print DAV requests and responses on the console.
  • Upgraded the Simplified DocBook DTD from V1.0.0 to V1.1.0. The Simplified DocBook DTD V1.1.0 supports CALS tables as well as HTML tables.

    Note that the support for the Simplified DocBook DTD has been unbundled. See possible incompatibilities below.

  • Upgraded the Slides DTD from V3.3.0 to V3.4.0. The Slides DTD V3.4.0 is based on the Simplified DocBook DTD V1.1.0.

    Note that the support for the Slides DTD has been unbundled. See possible incompatibilities below.

  • Upgraded the XMLmind FO Converter plug-in to XFC v3.0. This allows Professional Edition users to convert their XML documents to the OpenDocument format (native format of OpenOffice.org 2).

Bug fixes:

  • Learned words were not shared by spell checking sessions. Now, when a spell checking session is started, it automatically knows all the words learned during past and current spell checking sessions.

    A ``spell checking session'' is started each time:

    • You click the Start button of the Spell tool.
    • You open a document and auto spell checking is turned on for this document.
    • Auto spell checking was turned off and you manually turn it on for the document being edited. This is done for example, by clicking the "Automatic Spell Checker" button found at the left of the status bar (only in Professional Edition).

    Limitations:

    • Words learned during past and current spell checking sessions are acquired when a new session is started, and never in the middle of a session.

      Example: let's suppose auto spell checking is turned on for all documents. Document A and document B are both opened in XXE. You use the popup menu of the automatic spell checker to force XXE to learn word "foo" in document A. You switch to document B which also contains word "foo". Word "foo" is still underlined in document B.

    • "Ignore All" words and "Replace All" words are not shared by spell checking sessions.
  • DITA: it was possible to successfully change an existing conref target using dita.setConref but this change did not persist in the saved document.
  • DITA: the dita.setConref dialog box displayed this hint: "if path is a relative path, it is relative to: base", where base was the URL of the document containing the conref target. The correct base is the URL of the document being edited (which contains the conref source).
  • DITA: a saved document containing conref source elements often had superfluous whitespace.
  • The XML catalogs of XXE were not used by the XSLT processor (Saxon) to resolve the public ID found in the <!DOCTYPE> of a document loaded using XSLT function document().
  • Unlike Professional Edition, Standard Edition does not support automatic, check-as-you-type, spell checking. Despite this limitation, the GUI of Standard Edition contained a tool bar button, a menu item and a preferences sheet allowing to control this feature. These controls, which were always disabled, have been removed from the GUI of XMLmind XML Editor Standard Edition.
  • Command Copy As Reference only worked in documents for which XXE detected a configuration.
  • The Print PostScript menu item found in the XHTML, DocBook, etc, menu failed to send generated PostScript to a printer having space characters in its name.
  • RELAX NG: XXE switched to lenient mode when confronted to this content model:
    element person {
      (attribute firstName { non-empty-token } & 
       attribute lastName { non-empty-token }) |
      (element firstName { non-empty-token } & 
       element lastName { non-empty-token }) |
      (attribute firstName { non-empty-token } & 
       element lastName { non-empty-token }) |
      (element firstName { non-empty-token } & 
       attribute lastName { non-empty-token })
    }

    but had no problem at all with this (better written) one:

    element person {
      (firstName-attribute & 
       lastName-attribute) |
      (firstName-element & 
       lastName-element) |
      (firstName-attribute & 
       lastName-element) |
      (firstName-element & 
       lastName-attribute)
    }

    This inconsistent behavior has been suppressed: XXE no longer have problems coping with the first content model.

  • The URL chooser dialog box raised a NullPointerException when used to browse a Bluestream WebDAV server.

Possible incompatibilities:

  • Support for the Simplified DocBook DTD and for the Slides DTD has been unbundled. If you need these document types, you'll have to download and install the corresponding add-ons using Options|Install Add-ons.
  • Ctrl-Delete (delete word), Ctrl-Backspace (delete word backwards), Esc g (find element) are now part of the default bindings.
  • By default, any add-on which depend on a specific version of XXE is installed in XXE_install_dir/addon/. Previously only plug-ins (e.g. an XSL-FO processor plug-in) were installed in XXE_install_dir/addon/.

    Example: the DITA configuration includes several custom commands written in JavaTM. Therefore this configuration depends on the version of XXE which was used to compile these commands. By default, the DITA configuration is to be installed in XXE_install_dir/addon/.

  • XXE running on Linux/Unix JavaTM 1.4 no longer uses the Kunststoff Look&Feel. It now uses the standard Metal Look&Feel.

    If you want something nice, you'll have to upgrade to Java 1.5TM: its Ocean Metal Look&Feel looks good and supports anti-aliasing. Moreover Java 1.5TM is substantially faster than JavaTM 1.4.

  • Command line utilities rngvalid and rngdoc have been merged. Therefore the options of new rngvalid are different from those of the old rngvalid (which was just a different name for Jing).
  • Command selectPrinter and the print child element of a process element now use this syntax for specifying a printer: "printer_name->format".
  • XXE GUI specification files xxe-gui:app/default.xxe_gui and xxe-gui:app/simple.xxe_gui have been replaced by:
    xxe-gui:app/Standard.xxe_gui
    Specifies the default user interface of XMLmind XML Editor Standard Edition.
    xxe-gui:app/Professional.xxe_gui
    Specifies the default user interface of XMLmind XML Editor Professional Edition. Professional.xxe_gui includes Standard.xxe_gui.
    xxe-gui:app/NoToolTabs.xxe_gui
    Specifies an alternate user interface with no tool tabs at the right of the document views. NoToolTabs.xxe_gui includes Professional.xxe_gui.

3.4 (July 28, 2006)

Major enhancements:

  • XMLmind XML Editor now has an automatic spell checker (AKA on-the-fly spell checker, which underlines misspelled words as they are typed). Available only in Professional Edition.
  • Spell checking, both automatic and ``traditional'', can now be configured on a per document type basis. Using new configuration element spellCheckOptions, it is now possible to specify for each document type:
    • whether the automatic spell checker should be activated when a document of that type is opened;
    • which is the attribute specifying the language of an element (e.g. "xml:lang");
    • which is the default language of such documents (rarely used);
    • which attributes should be checked for spelling (e.g. "img/@alt table/@summary @title");
    • which elements should be automatically skipped (e.g. "pre script style").

    Such specifications have been added in the XHTML, DocBook, DITA, etc, configurations.

  • A plug-in has been developed for Apache FOP 0.92beta. This XSL-FO processor seems very promising: it already works much better than previous version 0.20.5. Note that the plug-in for Apache FOP 0.20.5 is still available. (Of course, do not install both.)
  • The DITA configuration for XMLmind XML Editor now comes with its own (minimal) copy of the DITA Open Toolkit 1.2.2. Therefore there is no need to separately install the Toolkit if you want to convert your DITA topics and maps to HTML, PDF, etc.

    You'll need to install this configuration in conjunction with the plug-in for Apache FOP 0.20.5 (will not work with new 0.92beta). Doing this will allow you to convert your DITA topics and map to PDF, even when using free Standard Edition. More information in XMLmind XML Editor - DITA Support.

Other enhancements:

  • Added support for composite document templates, that is, templates referencing graphics files and/or including modules.
  • Added new option "Immediately save newly created document" (Options|Options, New section).

    When a new document is created using File|New, File|Open as Template or File|Open Copy and this toggle is checked, XXE will immediately prompt the user for a save file name. This save file name is used to actually create on disk the file corresponding to the new document.

    Note that even when this toggle is not checked, XXE may immediately prompt the user for a save file name. This will happen for the above mentioned composite document templates.

  • Added item "Print Selected Element" to the File menu. File|Print now always prints the whole document, no matter what is being selected.
  • The popup menu displayed when right-clicking on the attribute table now has a Cut item. For example, this menu item is useful to quickly and easily move an ID attribute from the title of a section to the section itself.
  • JavaTM 1.6 only: when option "Text anti-aliasing" (Options|Options, General section) has been turned on:
    • Text anti-aliasing is used not only for the document view, but also for the GUI. Previously this didn't work on some platforms (e.g. Linux with a desktop other than Gnome).
    • The text anti-aliasing algorithm used for the document view is now always the same as the one used for the GUI.
  • By default, the overall list of available add-ons is now obtained by merging two lists:
    http://www.xmlmind.net/xmleditor/_download/list-${XXE_VERSION}.xxe_addon
    Allows to get all the add-ons compatible with the running instance of XXE, no matter the version of XXE, if such add-ons are still found on XMLmind servers.

    Note that XMLmind only keeps the last two versions on its servers. That is, you'll find everything needed for v3.4 and v3.3, but not much for v3.2, v3.1, etc.

    http://www.xmlmind.net/xmleditor/_download/list.xxe_addon
    Allows to get the subset of latest add-ons which are compatible with the running instance of XXE.
  • Previously customizing the GUI of XMLmind XML Editor meant creating a single GUI specification file called custom.xxe_gui. This file was dynamically discovered by XXE during its start-up.

    There was no way to have several custom.xxe_gui files coexist: the first GUI specification discovered by XXE would have hidden the others. This prevented creating self-contained add-ons customizing the GUI of XXE for their own, often modest (add a menu item here, add a pane there, etc), needs.

    Custom.xxe_gui files are no longer supported. Instead, GUI customizations should be contained in files called customize.xxe_gui. Such files are dynamically discovered by XXE during its start-up.

    If during its start-up, XXE finds several customize.xxe_gui files, it will merge their contents with the base GUI specification (by default, xxe-gui:app/default.xxe_gui, which is a resource contained in xxe_app.jar).

  • In an .xxe_gui file, the <insert/> element, which is used to extend a previously defined GUI part, now really specifies where the previous definition should be inserted. Previously, the <insert/> element was required to be the first or the last child of its parent element.
  • System property XXE_USER_PREFERENCES (generally set using environment variable XXE_USER_PREFERENCES, i.e. 'java -DXXE_USER_PREFERENCES="%XXE_USER_PREFERENCES%"') may be used to specify the location of a user preferences property file different from the default one: XXE_user_preferences_dir/preferences.property.

    This alternate user preferences property file is created (if needed to)/read from/written to by XXE exactly like the default one.

    XXE_user_preferences_dir/preferences.property.
  • New xxe command-line option -putprefs property_file may be more convenient than specifying several -putpref key value, -putpref key value, ..., putpref key value.
  • A process command has now a debug attribute which, when specified as "true", prevents the command from deleting its work directory (/tmp/xxeNNNN/) at the end of the processing. This is useful if, for example, you need to look at the XSL-FO file generated by the transform element of the process command.

    The convertdoc command-line utility (useful to run process commands without launching XXE) has a new -d option which sets the debug attribute of a process command to value "true".

  • Added new command XXE.saveAll.
  • Upgraded the Apache Batik image toolkit plug-in (provides SVG support) to version 1.6.

Bug fixes:

  • Using "Edit|Document Reference|Edit Referencing Document" many times on modular documents including many modules caused File|Save to fail silently. For example, attempting to save foo.xml did not overwrite the original file at all and left a save file called foo.xmlNNNNNN (where NNNNNN is a random sequence of letters and digits) in the save directory. (In fact, this was JavaTM bug #6213298, related to java.io.File.renameTo, for which we have added two workarounds.)
  • Windows only: get rid of Save As or Convert errors saying something stupid like "'file:/c:/Foo%20bar/gee.xml', unexpected destination URL (unrelated to first destination URL 'file:/c:/Foo%20bar/gee.xml')".
  • Autocompletion|Append mode: Automatic (see Options|Options, Edit section) made it difficult to insert a p element in an XHTML document. After typing "p" in the Edit tool, the text field of this tool contained "pre" (with "re" being highlighted).
  • Inserting the first formula in a document did not cause all the items of the Tools|Spreadsheet menu to be enabled.

Possible incompatibilities:

  • Printing selected element now requires using File|Print Selected Element. Previously, File|Print automatically printed selected element if any (which was error prone).
  • The preference key for download URLs has changed from addonURLs to addonLocations. In practice, this means that the preferences related to download URLs have been reset to their default values and that these preferences may need to be specified again using Options|Options, Install Add-ons section.
  • Custom.xxe_gui files are no longer supported. Please rename such files to customize.xxe_gui, after removing the include directive found at the top of these files:
    <include location="xxe-gui:app/default.xxe_gui" />

3.3 (June 15, 2006)

Most enhancements are related to the support of modular documents:

  • Commands Copy, Cut and Paste now preserve references to elements contained in external documents (included elements), no matter the mechanism used to create these references (external entities, XInclude, DITA conref, etc).
  • Command Copy As Reference now works when one or more elements are selected. A selected element may be a normal element or a reference to an element.
  • Navigation inside a modular document using Edit|Document Reference|Edit Referenced Document and Edit Referencing Document is smoother because these commands will attempt to preserve the selection.

    Example: open modular document book.xml, select word "foo" inside included element contained in chapter.xml, use Edit Referenced Document to visit chapter.xml. Document chapter.xml is opened in XXE and word "foo" is selected in this document.

  • New option "Filter duplicate ID errors found in modular documents" (on by default; see Options|Options, Tools|Validate section) discards ``false'' duplicate ID errors caused by pasting in a document two references to the same element.
  • It is now possible (using XInclude; but this is transparent for the user)
    • to paste a reference to an element into the document containing the original element;
    • to paste in document A, a reference to an element contained in document B, which in turns includes elements contained in document A.
  • Using new configuration element inclusionProcessor, it is now possible to attach one or more specific inclusion processors to a type of document.

    By default, the "XInclude" inclusion processor is used by all types of documents. But configuration element inclusionProcessor also allows to disable inclusion processors which otherwise, would have been used for this type of document.

    Example 1: the "DITA "and "DITA Map" configurations disable the "XInclude" inclusion processor and instead, declare the "Conref" inclusion processor.

    Example 2: the new "DocBook 5 + XInclude" configuration disables the "XInclude" inclusion processor. This is possible because this configuration uses a variant of the DocBook 5 RELAX NG grammar which allows most elements to contain xi:include elements. For such grammar, it does not make sense to transclude xi:include elements, as this is the case for the ``regular'' "DocBook 5" configuration.

  • DITA conref attribute is fully supported. That is, in XXE, it is treated on par with XInclude.

    Command Copy As Reference is disabled in DITA documents because this command requires the presence of the "XInclude" inclusion processor (but Edit Referenced Document, Edit Referencing Document and all other features related to modular documents work fine).

    Instead of using Copy As Reference/Paste, the author of a DITA document needs to use the Conref buttons found in the DITA toolbar. More information in XMLmind XML Editor - DITA Support.

  • A generic, extensible, inclusion processor called "GenericInclusion" has been developed. By executing an external command (shell script) or an ``internal command'' (JavaTM class implementing interface com.xmlmind.xmleditapp.genericincl.Processor), it allows to include in the document being edited one or more elements generated on the fly.

    For example, using this inclusion processor, it is possible to execute a shell script (or .bat file) which queries a database, which converts what has been returned by the query to row elements and which adds these row elements to the tbody of a DocBook table. Like any other included element, the row elements included this way are made read-only, are automatically refreshed each time the document is reopened, may be refreshed by hand by using View|Redraw (Ctrl-L), etc.

    A new command called "genericInclude" allows to insert or replace elements managed by the "GenericInclusion" inclusion processor. This command can be used out of the box, except for the dialog box it displays to let the user specify which command is to be executed to generate the included elements. The standard dialog box is too generic and too low-level and, for production use, needs to be replaced by one or more user-friendly, specialized, dialog boxes. (How to do this is explained in XMLmind XML Editor - Developer's Guide.)

    However, techies may use this facility right away by declaring the "GenericInclusion" inclusion processor and the "genericInclude" command in the XXE configuration they use. For example, for that, they could include genericincl.incl in docbook.xxe.

    The "GenericInclusion" inclusion processor comes with two command processors:

    ShellExec
    which allows to execute shell scripts or .bat files.
    Verbatim
    which allows to include all or part of text files.

    For example, typing "!! programlisting -f /main(/-1 -l 422 doIt.cpp" in the dialog box displayed by command "genericInclude" allows to include a programlisting element containing the part of file doIt.cpp starting one line before the line containing string "main(" and ending at line 422.

    (How to develop custom command processors is explained in XMLmind XML Editor - Developer's Guide.)

Other enhancements:

  • Added DocBook-specific commands Promote (shortcut F2 Left) and Demote (shortcut F2 Right). These commands are found in the DocBook menu. They replace commands Decrease Section Level and Increase Section Level. The new commands are at the same time more powerful and more intuitive to use than the old ones.
  • In addition to new commands Promote and Demote, the DocBook menu now also contains new commands Move Up (shortcut F2 Up) and Move Down (shortcut F2 Down).

    In practice, when the CSS style sheet called "Document structure" is applied to a DocBook document (View|Document Structure), new commands Promote, Demote, Move Up and Move Down may be seen as a simple outline mode for DocBook.

  • The popup menu displayed when right-clicking on the attribute table now has a Paste item. This item is especially handy for pasting URLs copied from the Web browser.
  • Added option "Wrap words wider than available space" to the View section of the Options dialog box. This option, which slightly modifies the behavior of word wrap in both the tree view and in the styled view, is useful to deal with long URLs and with languages such as Japanese or Chinese which do not use spaces between words.
  • CSS support: property display can now be inherited (by specifying display: inherit;).
  • CSS support: it is now possible to style application properties (INCLUSION_MARK, LOCATION_INFO, etc) more accurately by using the three-argument form of the (proprietary) :property() pseudo-class.
  • RELAX NG: vastly improved the way XXE makes a difference between two child elements having the same name and having different content models (e.g. DocBook V5 info, indexterm and imagedata). Therefore, seeing XXE automatically switch to its lenient (and uncomfortable to use) editing mode should happen much less often than before.
  • The following bindings are now defined by default, because it was found that the macro recording facility is almost unusable without them. Previously, these bindings were defined in the add-on called "A sample customize.xxe".
    Esc mStarts recording a macro-command,if a macro-command is not already being recorded. Otherwise, stops recording the macro.
    Esc M
    (means type Esc
    then type Shift-m)
    Cancels the recording of a macro-command.
    Esc pReplays the recorded macro-command.
    Esc sDisplays a simple ``Find Text'' dialog box which is especially useful when recording macro-commands.
    Esc xExecutes an XXE command by specifying its name and its parameter. Useful for commands which don't have a key binding.
  • Upgraded DocBook XSL style sheets to version 1.70.1.
  • Mac only: The JavaApplicationStub launcher included in the .dmg distribution is now a Universal Binary (tested on MacOS X 10.3 and 10.4). This means that the .dmg distribution is now as effective on Intel®-powered Macs as it is on PowerPC-powered Macs.
  • Added new demo document: XXE_install_dir/demo/form-sampler.xml. It shows how standard controls such as buttons, check boxes, combo boxes, text fields, etc, can be embedded in the styled view.

Bug fixes:

  • Clicking on the dashed line of a document tab allows to split the document tab area in two parts. Therefore this makes possible closing a document which is not the current, active, document (the current, active, document being contained in the ``other part'' of the document tab area). Attempting to close such document sometimes caused XXE to raise an ArrayIndexOutOfBoundsException.
  • The table editor did not work for XHTML tables containing a thead or tfoot and trs. That is, it did not work for tables containing a thead or tfoot and no tbody.
  • RELAX NG: XXE failed to reopen modular documents referencing external elements by their IDs. Note that unless IDs are specified using the standard xml:id attribute (like in DocBook V5), XXE still fails to reopen modular documents referencing external elements by their IDs.
  • RELAX NG: XXE switched to lenient mode for any element containing an indexterm (db.indexterm.singular). This bug was found using the DocBook V5 RELAX NG grammar, but is absolutely not specific to DocBook V5.
  • RELAX NG: Help|Show Content Model (Shift-F1) didn't use the namespace prefixes found in the opened document to display qualified names. Instead, it kept using ns, ns2, ns3, etc.
  • RELAX NG: using attribute default values (a:defaultValue="xxx") with patterns such as attribute a|b|c {} or element a|b|c {} caused XXE to raise a ClassCastException.
  • CSS3 selector :empty did not match an element just containing an empty text node.
  • When customizing the XXE GUI using contextual actions, editingContextSensitive="true" was ignored. The consequence of this bug was that the corresponding contextual actions were never enabled (``grayed'' menu items).
  • Command Undo had a bug which may have caused XXE to throw an IllegalArgumentException with message "removed not a child". This exception was never thrown by undoing any of the commands developed by XMLmind, but the situation may have been different for commands developed by third-party programmers.

Miscellaneous technical information:

  • Added the following commands: copyInclusionEnabled, moveElement.
  • Added option [checkIsOpened] to command XXE.open.
  • Added the following XPath extension functions: property.

Possible incompatibilities:

  • The following bindings are now expected to be used when recording a macro: Esc m, Esc M, Esc p, Esc s, Esc x.
  • Removed commands decrSectionLevel and incrSectionLevel.
  • The value of CSS property display of comments, processing instructions and non-transcluded xi:include elements is now inherited. (This property is specified in resource builtin.css, the very short built-in CSS style sheet used by XXE. Everything defined in builtin.css may of course be redefined at will in user style sheets.)
  • In configuration element command/process/copyDocument, attributes preserveEntityRefs and preserveXIncludes have been replaced by attribute preserveInclusions.

3.2 (April 03, 2006)

A configuration for DITA can be downloaded and installed using Options|Install Add-ons. (This first release has two important limitations, therefore please take the time to read the description of the add-on before installing and using it.)

In order to support DITA simply and elegantly, XMLmind XML Editor had to be made more generic and more powerful:

  • XXE has a more powerful table editor allowing to insert, copy, cut, paste, delete columns and rows, and allowing to increment or decrement the number of columns and the number of rows spanned by a cell (these operations are often called merge and split).

    Specialized versions of this table editor are used for XHTML, DocBook and DITA. A generic, parametrizable, version of this table editor is available for use in custom schemas having HTML-like tables.

  • It is now possible to bind a command to the drag action (drag the mouse while keeping the left button and the Alt key pressed) as well as to the drop action. For example, using this new facility, it is possible to drag a DITA topic and drop it in a DITA map in order to create the corresponding topicref.
  • A number of enhancements are related to the CSS support in XXE. See technical information below.

Other enhancements:

  • Command Edit|Document Reference|Editing Referencing Document now properly refreshes book.xml in the following case: book.xml references part or all of chapter.xml, chapter.xml references part or all of sect.xml and sect.xml has been modified.
  • Added the following shortcuts: Ctrl+Shift-E for command Edit|Document Reference|Editing Referenced Document, Ctrl+Shift-B for command Edit|Document Reference|Editing Referencing Document.
  • Moved command Select|Redraw (Ctrl-L) to menu View.
  • Command View|Redraw now always rebuilds the view of the whole document, no matter which text or nodes are selected.

    Like command Edit Referencing Document, this command also has the side-effect of automatically refreshing the referencing document after modifications made to the referenced documents. For example, if document book.xml references chap1.xml and if chap1.xml has been modified, this command will refresh what has been included from chap1.xml before rebuilding the view of book.xml.

    All in all, this command now works as expected.

  • Upgraded to Saxon 6.5.5.
  • Upgraded the XMLmind FO Converter plug-in to XFC v2.3p1.

Bug fixes:

  • The bug occurred after a spellchecker dictionary other than the English one was used during a session. After restarting XXE, the Language combobox found in the Check Spelling tool did not reflect last used dictionary. This combobox always displayed English, even if in fact, a French dictionary for example, was actually in use.
  • In single instance mode, it was not possible to start in a row two instances of XXE having no command-line arguments.
  • CSS support: selector p[lang|="CA"] could be used to match <p lang="fr-CA"/>. ([lang|="CA"] does not make sense. [lang|="fr"] means: match lang attribute starting with "fr" or "fr-", like "fr", "fr-BE", "fr-CH", "fr-CA", etc.)
  • Having more than one @extension construct in a CSS style sheet caused an ArrayIndexOutOfBoundsException.
  • When some text is selected using the mouse, and when the mouse is dragged outside the document view, this document view did not scroll automatically. Note that the mouse still needs to be moved continuously otherwise the automatic scrolling stops.
  • Large proportional values in the colwidth attributes of colspec elements (e.g. unusual values like "121*" and "76*", instead of more usual values like "2*" and "1*") caused the CALS tables to be rendered with incorrect column widths.
  • Only on the Mac: added a workaround for a keyboard focus transfer problem between the Edit tool and the document view.
  • When command putAttribute is used to specify an ID attribute for an element, the dialog box displayed by this command no longer allows to specify an ID which is already in use by another element.
  • W3C XML Schema: this case (found in Dublin Core's dcterms.xsd) was wrongly detected as being an error: a complexType having simpleContent which is the restriction of a base complexType having a mixed content and an emptiable particle.

Technical information:

  • CSS support: it is no longer necessary to manually redraw the view of an element styled using one or more of the following pseudo-classes: :first-child, :last-child, :first-of-type, :last-of-type, :empty. The view of such element is now automatically rebuilt each time sibling elements are inserted or deleted.
  • CSS support: added support for the CSS3 :root and :empty pseudo-classes.
  • CSS support: XXE now supports display: list-item and the list-style-type, list-style-position and list-style-image properties. This simply makes it easier styling lists. Previously, one needed to explicitly create marker boxes using generated content.
  • CSS support: the font-family property is less inflexible than before.

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

    However a few well-know font families are mapped to the corresponding generic font families. Example: "font-family: verdana;" is understood to be sans-serif.

    All other cases will cause the serif font family to be used. Example: "font-family: 'Nimbus Sans';".

  • CSS support: rules which use extensions specific to XMLmind XML Editor may be specified in @media XMLmind-XML-Editor constructs (identifier XMLmind-XML-Editor being case-insensitive). Example:
    @media XMLmind-XML-Editor {
        img {
            content: image(attr(src));
        }
    }
  • CSS support: it is now possible to force attribute selectors to consider default attribute values defined in the DTD, W3C XML Schema or RELAX NG schema. To do this, simply add "@use-default-attribute-values;" at the top of the CSS file.

    DITA example:

    @use-default-attribute-values;
    
    *[class~="topic/body"] {
        display: block;
        margin-left: 12pt;
    }
  • CSS support: added the drag-source generated content object. The file-drop-site generated content object has been replaced by the more generic drop-site generated content object.
  • Added the following commands: ensureSelectionAt.
  • Added the following XPath extension functions: index-of-node, uri-or-file-name.
  • The newElementContent configuration element has two new options: addChildElements="noChoice" and addChildElements="elementOnlyContentNotEmpty".
  • James Clark's XP, the XML parser used by XXE now supports "ASCII" as an alias of the "US-ASCII" encoding.

Possible incompatibilities:

  • Table editing commands com.xmlmind.xmleditapp.xhtml.table.TableColumn and com.xmlmind.xmleditapp.xhtml.table.TableRow have been replaced by command com.xmlmind.xmleditapp.xhtml.table.HTMLTableEdit.
  • Table editing commands com.xmlmind.xmleditapp.docbook.table.TableColumn and com.xmlmind.xmleditapp.docbook.table.TableRow have been replaced by command com.xmlmind.xmleditapp.docbook.table.CALSTableEdit.
  • Table editing commands com.xmlmind.xmleditapp.docbook.TableColumn and com.xmlmind.xmleditapp.docbook.TableRow have been replaced by command com.xmlmind.xmleditapp.docbook.DBTableEdit.
  • When editing HTML tables using the new table editor, note that colspan="0" and rowspan="0" are no longer preserved by the editor. For example, if a cell has attribute colspan="0" and if this cell actually spans 3 columns, decreasing its column span using the editor will work, but the modified cell will have attribute colspan="2".
  • Alt-Mouse-Button-1 is now reserved for dragging. Do not use this user input in custom bindings.
  • CSS support: List markers are rendered slightly differently than before. For example, property "padding-top: .6ex;" which was used to vertically align the list bullet is no longer needed:
    ul > li:before {
        display: marker;
        content: disc;
        padding-top: .6ex; /*Not needed. Remove this.*/
    }
  • CSS support: the file-drop-site generated content object has been replaced by the more generic drop-site object.
  • Application event file-drop used in bindings has been replaced by the more generic drop application event.
  • On Linux, the xxe shell script which is used to start XXE no longer forces the use of sun.awt.motif.MToolkit. This has an effect only when running JavaTM 1.5+. This means that from now, on Linux, with JavaTM 1.5/sun.awt.X11.XToolkit, you may have minor problems with old window managers such as mwm.
  • The addChildElements="none" option of the newElementContent configuration element has been removed because it was useless.

3.1.0 (January 30, 2006)

Enhancements:

  • New add-on manager (menu item Options|Install Add-ons) allows to easily and safely download and install all sorts of add-ons (configuration, translation, dictionary, XSL-FO processor plug-in, image toolkit plug-in, etc) and this, not only from XMLmind web sites, but also from third-party web sites.

    This add-on manager can also be used to easily and safely uninstall or upgrade installed add-ons.

    The add-on manager is not available if XXE has been deployed using JavaTM Web Start.

  • The Options dialog box now has a section for configuring proxy servers (because, in many companies, this is really needed to get a functioning add-on manager).

    The magical checkbox "Use system settings" only works with JavaTM 1.5+.

  • A new type of plug-in has been created: Virtual Drive Plug-Ins.

    A virtual drive allows XMLmind XML Editor to edit documents stored in places other than ordinary, local, file systems. This is done by emulating a hierarchical file system.

    For example, the new Zip virtual drive plug-in allows to edit documents contained in a Zip archive.

  • The URL chooser dialog box has been completely rewritten. It is now, at the same time, simpler, more generic and more powerful.

    This new URL chooser dialog box automatically uses all installed virtual drive plug-ins to let the user browse remote/virtual file systems.

  • Command "Edit|Document Reference|Edit Referencing Document" now has the side-effect of automatically updating the (read-only, displayed with a light gray background) views of the element references found in the referencing document. For example, if document A references a table element contained in document B and if document B is modified, "Edit Referencing Document" will not only bring the window of document A to front but it will also update the view of the table.
  • Command "Edit|Cut" is now reference-enabled. That is, cut (Ctrl-X) and paste (Ctrl-V) can now be used to move a reference to an element contained in an external document from one place of the document being edited to another place in this document.
  • Added a "Text anti-aliasing" checkbox to the General section of the Options dialog box. By default this option is turned off because it noticeably slows down XXE.

    Note that turning on this option is not needed on the Mac where anti-aliasing is part of the Aqua Look&Feel. Also note that when used with JavaTM 1.5 (recommended), the whole GUI of XXE is anti-aliased. When used with JavaTM 1.4, only the text of the document views is anti-aliased.

  • The GUI of XXE is now updated in real-time when an external application changes the contents of the system clipboard. This always works when using JavaTM 1.5 and only works to a certain extent when using JavaTM 1.4.

Technical information:

  • Commands run and start can now be executed conditionally depending on the platform. Example:
    <choice>
      <command name="run" parameter='[Windows] notepad "%D"' />
      <command name="run" parameter='[Unix] emacs "%D"' />
    </choice>
  • Command insertCharByName has a new [DocBookIfNone] option. When this option is used, the dialog box displayed by this command lists the names of the character entities defined in the DocBook 4.2 DTD, but only if the DTD/Schema of the document being edited does not define its own character entities.
  • Command cutInclusionEnabled is available under both "cut" and "cutInclusionEnabled" names. Simple cut command (i.e. The one which is not reference-enabled) is still available under the "plainCut" name.

    Similarly, command pasteInclusionEnabled is available under both "paste" and "pasteInclusionEnabled" names. Simple paste command (i.e. The one which is not reference-enabled) is still available under the "plainPaste" name.

Bug fixes:

  • Commands incrSectionLevel and decrSectionLevel were not disabled when the element being edited (e.g. The chapter containing the sections) was marked as being read-only.
  • CSS property background-color is now automatically inherited when an ancestor style has property display: inline. The CSS spec does not mandate this. This is just a workaround for a limitation in our implementation.
  • Localizations of XXE configuration (.xxe) files and of XXE GUI (.xxe_gui) files did not work when XXE was deployed using Java Web Start.
  • After switching from a CSS style sheet to another (or to no style sheet at all) using the View menu, the document was not properly scrolled to make the selection (selected node, caret, etc) visible.

Possible incompatibilities:

  • Translations to languages other than English and spell checker dictionaries other than the English one must now be downloaded and installed separately using XXE integrated add-on manager (that is, menu item Options|Install Add-ons).
  • Support of WebDAV and support of FTP have been unbundled. From now, you'll have to download and install the following add-ons if you need the ability to edit document stored on a WebDAV and/or an FTP server (Professional Edition only):
    • WebDAV virtual drive plug-in
    • FTP virtual drive plug-in
  • The APT format plug-in and the RenderX XEP 3.7 (not 4+) XSL-FO processor plug-in are no longer available.
  • Configurations for creating XXE configurations and XXE GUIs have been unbundled. If you need them, you'll have to download and install the corresponding add-ons.
  • Persons distributing custom configurations for XXE are strongly urged to package them as add-ons.

    Custom configurations not packaged as add-ons should still work fine without any change, but they will be ignored by the new add-on manager. That is, the user will not be able to use Options|Install Add-ons to install/uninstall/upgrade these unpackaged custom configurations.

    Packaging any type of add-on (configuration, translation, dictionary, XSL-FO processor plug-in, etc) for use by XXE integrated add-on manager is simple:

    1. Put all your files in a common directory. Example: my_config/acme.xxe, my_config/acme.dtd, my_config/acme.css, my_config/acme.xml.
    2. Add an add-on descriptor to this directory. Example: my_config/my_config.xxe_addon.

      An add-on descriptor is a very simple XML file having a .xxe-addon extension and conforming to the RELAX NG schema contained in the add-on called "A configuration for specifying XMLmind XML Editor add-ons".

      Example of minimal add-on descriptor:

      <a:addon location="my_config.zip"
               xmlns:a="http://www.xmlmind.com/xmleditor/schema/addon">
        <a:category><a:configuration /></a:category>
        <a:name>A configuration for creating ACME documents</a:name>
        <a:version>1.0.0</a:version>
      </a:addon>
    3. Zip this common directory (using 7-Zip or Info-Zip for example). Example: my_config.zip.

      Topmost directory my_config/ should be included in the .zip file.

    4. Put the .zip file, along with a copy of your add-on descriptor (pointing to the .zip file as shown in the above example), on a public web site of yours. Example: http://www.acme.com/pub/my_config.zip and http://www.acme.com/pub/my_config.xxe_addon.
    5. Tell your users to drag and drop URL http://www.acme.com/pub/my_config.xxe_addon onto the list displayed by XXE Options dialog box (Options|Options, Install add-ons section). This step is done once for all, as user preferences are persistent in XXE.

V3.0 Patch 1 (December 2, 2005)

Enhancements:

  • DocBook 4.4 is now the version of the DocBook DTD which is used by default.
  • XXE_install_dir/doc/rnsupport/config/docbook5/ now contains a ready-to-use configuration for DocBook V5.0b1. Previously, this directory contained a configuration which could be used to create documents conforming to DocBook NG, the "Lillet" release.

    Remainder: do not use this configuration for serious work (even if it is almost as usable as the normal, DTD-based, configuration). This configuration has mainly been created to test the support of RELAX NG in XXE.

  • Upgraded