OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: ANN: Docbook Publishing Shell, based on XMLSH


Using David Lee's wonderful XMLSH, "…derived from the design and goals 
the unix shell and core commands but with XML expressions and documents 
added as core features to the shell. xmlsh can be used as a drop-in 
replacement for scripting xml transformations instead of sh." 

The unix bash commandline has been around forever, and is highly tuned 
to doing the sorts of things system administrators needed to do lo those 
many years ago: pipe data streams through transformations to create 
reports. This is not very far off from what we wish to do with our XML 
source files. David has made it possible to create bash-like shell 
scripts that do arbitrarily complicated XML transformation workflows.

The Docbook Publishing Shell is a set of shell utilities that convert 
Docbook XML to PDF (using XEP), Webhelp, CHM, etceteras. It's fairly 
modularized, so that you can create new supercommands that modify the 
data on-the-fly; and you can use DPS as a submodule in a documentation 
superproject; or clone DPS and place your documentation as submodules. I 
suggest the superproject model, as it couples a specific revision of 
DPS, document source, and transformation source into a single project.

As much as possible, DPS is self-installing. On Windows you'll have to 
manually install XMLSH; on Linux/OS X systems the shell scripts will 
install XMLSH. After XMLSH is installed and the system can boot, it 
performs some sanity checks and downloads missing components (ie. 
docbook-ns, xalan, docbook schema, etc). If all goes well, you'll end up 
at new shell prompt and can type `dls` to see a listing of documents. If 
you've cloned the project, you'll see "dps_ug.xml" — the DPS User Guide.

Anyhoo, I've had a helluva lot of fun implementing this, and use it in 
production for clients. It gives me an easy way to have powerful 
workflows at my fingertips, while at the same time allowing me to 
provide dead-easy publishing supercommands for my client contact, who is 
responsible for publishing the release documents.

While basic publishing is pretty much a completed deal, I'm still 
working on a few things: profiling needs to be improved, automatic 
targets generation still needs a massage, and I haven't implemented 
catalogs yet. Nonetheless, it's probably useful to many of you.

I'm open to feedback and forking. Have fun!
- david priest

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]