9 APPENDIX D: Enhancements and bug
fixes
9.1 M1.3 Patch 3 (August 07, 2002)
Bug fixes:
- Workaround a Java 1.4 bug related to menu mnemonics. Example: saving a
file with "Alt-F S" inserted an "F" in the document. This
bug does not seem to happen with Java 1.3.1.
Enhancements:
- Slovak localization by Zdenko Podobnı.
- German localization by Volker Hess.
9.2 M1.3 Patch 2 (May 22,
2002)
M1.3 Patch 2 has been released mainly because our installer built using
ZeroG InstallAnywhere (an excellent product that we recommend) seemed not to
be compatible with Java 1.4.
While at it, we have also qualified XXE
under Java 1.4.
Bug fixes:
- Plain text "<em>word</em>" when copied to
clipboard, was pasted as an em element.
Enhancements:
- Added support for Norman Walsh's Slides XML V2.0 DTD (a CSS style sheet
and a template).
- Split Brian Lalonde's docbook41.css in two parts: sdocbook.css and
docbook.css (which imports sdocbook.css).
This modularization was needed in
order to cleanly implement slides.css.
XMLmind's original docbook.css
(i.e. pre-Brian Lalonde's) has been removed from the distribution.
- On Mac, keyboard shortcuts use the Command key rather than the Control
key. There are still sevear problems related to mouse and keyboard
events on the Mac:
- Ctrl-Click-1 does not work.
- On a French keyboard, typing Cmd-Z sends a Cmd-W event to XXE and Cmd-Q
sends a Cmd-A.
- The swapped Cmd-Z/Cmd-W only works one time.
- The AZcheck spell-checker engine bundled with XXE has been upgraded to its
latest version.
The status of the dictionaries needed by AZcheck has been
clarified (see Web site).
9.3 M1.3 Patch 1 (March 13,
2002)
Enhancements:
- Added support for the following encodings (both when loading a document
and when saving it -- see updated Save tab in Options->Options dialog
box):
- Windows-1252 (or Cp1252) Windows Latin1, West Europe.
- ISO-8859-15 Latin9, updates Latin1 with symbols such as the
Euro.
- ISO-8859-2 Latin2, Central and Eastern Europe.
- ISO-8859-3 Latin3, Esperanto, Maltese, Turkish.
- ISO-8859-4 Latin4, Estonian, Latvian, Lithuanian, Greenlandic,
Lappish.
- ISO-8859-5 Cyrillic.
- ISO-8859-7 Greek.
- ISO-8859-9 Latin5, Turkish.
- ISO-8859-13 Latin7, Baltic.
Do not forget to explicitly add this kind of declaration
<?xml version='1.0' encoding='ISO-8859-15'?> at the
beginning of your document templates because such encodings cannot be
automatically detected.
We've only tested ISO-8859-15. If you have
problems with the other newly supported encodings or if you need more
encodings, tell us.
- XXE localized to Spanish by Jesus Redrado of Universidad de Navarra.
- docbook41.css enhancements by Brian Lalonde.
- Improved the look of the Tools->CheckValidity non-modal dialog
box.
Bug fixes:
- In some cases, XXE used the same auto-generated value for ID attributes of
newly created elements.
9.4 M1.3 (February 6, 2002)
Milestone 1.3.
Enhancements:
- Did a very simple integration of a beta version of AZcheck, a
not-yet-released pure Java spell-checker product.
- The English dictionary is the only one bundled with XXE, but several other
dictionaries can be downloaded from the
download page of
XMLmind.
Downloaded dictionaries must be copied to the dict
subdirectory of the directory containing xxe.jar. Make sure that
downloaded dictionaries are saved as files with extension
.jar.
- Like for search/replace and for printing, it is possible to check a subset
of the document by explicitly selecting the element to be
checked.
Like for search/replace and for printing, restricting the command
to the text selection is not possible.
- The keyboard shortcut of Tools->CheckSpellingErrors is Ctrl-Shift-S
(S like Spell).
- Added a Selection menu and corresponding buttons to the tool bar.
- Added File->New, File->Open, File->Save, Edit->Undo,
Edit->Redo buttons to the tool bar.
- Added an new Edit->ApplyLastConversion command which is very handy
when, for example, you want to convert several pieces of plain text to XHTML
strong or em.
Its keyboard shortcut is Ctrl-A (A like
Again). Previously, this was the keyboard shortcut of
Edit->SelectAll but this command is not very useful.
- Slightly improved the indented output by adding some open lines at safe
places.
- Added a new option to the Edit tab of the Options dialog box which could
be useful for users who create their own DTDs. This option specifies what to
do when a newly created element is inserted in the document and when the
content model for this type of element has several possible choices for the
child elements.
- A fairly complete DocBook style sheet named docbook41.css has
been contributed by Brian Lalonde (Brian Lalonde's email address can be found
at the beginning of docbook41.css). This style sheet becomes the
default one for DocBook.
The previous one named docbook.css, is
still available but will no longer be maintained.
If you want to use
this new style sheet, edit your existing DocBook documents with a text editor
and
replace:
<?xml-stylesheet type="text/css" href="../css/docbook.css" ?>
by:
<?xml-stylesheet type="text/css" href="../css/docbook41.css" ?>
<?xml-stylesheet type="text/css" alternate="yes" title="Previous docbook stylesheet"
href="../css/docbook.css" ?>
Of course, replace
../css by the actual URL of the directory containing your style
sheet.
Bug fixes:
- xxe.bat does not launch XXE if installed in a directory like
C:\Program Files\xxe, because the directory name contains whitespace
characters.
- The detection of the charset of a CSS style sheet based on the BOM (Byte
Order Mark) found at the beginning of the file was incorrect.
9.5 M1.2 Patch 5 (December 19,
2001)
Official support for MacOS X. However, for now, the MacOS X version
of XXE is less usable than the other Unix and Windows versions for the
following reasons:
- Java bug: whatever the paper size the user chooses, the margins and
overall size of the printed output are incorrect.
- Java bug: printing cannot be canceled.
- Java bug: on a French keyboard, typing Ctrl-Z sends a Ctrl-W event to XXE
and Ctrl-Q sends a Ctrl-A.
- Java bug: the standard shortcut Command-Q found on the Mac menu bar does
not invoke the windowClosing handler registered by the application. Therefore,
if a user types Command-Q instead of Ctrl-Q, the state of XXE will not be
saved in ~/.xxe.
- Mac specificity: even when using a multi-button mouse, clicking with the
right button will not pop-up the contextual menu (such as the "Expand
All/Collapse All" menu of a tree view component). The user must use
Command-Click instead.
- Mac specificity: some Macs, such as iBooks, have no Insert and Delete
keys, therefore some of the most useful XXE shortcuts are not available.
Bug fix: if the style of the document element (that is the root
element) depends on one of its attributes, this style was not properly updated
each time this attribute was changed.
Enhancement: added a
defaultEncoding parameter to both the APT and Javadoc format
plug-ins. This parameter specifies the encoding to be used when loading and
saving a file if no encoding has been specified by the connection. This
encoding must be a Java encoding name (example ISO8859_1) and not a
IANA charset name (example
ISO-8859-1).
9.6 M1.2 Patch
4 (November 27, 1001)
Bug fix: fixes a bug related to valid but ``strangely written'' element
content models found in DTDs such as
RSS 0.91.
This bug is described below in subsection
October 1, 2001.
Note that even
with this bug fix, XXE still doesn't check the validity of the DTD: DTD
writers really need to check their DTDs using a third party tool such as James
Clark's SP (in XML
mode).
Users that just write Docbook and XHTML documents don't need to
upgrade.
9.7 M1.2 Patch 3 (November
23, 2001)
Bug fix: in a CSS, a reference to the attribute A of the element
which is the subject of the selector is specified using construct
attr(A).
CSS being case insensitive, all CSS identifiers
are converted to lower-case character strings (except in
selectors).
Therefore, if you specify attribute name A as an
identifier, A is automatically converted to lower-case, which may be a
problem because XML is case-sensitive.
In order to specify
non-lower-case attribute names, one must specify A as a quoted CSS
string rather than a CSS identifier. Example: specify
attr("HRef") rather than
attr(HRef).
Unfortunately, a bug prevented XXE from accepting
construct
attr(string).
9.8 M1.2
Patch 2 (November 7, 2001)
Workaround a bug which prevents IBM Java from displaying menu labels and
other resources.
9.9 M1.2 Patch 1
(October 25, 2001)
Bug fixes:
Bug workarounds:
9.10 M1.2 (October 19,
2001)
Milestone 1.2.
The new printing feature contained in this release
requires at least a Java runtime 1.3. Therefore, the Java 1 platform is no
longer supported. Do not upgrade if you need to keep working with a Java
runtime 1.1.
Enhancements:
- Added a literal and regular expression search and replace facility.
- The document being edited can now be printed. It is also possible to just
print the selected element (for example: the selected section).
A
@media print section has been added to all the CSS style sheets
bundled with XXE to slightly customize them for printing.
Note that this
is just a quick and dirty printing facility: CSS constructs which are specific
to paged media, such as @page or page-break-before, are
ignored. High-quality printing can be achieved by using third party XSL
tools.
- Using the new Options dialog box, it is now possible to specify the user
preferences in terms of font face, font size, text color and background
color.
Of course, these preferences will have no effect of the word
processor-like view if the corresponding style properties have been
``hardwired'' into the CSS style sheet. (This is not the case with all the
style sheets bundled with XXE.)
- Edit->Join, the inverse command of Edit->Split, concatenates the
selected element with the preceeding one, if this preceeding element is of the
same type.
- Selecting an element automatically moves the caret inside it, unless the
caret is already inside one of the descendants of this element.
- Ctrl-Shift-Up arrow selects the preceeding sibling of the selected
element. Ctrl-Shift-Down arrow selects the following sibling of the selected
element.
- Better user feedback during lengthy operations such as document loading or
printing.
During certain ``safe'' steps, it is now possible to cancel these
lengthy operations by clicking on the spinning beach ball icon or on the
status message located at the bottom of XXE main window.
- Undoing/redoing an action moves the caret inside the modified element. If
the modified element contains no text, it is selected instead.
- Added command Tools->RefreshSelectedElement (shortcut Ctrl-L) that
rebuilds the view of the selected element.
- The algorithm used to scale images can now be specified in the style sheet
by using scaling, a new optional parameter of the
image(source, width, height, scaling)
construct.
Parameter scaling has two possible values: smooth
which means high-quality/slow and default which means
low-quality/fast.
See APPENDIX A: CSS2
properties and values supported by XXE.
Bug fixes:
9.11 October 1, 2001
- Bug fix: important performance problems related to the interaction
between the document view and the scroll bars. These performance problems were
not present in Milestone 1. These problems are important enough to justify an
upgrade from the original XXE M1.1.
- Bug fix: embedded Java components were not properly moved in the document
view when the document is modified by the user.
- Bug fix: in the non-styled (tree) view, some borders were drawn with a
raised relief instead of a much nicer sunken relief.
- Bug that cannot be fixed without a major rewrite: some DTDs such as
RSS 0.91 are
not supported by XXE because they contain strangely written, but valid,
content models for some elements.
Example:
<!ELEMENT channel (title | description | link | language | item+ |
rating? | image? | textinput? | copyright? |
pubDate? | lastBuildDate? | docs? | managingEditor? |
webMaster? | skipHours? | skipDays?)*>
The
author of this DTD wants in fact to express the following content
model:
<!ELEMENT channel (title & description & link & language & item+ &
rating? & image? & textinput? & copyright? &
pubDate? & lastBuildDate? & docs? & managingEditor? &
webMaster? & skipHours? & skipDays?)>
where
non-XML operator '&' means that the particles can occur in any
order.
The workaround is to rewrite the content models that are rejected
by XXE. What follows is equivalent in terms of validation to the example
above:
<!ELEMENT channel (title | description | link | language | item |
rating | image | textinput | copyright |
pubDate | lastBuildDate |docs | managingEditor |
webMaster | skipHours | skipDays)*>
9.12 September 21, 2001
Milestone 1.1
- The Javadoc plug-in adds
Javadoc(TM) support to XXE. With XXE, you can now edit the Javadoc comments
contained in a Java file using a word processor-like view.
- Bug fix: under certain conditions, when loading a document with a DTD,
trimming the white space of an element with mixed content resulted in useless
empty #PCDATA.
- Bug fix: moving the caret into a newly created collapsed TreeView caused
an ArrayIndexOutOfBoundsException.
- Bug fix: under certain conditions, when the tag auto-completion feature
was used, the tag list contained in the tag chooser dialog box was not
properly scrolled.
- The new menu command Edit->InsertFile may be used to paste the content
of a file (XML or plain text) before, into or after the selected element.
If
after parsing the content of the file and after analyzing what can be done in
the context of the selected element, XXE finds that such insertion is not
allowed, XXE will simply beep to signal that the command has not been
completed.
- The caret blinks when the document view has the keyboard focus.
- When a document is scrolled, the caret is moved so as to try to keep it
always visible.
- When you switch from a style sheet to another (or to No style sheet) using
the Style menu, all the document marks are preserved (caret, text selection,
element or #PCDATA selection). Previously, these marks were cleared.
- When there is no ambiguity, typing Enter splits the selected element in
two parts.
Example: typing Enter when an XHTML p is the selected
element, splits the p in two parts, while typing Enter when an XHTML
pre is the selected element, inserts a linefeed character into the
pre.
The Edit->Split menu command (shortcut Ctrl-Enter) is
still the standard way to split the selected element in two parts.
- The arrow buttons of the scrollbars now scroll the document view by a
reasonable amount. Previously the scroll increment was 1 pixel.
- The algorithm used to scale images has been changed from high-quality/slow
to low-quality/fast. The size of the ``thumbnails'' used in all the CSS style
sheets bundled with XXE has been changed from 200x200 max. to 400x200
max.
9.13 September 7, 2001
9.14 August 17, 2001
- Bug fix: the indented XML file generated for a document that
contains empty elements with a non-empty content model was not
well-formed.
9.15 August 3, 2001
Milestone 1.