This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [docbook-apps] Re: Relax-NG -> DTD with Trang?


Norman Walsh <ndw@nwalsh.com> writes:

> / Stephane Bortzmeyer <bortzmeyer@nic.fr> was heard to say:
> | I use trang to produce DTD from Relax-NG schemas but it fails when the
> | Relax-NG schema is a Docbook extension of the Docbook schema provided
> | with nxml:
> 
> There is a tool chain that produces a DTD from the DocBook NG schema.
> It's in CVS but isn't very well described yet. If you're ambitious,
> give it a try and I'll try to be helpful.

Here are some minimal instructions:

  0. Make sure that you have Saxon, Trang, and Perl installed.

      - currently, the saxon.jar file (or a symlink to it) needs
        to be in one of the following locations:

          /usr/local/java/saxon/saxon.jar
          /usr/local/java/saxon-653/saxon.jar
          /usr/local/share/java/saxon/saxon.jar
          /usr/local/share/java/saxon-653/saxon.jar
          /usr/share/java/saxon.jar
          /usr/share/java/saxon-653.jar

        NOTE: There is an alternate build setup that just checks
              to see if saxon is in your CLASSPATH; details on
              using that are at end of this message.

      - if you have either the trang binary installed or trang.jar
        installed and in your CLASSPATH, the build will find it.

  1. Change to whatever base directory it is where you want to set
     up your DocBook cvs working directory; for example:

       cd /tmp

  2. Log in via anonymous CVS:

       cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/docbook \
         login

     At the "CVS Password:" prompt, just hit the Enter/Return key
     (blank password). If you see an error message about a missing
     "~/.cvspass" file, just ignore it.

  3. Check out the "docbook" and "cvstools" modules.

       cvs -z3 -d:pserver:anonymous@cvs.sf.net:/cvsroot/docbook \
         co -P docbook cvstools

  4. Open the cvstools/Makefile.incl file and change the value of
     the CVSROOT variable to the absolute path of the base
     directory where you did your checkout -- that is, the parent
     directory of the cvstools/ directory; for example:

       CVSROOT=/tmp

     NOTE: If you use the alternate build setup, you don't need to
           do this step but instead need to set the DOCBOOK_CVS
           environment variable, like this:

             DOCBOOK_CVS=/tmp
             export DOCBOOK_CVS

           More details at the end of this message.

  5. Change to docbook/relaxng/docbook directory and run "make".

       cd docbook/relaxng/docbook
       make

     That may take a few minutes to run; when it completes, you'll
     have following files in the docbook/relaxng/docbook directory:

       dbforms.dtd
       dbforms.rng
       docbook.dtd
       docbook.rnc
       docbook.rng

     Those are all "flattened" standalone schemas. The dbforms.*
     ones are supersets that contain html:* elements for
     including HTML forms markup in your DocBook sources.

If you have problems or questions about getting the build to work,
please post to docbook-apps.

Alternate cvstools build setup
------------------------------
I have made some changes to the cvstools build setup that attempt
to make it more portable. The files required for running it are in
a separate cvs branch. You can get them by doing this:

  1. cd cvstools
  2. cvs update -r build MANIFEST.build
  3. rm -rf `cat MANIFEST.build`
  4. cvs update -r build `cat MANIFEST.build`

Then set the value of the DOCBOOK_CVS variable to the absolute
path to the parent directory of the cvstools directory, and do
steps 1 to 3 and step 5 above (skip step 4).

  --Mike

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]