XXE has many extension points. They can be categorized by the way you'll register them with XXE:
.xxeconfiguration files by the means of configuration elements
.xxe configuration file customizes the behavior of XXE for a given type of document. Such configuration files contain many different kinds of descriptors. For example, a
binding configuration element in specifies which command to invoke when a certain combination of keys is pressed by the user. The command invoked by the
binding element is itself specified using a
command configuration element.
Custom commands are by far the most useful kind of XXE extension. However, there are several other kinds of extensions also declared in configuration files:
Performs semantic validation beyond what can be done using a DTD or schema alone. Declared by the
validateHook configuration element.
Custom dialog box extending the Attributes tool when a given attribute is being edited. Declared by the
attributeEditor configuration element.
Specifies how some contents found in document
A can be included in document
B. Declared by the
inclusionScheme configuration element in . Writing an inclusion scheme in Java™ is a complex task. This task will not be described in this document.
A generalization of the
IDREFS mechanism for use in modular documents. Declared by the
linkType configuration element in . Writing a link type in Java™ is almost never needed, thanks to expressiveness of the
linkType configuration element. This task will not described in this document.
A style sheet extension allows to overcome some of the limitations of CSS. Such extension is declared in a
.css file by the means of the
@extension proprietary CSS directive.
The GUI of XXE is not hardwired. It's possible to extend it, for example, add a custom pane below the Edit tool, by writing a custom part and declaring this part in a
Self-registering extensions are called plug-ins. There are three types of plug-ins: XSL-FO processor plug-in, image toolkit plug-in, virtual drive plug-in. The code of a plug-in is found in a
.jar file defining a service. For example, the service definition file is
META-INF/services/com.xmlmind.xmledit.imagetoolkit.ImageToolkit for an image toolkit plug-in. It's this service definition file which allows the plug-in to register itself with XXE.
All the above extensions are easier to deploy if you package them for XMLmind XML Editor integrated add-on manager (menu item last chapter of this part explains how to do this.→ ). The
Table of Contents
listitemand use a BasicElementObserver to update
orderedlistswhen needed to