XML-DBMS itself doesn't actually need the DTDs -- they are built into
the system. The DTDs are used by the XML parser (which is independent of
XML-DBMS) to validate map, filter, and action documents.
The surest way for your parser to find the DTDs is to provide the full
URL leading to them in the DOCTYPE statement. For example:
<!DOCTYPE XMLToDBMS SYSTEM "http://foo.org/example/xmldbms2.dtd"
Some parsers also support relative URLs, also allow DTDs to reside in
the same directory as the XML document. For example:
<!DOCTYPE XMLToDBMS SYSTEM "xmldbms2.dtd">
This is nice, as it makes the map, filter, and action documents more
portable. Unfortunately, last time I looked, Xerces wasn't one of these
parsers, so it requires the full URL.
P.S. I'm glad to hear XML-DBMS is working for you. Thirty-nine tables is
quite a few and, as performance is not one of XML-DBMS' virtues, I'm
glad to hear the software can handle them.
Scott Bainbridge wrote:
> Hi Ron,
> I am moving my app from a Windows machine to a Unix server. I am using
> xmldbms in a web environment and need to include the DTD files within
> the web folder structure rather than outside the web root.
> On windows I just put them on my desktop and it found them, where should
> I put them on the Unix box and/or how do I tell xmldbms where they are??
> I now have a complex (39 related tables) system working - it works like
> a charm thanks to your software!