On 2006-Jan-04, at 06:22, Hussein Shafie wrote:
> You did all the hard work, but I didn't manage to test your work
> simply
> because you forgot to specify a *document* *template* in your
> config (if
> possible, with a local copy of the RISX bibliographic DTD + its
> associated catalog.xml).
Hussein's comment led me to rethink the whole issue of XXE
configuration, and I am quite pleased with what I have come up with.
I think it nicely separates the steps that are really unique to XXE
from those that are more generally useful.
My version of creating a minimal XXE configuration would be this:
1. Place your DTD, stylesheets, and document instances anywhere you
like, tying them together using the normal XML Catalog mechanism. Let
XXE know where your catalog file resides by placing a link to it
somewhere in the .xxe/addon subdirectory. (XXE looks here instead of
using the XML_CATALOG_FILES environment variable.) For example, "ln -
s `echo $XML_CATALOG_FILES` ." (assuming that your catalog file ends
in catalog.xml and that it has only one item in it.)
2. Create a configuration file to point to a document to use as the
template for new documents. The file might look like this:
<?xml version='1.0' encoding='ISO-8859-1'?>
<configuration name="Color"
xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
<detect>
<dtdPublicId>-//Anthus//DTD color V1.1.0//EN</dtdPublicId>
</detect>
<template name="New Color Document" location="file:///Users/
dmundie/C/XML/color.xml" />
</configuration>
I like this approach because it makes clear that the only really XXE-
dependent file a user needs to create is the configuration file,
which is as it should be - everything else is taken care of by the
catalog mechanism, which can be used by many tools outside XXE. It
also gets rid of the confusion of copying stylesheets and DTD's into
the addon directory etc.
If I hadn't been so dense I would have read between the lines of the
explanation in the configuration guide and realized long ago that I
could do this, but... better late than never. This approach is so
simple that I'm confident the next time I have a new document type to
handle, I actually *will* create a document template. :-)
- dam