How to cite this paper

Lenz, Evan. “XML in an AsciiDoc World: SaxonJS to the Rescue.” Presented at Balisage: The Markup Conference 2022, Washington, DC, August 1 - 5, 2022. In Proceedings of Balisage: The Markup Conference 2022. Balisage Series on Markup Technologies, vol. 27 (2022). https://doi.org/10.4242/BalisageVol27.Lenz01.

Balisage: The Markup Conference 2022
August 1 - 5, 2022

Balisage Paper: XML in an AsciiDoc World: SaxonJS to the Rescue

Evan Lenz

Lenz Consulting Group, Inc.

C++ Alliance

Evan Lenz lives in Indianola, Washington, a small wooded beach town on the Port Madison Indian Reservation. In his consulting work, he has lately been helping mechanics fix cars and C++ developers grok APIs, all while knowing very little about either (cars or C++). Such is the life of an XML developer! In his spare time, he writes and sings songs that keep his spirit happy and his mind in check.

Abstract

Static website generation has long been an effective use case for XML and XSLT. Today, static site generators remain popular, but they rarely use XML. Antora is a static site generator for software documentation. It runs on Node.js and uses AsciiDoc for its source content. It has desirable features including git integration, site versioning, and pluggable modern UI bundles. However, Antora doesn't natively handle complex content generation needs. Now, thanks to SaxonJS and Antora's new extension mechanism, we can weave in the power of XML and XSLT. The docca project generates reference documentation for Boost C++ libraries via an Antora extension that invokes SaxonJS, seamlessly integrating auto-generated and manually-authored content into the result. This presentation introduces key project components (Doxygen, Antora, AsciiDoc, and SaxonJS running on Node.js) and includes sample code, a demo, and a brief discussion of other ways XML and SaxonJS might complement AsciiDoc and Antora.