Download from: http://www.xmlmind.com/xmleditor/download.shtml
================================================
V2.1 (January 23, 2003)
~~~~~~~~~~~~~~~~~~~~~~~
Enhancements:
~~~~~~~~~~~~~
* Styled blocks can be collapsed/expanded. This
is specified in the CSS style sheet using
extensions, for example (APT):
------------------------------------------------
table {
collapsible: yes;
not-collapsible-foot: 1;
collapsed-content: url(table.gif);
}
caption:before {
content: gadget(
"com.xmlmind.xmledit.styledview.Collapser",
icon(collapsed-right), icon(expanded-up)) " ";
}
------------------------------------------------
The default CSS style sheets for DocBook and
Simplified DocBook now specify collapsible
parts, chapters, sections, figures and tables.
* Added generic command selectById which can be
used to navigate through elements having
ID/IDREF/IDREFS attributes.
* A new DocBook menu has been added to DocBook,
Simplified DocBook and Slides configurations.
This menu, similar to the one available for
XHTML, contains commands that can be used to
insert or delete columns and rows in tables
and commands that can be used to navigate
through elements having ID/IDREF/IDREFS
attributes.
* Files and URLs (those supported by Java, of
course) can be opened by dropping them
anywhere in XXE.
Linux users: Java only supports the Motif drag
and drop protocol. Therefore if drag and drop
does not work between XXE and your favorite
Gnome or KDE application, please do not report
bugs.
* All commands acting on text selection (copy,
cut, delete, paste, convert) have been rewrote
to make them more powerful and more
consistent.
The text selection can now be seen as a way to
specify a range of characters and descendant
nodes contained in a common ancestor node. The
new copy, cut, delete, paste, convert commands
will copy, delete or replace the specified
characters and descendant nodes.
+ Example 1: "<p>This is our <img
src="logo.png"> new logo.</p>". Selected
text starts at "This" and ends after
"new" and is to be deleted.
Previously this delete operation gave
"<p><img src="logo.png"> logo.</p>".
Now this delete operation gives "<p>
logo.</p>".
+ Example 2: "<p>This is <em>great</em>,
really!</p>". Selected text starts at
"This" and ends after "great" and is to
be converted to <strong>.
Previously this convert operation gave
"<p><strong>This is great</strong>,
really!</p>".
Now this convert operation gives
"<p><strong>This is
<em>great</em></strong>, really!</p>".
Option "Copy text structure to clipboard" of
the Options dialog box (Edit tab) has been
removed because this is now the only possible
behavior.
Note that it is still possible to copy and
paste plain text by using mouse button #2
(middle button or mouse wheel).
* A new mechanism called a documentHook allows a
custom object written in JavaTM or in a
scripting language to be notified each time
something happens to a document loaded into
XXE. More precisely, a documentHook is
notified by XXE each time a document is
created or opened, checked for validity, saved
to disk and closed.
This is a very general mechanism which has
been created to perform semantic validation
beyond what can be done using a DTD or
XML-Schema alone but which can also be used to
perform many other tasks.
A documentHook is specified in a XXE
configuration file. For example, this
documentHook has been added to the DocBook
configuration file (docbook.xxe) in order to
fix the cols attribute of tgroups and
entrytbls (if needed to) just before a DocBook
document is saved to disk.
------------------------------------------------
<load location="docbook.jar" />
<documentHook>
<class>
com.xmlmind.xmleditapp.docbook.DocumentHookImpl
</class>
</documentHook>
------------------------------------------------
(The code of the above documentHook, as well
as the code of DocBook specific commands, is
contained in docbook.jar.)
It is possible to have documentHooks which are
specific to a type of document (that is,
DocBook, XHTML, etc.) as well as general
documentHooks notified whatever is the type of
the document. General documentHooks must be
specified in a special purpose configuration
file called documenthook.xxe.
DocumentHooks are explained in the Power
User's Guide (how to specify and deploy them)
and in the Developer's Guide (how to write
them).
* Backup files (ending with '~') are now created
at the beginning of the editing session and
not each time a file is saved. This makes
these backup files much more useful. For
example a diff between foo.xml~ and foo.xml
will show you what you did during last editing
session.
* New option "Before saving, make a backup copy
of the file" allows to turn off creation of
backup files. See Options|Options, Save tab.
* New option "Ignore <?xml-stylesheet?>" can be
used to specify to XXE to ignore
xml-stylesheet processing instructions found
at the beginning of XML files. See
Options|Options, Open tab.
* Right-clicking on the message part of the
status bar displays the history of messages.
* Right-clicking on the ``clipboard summary''
part of the status bar (at the right of the
clipboard icon) displays the contents of the
clipboard.
* XHTML table editing commands can be now used
if implicitly or explicitly selected element
is a descendant of a td or th. Previously,
table editing commands were enabled only if a
td or th was implicitly or explicitly
selected.
* A toolBar or menu configuration element can
now extend previously defined toolBar or menu
by using child element insert. Example:
------------------------------------------------
<include location="../common/common.incl" />
<!-- ===========================================
Let's suppose this menu is defined in
common.incl:
<cfg:menu label="Menu">
<cfg:item label="Insert..." command="insert"
parameter="into" />
</cfg:menu>
============================================ -->
<cfg:menu label="Menu2">
<cfg:item label="Insert Before..." command="insert"
parameter="before[implicitElement]" />
<cfg:insert />
<cfg:item label="Insert After..." command="insert"
parameter="after[implicitElement]" />
</cfg:menu>
------------------------------------------------
* New property configuration element can be used
to configure custom commands. Example:
------------------------------------------------
<property name="measurearchive">
http://safrane/servlets/measurearchive
</property>
------------------------------------------------
* Slightly improved user-friendliness of XXE
when an element is structurally invalid.
* In a DTD, the mixed content of an element type
can be specified as "(#PCDATA)*". This is not
standard (standard form being "(#PCDATA)") but
this is harmless.
* The order of element attributes in documents
saved by XXE is now deterministic: the
attributes are sorted alphabetically.
* Changed the default bindings of XXE so that
they are as ``standard'' as possible (for
example: Ctrl-Right moves caret to next word).
Quick reference of key bindings related to
node selection:
+ Ctrl-Up Arrow selects parent. (Not
changed).
+ Ctrl-Down Arrow selects child. (Not
changed).
+ Shift-Ctrl-Up Arrow selects preceding
sibling.
+ Shift-Ctrl-Down Arrow selects following
sibling.
+ Esc Left Arrow extends node selection to
preceding sibling.
+ Esc Right Arrow extends node selection to
following sibling.
+ Esc Down Arrow selects all child nodes of
implicitly or explicitly selected
element.
Sorry for the inconvenience. This is the last
time we change these basic bindings.
Bug fixes:
~~~~~~~~~~
* When an XXE environment variable such as
XXE_CONFIG was used and when the value of this
variable was a list such as in
set xxe_conf...@http://www.foo.com/xxe/config.
list, the right pane of the online help was
empty.
* XXE can now load XML files having the UTF-8
Byte Order Mark (BOM = 0xEF 0xBB 0xBF) as
allowed by XML 1.0 Second Edition
Specification Errata:
[1]http://www.w3.org/XML/xml-V10-2e-errata.
Such files are typically created using Windows
2000 notepad.