[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] [ANN] XMLmind XML Editor V2.6
XMLmind XML Editor V2.6 can be downloaded from http://www.xmlmind.com/xmleditor/download.shtml =================== 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 Shift-Ctrl+C). 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 documents. * 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 BackSpace). 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 position. 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 informalexample/example. * 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 ~/.xxe2/config/customize.xxe (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> <parameterGroup name="docb.toRTF.transformParameters"> <parameterGroup name="docb.toPS.transformParameters"/> </parameterGroup> ------------------------------------------------------ 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. Documentation: -------------- * The section of the tutorial describing how to compose modular documents has been completely rewritten. * 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: €), 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 where: + 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 "figure(Abbildung)". * 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 incorrect. 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 XXE). * 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 contextual. + Macro-commands can now have variables, local or with the document view as their scope. + 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 xpath(string_specifying_an_XPath_expression) 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 desirable. Unlike xpath(), new generated content object label(xpath, 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 supported. * 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 XXE_install_dir/config/docbook/template_sect1/ 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 macro-commands. * Command get has been replaced by new macro-command element get. For example, the following macro-command: --------------------------------------------------------- <command name="docb.startImageViewer"> <macro> <sequence> <command name="get" parameter="[implicitElement][file] ./@fileref"/> <command name="start" parameter='xv "%_"'/> </sequence> </macro> </command> --------------------------------------------------------- may be rewritten as follows: --------------------------------------------------------- <command name="docb.startImageViewer"> <macro trace="false"> <sequence> <get context="$implicitElement/@fileref" expression="uri-to-file-name(resolve-uri(.))"/> <command name="start" parameter='xv "%_"'/> </sequence> </macro> </command> --------------------------------------------------------- -- XMLmind XML Editor Information List xmleditor-announce@x... http://www.xmlmind.com/mailman/listinfo/xmleditor-announce
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|