XMLmind XML Editor V2.4 can be downloaded from http://www.xmlmind.com/xmleditor/download.shtml
========================================= XMLmind XML Editor V2.4 (August 13, 2003) XMLmind XML Editor can now be used to author modular documents. A modular document includes elements contained in other documents. For example, one can imagine a modular book document which just contains a preface and which includes all its chapters from external documents created separately. Using XXE, this modular book document appears like any self-contained book document, except that included chapters are not editable (non-editable elements are displayed with a light gray background -- this is specified in the CSS style sheet). This allows to check cross-references, to print the whole book or to convert it to other formats such as HTML. Two new tool bar buttons called "Edited Referenced Document" and "Edit Referencing Document" allows to quickly navigate from modular document to included documents and the other way. XXE uses two standard mechanisms to implement modular documents: external entity references and/or XIncludes (see http://www.w3.org/TR/xinclude/). Note that for now, XXE's XInclude processor only supports XPointers using the element scheme. Standard Edition can open existing modular documents using both mechanisms but you are restricted to using external entity references if you need to compose new modular documents. Professional Edition has no such restriction and you can use external entity references and/or XIncludes to compose modular documents. Note that you do not need to declare xi:include elements in the DTD or in the XML-Schema because XInclude processing occurs before validation. That is, xi:include elements are already replaced by the included elements when validation starts. Enhancements: * XMLmind XML Editor can now be used to author modular documents. See story above. The tutorial now contains a section describing how to author a modular document. The online help (also included in the distribution in HTML format) describes in detail all commands and dialog boxes related to modular documents. The online help also details the limitations of the XXE implementation. In a nutshell, XXE can only manage references to external entities containing only a single element (that is, no text, no mix of text and elements, no multiple elements, etc) and xi:include elements pointing to a single element (that is, no text XIncludes, no document element plus sibling comments and processing instructions, etc). As usual with XXE, unmanaged references to external entities and unmanaged xi:include elements are replaced by their contents in the opened document then their physical structures is immediately forgotten. That is, the document, if modified, is saved as a flat file (which is, of course, not the case for documents containing managed references to external entities and managed xi:include elements). User is clearly informed when such situation occurs. * Completely rewrote the DocBook and Simplified DocBook CSS style sheets. New style sheets are easier to maintain and fully supports DocBook 4.2. * Only on Linux: ugly Metal look has been replaced by cool Kunststoff look ([2]http://www.incors.org/). (Unfortunately, Java[tm] 1.4.2 new GTK Look and Feel is even uglier that Metal.) * XML-Schema only: full support of regular expressions as specified in [3]http://www.w3.org/TR/xmlschema-2/#regexs thanks to James Clark's excellent xsdregex library (XSD to Java Regular Expression Translator). * Improved commands XXE.open and XXE.save and added commands XXE.openCopy and XXE.close. Using this four commands to program XXE, it is now possible to write higher-level custom commands that load/store documents from/to a custom document repository or database. * As a by-product of new DocBook 4.2 CSS style sheets, CSS3 pseudo-classes :last-child, :first-of-type and :last-of-type are now supported. * As a by-product of the support of modular documents, new command setEditable allows to toggle the editability of an element or the editability of the whole document. * As a by-product of the support of modular documents, new CSS extension pseudo-classes :read-only and :property() allow to style elements based on the presence and/or the value of application-level properties (similar to attributes but not part of document content). Example: this rule specifies that non-editable elements are to be displayed with a light gray background: --- *:read-only { background-color: #F0F0F0; } --- * User request: new attribute cdataSectionElements of configuration element saveOptions allows to specify elements whose text content is to be saved as CDATA sections. XHTML example: --- <cfg:saveOptions xmlns="" cdataSectionElements="script"/> --- * User request: comments and processing-instructions which are direct children of the document are now more nicely indented in the save file. * User request: content object attributes() (which inserts in generated content a special purpose container, this special purpose container being populated with generated content for element attributes specified using :attribute() CSS rules) now has a boolean parameter wrap-rows which allows to control whether the rows of this tabular container are wrapped or not when they are too wide for the document view. * User request: the parameters of the buttons and controls specified in the CSS and inserted in the document view as generated content now supports values other than mere literals. For example, it is now possible to specify: --- description { content: text-area(attribute, value, columns, 40, rows, 2, wrap, word); } description[rows][columns] { content: text-area(attribute, value, columns, attr(columns), rows, attr(rows), wrap, word); } --- * User request: the putAttribute and addAttribute commands now display dialog boxes which are adapted to the type of attribute being changed or added. DocBook example: Command (possibly triggered by a button embedded in the document view) "putAttribute [implicitElement] linkend" will display a dialog box listing all the ID values found in the document being edited. Bug fixes: * Fixed a bug that caused a character to be inserted in the document view when a command triggered by a keyboard binding displayed a dialog box. Example: typing Esc-x inserted character 'x' in the document view and then displayed the dialog box allowing to specify the command to be executed. --- <binding> <keyPressed code="ESCAPE" /> <charTyped char="x" /> <command name="execute" /> </binding> --- * XML-Schema only: QNames in included schema with no target namespace were not properly resolved when the including schema had a target namespace (feature known as ``Chameleon Includes''). * Command selectByID, which is used to navigate through ID/IDREF/IDREFS, now expands collapsed sections if needed too. * Fixed a bug that prevented loading a document using the superset of a DTD already cached in the schema cache. For example, this bug prevented loading a document constrained by the "-//OASIS//DTD DocBook EBNF Module V1.1CR1//EN", a superset of "-//OASIS//DTD DocBook XML V4.2//EN". * Fixed a NullPointerException which happened when trying to open a DocBook document containing really invalid tables (for example, a table missing a tgroup). * Fixed a NullPointerException or ArrayIndexOutOfBoundsException which happened when the Edit pop-up menu was used to delete an element represented in the document view by a text field control having the keyboard focus.

