Sunday, July 22, 2007

New DocBook XSL 1.73.0 released!

The latest version of the DocBook XSL stylesheets, v1.73.0, has been released!

The .0 designator means this is the beta version, and should be tested. If no bugs are found with the new distribution, a .1 release will be issued shortly!.

Hopefully a new version of the namespace-aware stylesheets for processing DocBook v5.0 documents will be following soon. UPDATE: The 1.73.0 namespace-aware version is also available now!

The stylesheets can be downloaded from here.

Features in this release include:

This release includes important bug fixes and adds the following significant
feature changes:

New localizations and localization updates

    We added two new localizations: Latvian and Esperanto, and made updates to
    the Czech, Chinese Simplified, Mongolian, Serbian, Italian, and Ukrainian

ISO690 citation style for bibliography output.

    Set the parameter to iso690 to use ISO690 style.

New documentation for processing instructions (PI)

    The reference documentation that ships with the release now includes
    documentation on all PIs that you can use to control output from the

New profiling parameters for audience and wordsize

    You can now do profiling based on the values of the audience and wordsize

Changes to man-page output

    The manpages stylesheet now supports single-pass profiling and single-pass
    DocBook 5 namespace stripping (just as the HTML and FO stylesheets also
    do). Also, added handling for mediaobject & inlinemediaobject. (Each
    imagedata, audiodata, or videodata element within a mediaobject or inline
    mediaobject is now treated as a "notesource" and so handled in much the
    same way as links and annotation/alt/footnote are in manpages output.) And
    added the man.authors.section.enabled and man.copyright.section.enabled
    parameters to enable control over whether output includes auto-generated
    AUTHORS and COPYRIGHT sections.

Highlighting support for C

    The highlighting mechanism for generating syntax-highlighted code snippets
    in output now supports C code listings (along with Java, PHP, XSLT, and

Experimental docbook-xsl-update script

    We added an experimental docbook-xsl-update script, the purpose of which
    is to facilitate easy sync-up to the latest docbook-xsl snapshot (by means
    of rsync).

Thursday, July 19, 2007

New DITA information resources

Bob Doyle has created several new DITA information resources:

DITA News will also aggregate posts that use the tag DITA. Check 'em out!

Wednesday, July 18, 2007

Publishing Word docs direct to blog via Google Docs

Here's the first test:

OASIS DocBook SubCommittee for Publishers


For more than a decade, DocBook has provided a structured markup vocabulary for hardware and software documentation. DocBook is now widely used in both commercial and Open Source environments. DocBook has a very broad element set, and applies to much more than just technical documentation. The DocBook TC is engaged in evolving the suite of DocBook specifications. The community benefits from having a standard, open, interchangeable vocabulary in which to write structured content. DocBook has been, and will continue to be, designed to satisfy this requirement.

The OASIS DocBook SubCommittee for Publishers is chartered to develop and maintain official variants of DocBook in support of the publishing industry. Specifically, the subcommittee will focus on schema and stylesheet customizations to support: periodicals as regularly published technical notes or journals, book publishing (such as business, legal, medical, and other non-technical domains), educational textbooks and other document types as appropriate for this industry.

Scope of Work

This subcommittee will submit additional enhancements back to the full DocBook standard as appropriate. The scope of this DocBook subcommittee is publishing industry content. Broadly, this includes books, journals and other related publications.

This effort will deliver on the following goals:

  • Build official DocBook variants, based against the DocBook v5.0 schemas.

  • Address issues and enhancement requests that have arisen from experience with real-world DocBook implementations.

  • Add support for features specific to the publishing industry.

I can also link directly to the doc here:

With Blogger, your best option is Google Docs. If you have a gmail account, it should be pretty easy to set up:

From my gmail account, I click on Documents.
then click Upload
From the upload page, I can browse to a Word doc and name it
Then in the Google Docs page, I can select Publish and set it up to Publish to my blog!

Monday, July 16, 2007

What I did on my summer vacation

This year has been a big home improvement year, and summer vacation was no different!

Over the 4th of July week I built a dog run (with about 4" of pea gravel at the base):

And we converted the boys' Train theme (complete with working train set around the top of the room) to a NASA theme.

We did have to buy the 4'x6' Shuttle for one wall, but the rest came out of my Lego/NASA/space collection and existing posters that the boys had. I did make the face for the clock on the wall, too, reusing the train clock they previously had. We also plan to get a futuristic bullet train to use with the existing track.

Posted by Picasa

Friday, July 13, 2007

The last candidate release?

Norm Walsh has released DocBook v5.0CR5, which will (hopefully) be the last candidate release so we can get the official v5.0 ball rolling!

Please test this release thoroughly!

This release also incorporates recommendations on schema modularizations from the DocBook SubCommittee for Publishers. Much of the schema was already modularized, thanks to Norm's forward thinking and best practices.

Thursday, July 12, 2007

Dealing with tokenize, atomic values and a for-each

I've been working on a little identity transform issue, where I needed to resolve some transclusions in an XML document. Some of the ref attributes in the doc also contained multiple space-separated values that needed to be processed separately.

After a few Googles and a great deal of hacking, I was able to process refs with a single attribute value. I Googled a bit more and found some help (including a great article from Bob DuCharme) to process the multiple values using the tokenize function in XSLT 2.0.

I kept running into an odd error though: "Cannot select a node here: the context item is an atomic value". I thought it was some kind of XPath issue, so tried a number of different hacks to get around the issue to no avail. Finally, I Googled on the error message and found the solution. Here's the code snippet that I used:

  <xsl:template match="widgetRef">
    <xsl:variable name="root" select="/"/>
    <xsl:variable name="widgetID" select="tokenize(@stuff, ' ')"/>
    <xsl:for-each select="$widgetID">
       <xsl:variable name="widgetNum" select="."/>
      <xsl:copy-of select="$root//widget[@id=$widgetNum]"/>

Hope this helps someone. It took me a while to discover that I needed to reset the context when using tokenize within a for-each.

Wednesday, July 11, 2007

Staking my Claim

Thanks to a post from Jeni Tennison, I found out about claimID and openID. I've created a claimID page here: It's also cool that it sets up an hCard for you on the same page!