XXE configuration files are XML files:
with a file name ending with ".xxe
",
validated by XML schema with http://www.xmlmind.com/xmleditor/schema/configuration
as its target namespace,
with a root element named configuration
,
this root element having a name
attribute,
containing a detect
element.
Several configurations may have the same name. For example, a user may have defined its own configuration named "DocBook
" including bundled configuration also named "DocBook
" but adding element templates and keyboard shortcuts (see include, elementTemplate, binding). In such case, only one configuration named "DocBook
" is kept by XXE: the configuration with highest priority.
Configurations loaded from the addon/
subdirectory of user preferences directory have priority over configurations loaded from the value of environment variable XXE_ADDON_PATH
which in turn have priority over configurations loaded from the addon/
subdirectory of XXE installation directory.
Configurations having the same priority are sorted using their file basenames. Example: file:///opt/xxe/foo/docbook.xxe
is tested before file:///opt/xxe/bar/sdocbook.xxe
when trying to detect the class of a document because docbook.xxe
lexicographically precedes sdocbook.xxe
.
XML catalogs are XML files:
with a file name ending with "atalog.xml
",
which conform to the OASIS catalog DTD.
Example:
<?xml version="1.0" ?> <!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public"> <public publicId="-//W3C//DTD SVG 1.1//EN" uri="common/dtd/svg11/svg11.dtd"/> </catalog>
Note that specifying the above <!DOCTYPE>
will not cause the XML catalog parser to download XML Catalog DTD, catalog.dtd
, from the Web.
XXE uses XML Catalogs not only to resolve the locations of the DTD and other external entities, but also to resolve URLs found in the following places:
Schema locations in xsi:schemaLocation
and in xsi:noNamespaceSchemaLocation
.
Schema locations in xs:include
, xs:redefine
, xs:import
.
Document locations passed to the document()
XPath function.
All XXE configuration elements referencing an URL. Example: <include location="..."/>
.
CSS style sheet locations in @import
.
CSS style sheet locations in <?xml-stylesheet href="..."?>
.
XSLT style sheets in the transform
child element of a process
command.
Resources in the copyProcessResource
child element of a process
command.
XSLT style sheets included or imported by other XSLT style sheets (that is, the XML Catalogs used by XXE are passed to Saxon, the XSLT engine bundled with XXE).
RELAX NG schema locations in <?xxe-relaxng-schema location="..."?>.
Translations of XXE messages are contained in Java™ jars:
with a file name ending with ".jar
",
having a basename which is the two-letter ISO code of the language followed by "_translation
" (e.g. de_translation.jar
, it_translation.jar
, cs_translation.jar
, es_translation.jar
, etc). Not mandatory, just recommended.
Spell-checker dictionaries are contained in Java™ jars:
with a file name ending with ".dar
",
having a basename which is the ISO code of a language (e.g. fr
, fr-CH
, en
, en-US
, etc).
This naming pattern is highly recommended for dictionaries found in the local file system. This naming pattern is mandatory for dictionaries centralized on an HTTP or an FTP server.
XSL-FO processor plug-ins are contained in Java™ jars:
with a file name ending with "_foprocessor.jar
",
implementing service com.xmlmind.xmleditapp.process.FOProcessor.
The exact structure of a plug-in jar (manifest, service providers, etc) is described in Chapter 11, Writing a plug-in in XMLmind XML Editor - Developer's Guide.
Image toolkit plug-ins are contained in Java™ jars:
with a file name ending with "_imagetoolkit.jar
",
implementing service com.xmlmind.xmledit.imagetoolkit.ImageToolkit.
Non-XML format plug-ins are contained in Java™ jars:
with a file name ending with "_format.jar
",
implementing service com.xmlmind.xmleditapp.structformat.StructuredFormat.
Virtual drive plug-ins are contained in Java™ jars:
with a file name ending with "_vdrive.jar
",
implementing service com.xmlmind.xmleditapp.vdrive.DriveFactory.
Such customizations are contained in XML files called customize.xxe_gui
and conforming to the "http://www.xmlmind.com/xmleditor/schema/gui
" W3C XML Schema.
Such GUI specification files are described in XMLmind XML Editor - Customizing the User Interface.
If during its start-up, XXE finds several customize.xxe_gui
files, it will merge their contents with the base GUI specification (by default, xxe-gui:app/Professional.xxe_gui
, which is a resource contained in xxe_app.jar
).
This feature is available only in XMLmind XML Editor Professional Edition.