Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 45735
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T15:51:21+00:00 2026-05-10T15:51:21+00:00

I’ve seen Best tools for working with DocBook XML documents , but my question

  • 0

I’ve seen Best tools for working with DocBook XML documents, but my question is slightly different. Which is the currently recommended formatting toolchain – as opposed to editing tool – for XML DocBook?

In Eric Raymond’s ‘The Art of Unix Programming’ from 2003 (an excellent book!), the suggestion is XML-FO (XML Formatting Objects), but I’ve since seen suggestions here that indicated that XML-FO is no longer under development (though I can no longer find that question on StackOverflow, so maybe it was erroneous).

Assume I’m primarily interested in Unix/Linux (including MacOS X), but I wouldn’t automatically ignore Windows-only solutions.

Is Apache’s FOP the best way to go? Are there any alternatives?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T15:51:22+00:00Added an answer on May 10, 2026 at 3:51 pm

    I’ve been doing some manual writing with DocBook, under cygwin, to produce One Page HTML, Many Pages HTML, CHM and PDF.

    I installed the following:

    1. The docbook stylesheets (xsl) repository.
    2. xmllint, to test if the xml is correct.
    3. xsltproc, to process the xml with the stylesheets.
    4. Apache’s fop, to produce PDF’s.I make sure to add the installed folder to the PATH.
    5. Microsoft’s HTML Help Workshop, to produce CHM’s. I make sure to add the installed folder to the PATH.

    Edit: In the below code I’m using more than the 2 files. If someone wants a cleaned up version of the scripts and the folder structure, please contact me: guscarreno (squiggly/at) googlemail (period/dot) com

    I then use a configure.in:

    AC_INIT(Makefile.in)  FOP=fop.sh HHC=hhc XSLTPROC=xsltproc  AC_ARG_WITH(fop, [  --with-fop  Where to find Apache FOP], [     if test 'x$withval' != 'xno'; then         FOP='$withval'     fi ] ) AC_PATH_PROG(FOP,  $FOP)  AC_ARG_WITH(hhc, [  --with-hhc  Where to find Microsoft Help Compiler], [     if test 'x$withval' != 'xno'; then         HHC='$withval'     fi ] ) AC_PATH_PROG(HHC,  $HHC)  AC_ARG_WITH(xsltproc, [  --with-xsltproc  Where to find xsltproc], [     if test 'x$withval' != 'xno'; then         XSLTPROC='$withval'     fi ] ) AC_PATH_PROG(XSLTPROC,  $XSLTPROC)  AC_SUBST(FOP) AC_SUBST(HHC) AC_SUBST(XSLTPROC)  HERE=`pwd` AC_SUBST(HERE) AC_OUTPUT(Makefile)  cat > config.nice <<EOT #!/bin/sh ./configure \     --with-fop='$FOP' \     --with-hhc='$HHC' \     --with-xsltproc='$XSLTPROC' \  EOT chmod +x config.nice 

    and a Makefile.in:

    FOP=@FOP@ HHC=@HHC@ XSLTPROC=@XSLTPROC@ HERE=@HERE@  # Subdirs that contain docs DOCS=appendixes chapters reference   XML_CATALOG_FILES=./build/docbook-xsl-1.71.0/catalog.xml export XML_CATALOG_FILES  all:    entities.ent manual.xml html  clean: @echo -e '\n=== Cleaning\n' @-rm -f html/*.html html/HTML.manifest pdf/* chm/*.html chm/*.hhp chm/*.hhc chm/*.chm entities.ent .ent @echo -e 'Done.\n'  dist-clean: @echo -e '\n=== Restoring defaults\n' @-rm -rf .ent autom4te.cache config.* configure Makefile html/*.html html/HTML.manifest pdf/* chm/*.html chm/*.hhp chm/*.hhc chm/*.chm build/docbook-xsl-1.71.0 @echo -e 'Done.\n'  entities.ent: ./build/mkentities.sh $(DOCS) @echo -e '\n=== Creating entities\n' @./build/mkentities.sh $(DOCS) > .ent @if [ ! -f entities.ent ] || [ ! cmp entities.ent .ent ]; then mv .ent entities.ent ; fi @echo -e 'Done.\n'  # Build the docs in chm format  chm:    chm/htmlhelp.hpp @echo -e '\n=== Creating CHM\n' @echo logo.png >> chm/htmlhelp.hhp @echo arrow.gif >> chm/htmlhelp.hhp @-cd chm && '$(HHC)' htmlhelp.hhp @echo -e 'Done.\n'  chm/htmlhelp.hpp: entities.ent build/docbook-xsl manual.xml build/chm.xsl @echo -e '\n=== Creating input for CHM\n' @'$(XSLTPROC)' --output ./chm/index.html ./build/chm.xsl manual.xml  # Build the docs in HTML format  html: html/index.html  html/index.html: entities.ent build/docbook-xsl manual.xml build/html.xsl @echo -e '\n=== Creating HTML\n' @'$(XSLTPROC)' --output ./html/index.html ./build/html.xsl manual.xml @echo -e 'Done.\n'  # Build the docs in PDF format  pdf:    pdf/manual.fo @echo -e '\n=== Creating PDF\n' @'$(FOP)' ./pdf/manual.fo ./pdf/manual.pdf @echo -e 'Done.\n'  pdf/manual.fo: entities.ent build/docbook-xsl manual.xml build/pdf.xsl @echo -e '\n=== Creating input for PDF\n' @'$(XSLTPROC)' --output ./pdf/manual.fo ./build/pdf.xsl manual.xml  check: manual.xml @echo -e '\n=== Checking correctness of manual\n' @xmllint --valid --noout --postvalid manual.xml @echo -e 'Done.\n'  # need to touch the dir because the timestamp in the tarball # is older than that of the tarball :) build/docbook-xsl: build/docbook-xsl-1.71.0.tar.gz @echo -e '\n=== Un-taring docbook-xsl\n' @cd build && tar xzf docbook-xsl-1.71.0.tar.gz && touch docbook-xsl-1.71.0 

    to automate the production of the above mentioned file outputs.

    I prefer to use a nix approach to the scripting just because the toolset is more easy to find and use, not to mention easier to chain.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 206k
  • Answers 206k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer If you don't want to bring in a regex library… May 12, 2026 at 9:07 pm
  • Editorial Team
    Editorial Team added an answer #3 if you can (e.g. a snapshot of dynamic content… May 12, 2026 at 9:07 pm
  • Editorial Team
    Editorial Team added an answer You should familiarize yourself with jQuery's one() event. It will… May 12, 2026 at 9:07 pm

Related Questions

I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I have a French site that I want to parse, but am running into
I have text I am displaying in SIlverlight that is coming from a CMS
I am currently running into a problem where an element is coming back from

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.