OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   [ANN] XMLmind XML Editor V2.6

[ Lists Home | Date Index | Thread Index ]

XMLmind XML Editor V2.6 can be downloaded from

V2.6 (May 10, 2004)

Enhancements: (see technical details below)

   * Composing modular documents with XXE is
     easier, quicker and less error-prone:

       1. Select an element in a document (select
	 the root element if you need to reference
	 the whole document).
       2. Use new command "Edit|Document
	 Reference|Copy as Reference" (shortcut
       3. Switch to the master document.
       4. Use ``ordinary Paste'' command, which now
	 understands that you are not pasting a
	 copy of the element but a reference to
	 the element selected in step #1.

   * Use of XInclude to compose modular documents
     is now enabled in free Standard Edition.
     (Previously, this feature was only supported
     by Professional Edition.) In practice, this
     means that from now, Standard Edition users
     can compose arbitrarily complex modular

   * Previously, pressing key Enter inside any
     element caused the ancestor ``split-able''
     element, if any, to be split in two parts.

     This behavior was sometimes nice (inside a p,
     para, simpara, etc) and sometimes surprising
     (inside div, td, entry, etc).

     In order to make XXE less surprising to use,
     this special behavior has been removed:
     pressing key Enter inside a ``split-able''
     element does nothing at all.

     For consistency, the special behavior of key
     BackSpace at the beginning of a ``join-able''
     element and the special behavior of key Del at
     the end of a ``join-able'' element have been
     removed too.

     Splitting a ``split-able'' element now
     requires the element to be explicitly selected
     and command Edit|Split to be used (its new
     keyboard shortcut is Esc Enter).

     Joining a ``join-able'' element to its
     preceding sibling now requires the element to
     be explicitly selected and command Edit|Join
     to be used (its new keyboard shortcut is Esc

     Similarly, when allowed by the DTD or schema,
     Esc Delete joins explicitly selected element
     with its following sibling.

   * Does the above changes mean that XXE is less
     surprising to use but also somewhat less
     powerful? No, because the XHTML and DocBook
     configurations have been tuned to implement
     the following behaviors:

        + Enter, Del, BackSpace can be used to
	 split and join as before but only inside
	 p, para and simpara.
        + Ctrl-Enter pressed anywhere inside a
	 paragraph or a list item (i.e. any
	 commonly used, repeatable, element)
	 inserts a new paragraph or a list item
	 after it.
        + Ctrl+Shift-Enter pressed anywhere inside
	 a paragraph or a list item inserts a new
	 paragraph or a list item before it.

   * User Request: pressing keys Del and BackSpace
     now work as expected: they delete selected
     nodes if there is an explicit node selection,
     otherwise they delete text selection if any,
     otherwise they delete the character at caret

     Previously, deleting an explicit node
     selection was only possible using Ctrl+K. Note
     that Ctrl+K is still available and useful
     because, like Ctrl+X and unlike Del and
     BackSpace, it can be used on the element
     implicitly selected.

   * The DocBook menu contains a new entry
     "Informal Element / Formal Element" which can
     be used to convert an informal element to/from
     a formal element having a title. This command
     currently works for informaltable/table,
     informalfigure/figure and

   * The DocBook CSS style sheet now implements for
     the xref element all the processing
     expectations described in "DocBook: The
     Definitive Guide".

   * All DocBook template documents now use a
     section element rather than a sect1 element.

   * Upgraded Norman Walsh's DocBook XSL style
     sheets to version 1.65.1.

   * It is now easier to customize the XSL style
     sheets used to convert DocBook and Slides
     documents to HTML, RTF, PostScript® and PDF.

     The idea is to specify XSL style sheet
     parameters in a named parameterGroup
     configuration element added to
     (C:\Documents and Settings\xxe\config\customiz
     e.xxe on Windows). Example:

<parameterGroup name="docb.toPS.transformParameters">
  <parameter name="variablelist.as.blocks">1</parameter>

<parameterGroup name="docb.toRTF.transformParameters">
  <parameterGroup name="docb.toPS.transformParameters"/>

     More on this in the online help of the DocBook
     configuration. Also note that the
     documentation of Norman Walsh's XSL style
     sheets is bundled with XXE.

   * The CSS style sheet used to edit W3C XML
     Schemas has been slightly improved.

   * The XSL-FO processor plug-in for Apache FOP
     now includes imi, a class library for
     managing images, which allows FOP to support
     many graphics formats other than GIF and JPEG
     (for example PNG).

     Reminder: XSL-FO processor plug-ins are only
     supported by XXE Professional Edition, except
     the plug-in for [4]RenderX XEP which is
     supported by Standard Edition but only when
     installed with XEP Trial Edition.


   * The section of the tutorial describing how to
     compose modular documents has been completely

   * The Power User's Guide has been split in three
     independent documents:

        + First document describes how to configure
	 and deploy XXE.
        + Second document describes how to write
	 macro-commands and contains a reference
	 of all native commands.
        + Third document deals with the support of
	 W3C cascading style sheets (CSS) in XXE.

Bug fixes:

   * Reopening a document referencing by the means
     of XInclude a module (example: a
     <!DOCTYPE>-less section), itself containing a
     reference to a character entity (example:
     &euro;), was not possible. In such case, the
     error message was: reference to undefined
     entity "euro".

   * Previously, XXE pretended that it was able to
     manage references to external entities and
     ``XIncluded'' modules, themselves containing
     references to internal or external entities,
     while this was not the case. For example, in
     such case, "Edit Referenced Document" and
     "Save As" failed miserably.

     Now references to external entities and
     ``XIncluded'' modules, themselves containing
     references to internal or external entities,
     are detected as being ``not managed''.

   * If a document references the same entity (same
     public ID and same system ID) several times,
     XXE now declares a single entity in the DTD
     internal subset. Previously, XXE declared the
     entity several times using a different name
     for each reference. The old behaviour was
     harmless but the saved XML file was not as
     simple as it could be.

   * It is no longer possible to save a document

        + a comment contains string "--" or ends
	 with "-",
        + a processing-instruction contains string
        + a processing-instruction has a target
	 which is not an XML Name.

   * It was not possible to remove invalid
     attributes such as "xmlns:xi" when the
     document is conforming to a DTD. Trying to do
     so previously reported an error about
     "xmlns:xi" being malformed or having an
     unknown prefix, which prevented XXE from
     removing the invalid attribute.

   * It was not possible to use named element
     templates in macro-commands when the name of
     the element template was localized. For
     example, with a German XXE, it was not
     possible to use the "figure einfügen" toolbar
     button because element template
     "figure(image)" has been renamed to

   * Using both attr(foo) and a
     text-field(attribute, foo) in the content
     generated for the same element caused XXE to
     throw a NullPointerException. This happened
     after modifying the text in the text-field()
     and moving focus using the Tab key to a
     sibling text-field().

     The bug is fixed but the focus behavior is
     still unpleasant when attr(foo) is used. It is
     recommended in such case to use
     label(attribute, foo), a new type of generated
     content object, rather than attr(foo).

   * XML Schema: the complete schema built from
     multiple schemas specified using
     xsi:schemaLocation and
     xsi:noNamespaceSchemaLocation attributes was

Technical details about the enhancements (for
local gurus):

   * The old method for composing modular
     documents, that is using a dialog box to
     specify which document (or element inside a
     document) to reference is still available, but
     the corresponding command is no longer bound
     to any menu or key.

     This ``old command'' is called include and is
     documented in the Power User's Guide. This
     command is still useful because you can use it
     non only interactively, but also within
     macro-commands, by passing it an URL possibly
     having an XPointer fragment.

   * The new way of composing modular documents is
     implemented by commands copyAsInclusion and
     pasteInclusionEnabled (an extension of command
     paste which now replaces command paste in

   * The new behavior of the Del and BackSpace keys
     is implemented by new commands
     deleteSelectionOrJoinOrDeleteChar (a simple
     variant of command joinOrDeleteChar) and
     deleteSelectionOrDeleteChar (a simple variant
     of command deleteChar).

     Unless overridden in a configuration file (it
     is the case for XHTML, DocBook, Simplified
     DocBook, Slides), Del and BackSpace are now
     bound to command deleteSelectionOrDeleteChar.

   * Macro-commands now have four new XPath-based
     child elements: match, test, get and set. In
     practice, this means that it is now possible
     to write much more powerful macro-commands
     (really much more!):

        + Macro-commands can now be highly
        + Macro-commands can now have variables,
	 local or with the document view as their
        + Some variables are predefined, example:
	 $selected, $implicitElement, $dotOffset,
	 etc, because they are mapped to the
	 selection. Example:
	 <set variable="dotOffset" expression="$do
	 tOffset + 1"/> moves the caret by one
	 character to the right.

   * Macro-commands now have a boolean trace
     attribute. When specified with value true,
     this attribute causes the macro to print debug
     information on the console, which is extremely
     useful when developing a sophisticated macro.

   * Previously, configuration element command
     could contain child elements: class (command
     implemented in Java[tm]), macro (a
     macro-command) or process (a process command).
     In addition, configuration element command can
     now contain child element menu, which is used
     to specify a popup menu of commands.

     This new type of command, typically invoked
     from contextual macro-commands, is intended to
     be used to specify contextual popup menus,
     redefining or extending the standard
     right-click popup menu.

   * In CSS style sheets, generated content can now
     contain ``proprietary'' extension
     which is a generalization of standard
     construct attr(attribute_name).

     The improved rendering of the DocBook xref
     element is implemented using xpath().

     Note that xpath(), like attr(), is evaluated
     once and this happens when the view of the
     element is built. This means that in most
     cases, manually refreshing the view of the
     element after a change in the document will be
     needed (use Select|Redraw or Ctrl-L).

     Specifying attr(foo) in a CSS rule implicitly
     creates a dependency between the value of
     attribute foo and the element which is the
     target of the CSS rule: the view of the
     element is automatically rebuilt when the
     value of its attribute foo is changed.

     Similarly, specifying xpath(whatever) in a CSS
     rule implicitly creates a dependency between
     the element which is the target of the CSS
     rule and all its attributes: the view of the
     element is automatically rebuilt when the
     value of any of its attributes is changed
     (which too much or not enough depending on the
     value of the whatever XPath expression!).

   * The xpath() construct is efficient and
     sometimes -- not often -- useful, but in many
     cases, it is not dynamic enough. Having to
     manually refresh the view of the element after
     a change in the document is definitely not

     Unlike xpath(), new generated content object
     string_specifying_an_XPath_expression) is
     automatically updated when the document is
     modified (for efficiency reasons, the update
     is delayed until the editing context changes).

     Unfortunately, label(xpath,
     string_specifying_an_XPath_expression) is not
     implemented in XXE V2.6 and is not expected
     before V2.8. XXE V2.6 only supports
     label(attribute, attribute_name).

   * The implementation of XPath used in
     macro-commands and in ``proprietary'' CSS
     extensions is a XPath 1.0 full implementation
     including all standard functions such as id()
     and document(), as well as many ``proprietary
     functions'' such as copy(), if(),
     resolve-uri(), etc.

     The implementation of XPath 1.0 used in XXE
     has been extracted from James Clark's XT, one
     of the fastest XSLT engines.

   * User Request: CSS3 attribute selectors
     [att^=val], [att$=val], [att*=val] are now

   * It is now possible to specify both schema and
     dtd elements in an XXE configuration file but
     in this case, the dtd element cannot be used
     to specify a content model. It may be used to
     specify a set of character entities.

   * DocBook templates using a sect1 element are
     still available in
     but you need to edit configuration file
     XXE_install_dir/config/docbook/docbook.xxe to
     use them.

   * The xsdvalid, dtdvalid, dtdtoxsd command-line
     tools are now XML catalog aware. These
     command-line tools will use the XML catalogs
     specified in environment variable XXE_CATALOG.
     This variable must contain one or several XML
     catalog file names or URLs separated by a
     semi-colon (';').

Possible incompatibilities:

   * All DocBook template documents now use a
     section element rather than a sect1 element.

   * Esc Enter, Esc Del, Esc BackSpace are now
     bound to commands split and join.

   * In XHTML and DocBook configurations, Enter,
     Del, BackSpace, Ctrl-Enter and
     Shift-Ctrl-Enter are now bound to contextual

   * Command get has been replaced by new
     macro-command element get. For example, the
     following macro-command:

<command name="docb.startImageViewer">
      <command name="get"
        parameter="[implicitElement][file] ./@fileref"/>
      <command name="start" parameter='xv "%_"'/>

     may be rewritten as follows:

<command name="docb.startImageViewer">
  <macro trace="false">
      <get context="$implicitElement/@fileref"
      <command name="start" parameter='xv "%_"'/>

XMLmind XML Editor Information List


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS