We use ConTeXt, which is based on TeX, as our typesetting engine, and employ a Model-View-Controller framework for our documentation workflow.

This decouples the data source, and the controller implementation from the output typesetting engine freeing us to use whatever combination of programming languages, databases, web frameworks as suits the application.