This section is just a primer. The reference documentation about this topic is really XMLmind XML Editor - Configuration and Deployment.
A document type declaration (<!DOCTYPE>
) can be used to associate a DTD to a document. Attributes xsi:schemaLocation
/xsi:noNamespaceSchemaLocation
can be used to associate W3C XML Schemas to a document. But there is no standard way to associate a RELAX NG schema to a document. Therefore this association must be made using an external specification such as the Namespace Routing Language (NRL).
In the case of XMLmind XML Editor, this external specification is simply a configuration element called relaxng
.
XHTML example:
<configuration name="XHTML Strict [RELAX NG]" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"> <include location="xxe-config:schema/ns_xhtml.incl" /> <detect> <rootElementNamespace>http://www.w3.org/1999/xhtml</rootElementNamespace> </detect> <relaxng name="http://www.w3.org/1999/xhtml"location="xxe-config:common/rng/xhtml1/xhtml-strict.rng" /> <preserveSpace elements="html:pre html:style html:script" />
<css name="XHTML" location="xhtml_rng.css" /> <template name="Page" location="page.html" /> </configuration>
This processing instruction is a non standard, proprietary, way to associate a document to a RELAX NG schema. Its use should be restricted to testing and other quick and dirty experiments.
DocBook example:
<?xml version="1.0" encoding="UTF-8" ?> <?xxe-relaxng-schema name="-//OASIS//RELAX NG DocBook V4.3//EN"location="http://www.docbook.org/rng/4.3/docbook.rnc" compactSyntax="true" encoding="US-ASCII" ?> <!DOCTYPE article [
<!ENTITY % sgml.features "IGNORE"> <!ENTITY % xml.features "INCLUDE"> <!ENTITY euro "€"> <!ENTITY % dbcent PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/dbcentx.mod"> %dbcent; ]> <article> <title></title> <section> <title></title> <para></para> </section> </article>
The examples used in this section come from two ready-to-use XXE configurations:
docbook5/
Allows to create and edit DocBook V5.0b1 documents conforming to the RELAX NG schema coming from DocBook.org.
Do not use this schema and its associated configuration for serious work. This configuration has been created mainly to test the support of RELAX NG in XXE.
xhtml_rng/
Allows to create and edit XHTML 1.0 documents conforming to the modular RELAX NG schema written by James Clark.
Note that these two configurations do not conflict with the DTD-based XHTML and DocBook configurations which are bundled with XXE.
These configurations are found in
. To use any of them, simply copy the corresponding directory toXXE_install_dir
/doc/rngsupport/config/
XXE_install_dir
/addon/
OR to
(recommended). XXE user preferences directory is:XXE_user_preferences_dir
/addon/
on Unix,$HOME
/.xxe/
on Windows 2000/XP,%SystemDrive%
\Documents and Settings\%USERNAME%
\Application Data\XMLmind\XMLeditor\
on Windows NT.%SystemDrive%
\winnt\Profiles\%USERNAME%
\Application Data\XMLmind\XMLeditor\
For example, to create DocBook documents conforming to a RELAX NG schema, on Windows, copy
to XXE_install_dir
/doc/rngsupport/config/docbook5/
.%SystemDrive%
\Documents and Settings\%USERNAME%
\Application Data\XMLmind\XMLEditor\addon\