A sample infrastructure
% cd doc/en_US.ISO_8859-1/books/faq
% make “FORMATS=html ps pdf”
This is a bit of the infrastructure used on the FreeBSD project.

1.There’s a top level doc/ directory.
2.Each translation (of which there are currently 9) gets a directory (organised like this so it’s easy to cater for languages that are available in multiple encodings).
3.In addition, there’s a share/ directory, which contains content or infrastructure files, used by all the translations.
4.doc/share/sgml/freebsd.dsl is the main FreeBSD customisation layer.  It’s directly analogous to the layer-2.dsl, and uses a lot of the tips and tricks I’ve been talking about.
5.doc/<lang>/share/sgml/freebsd.dsl is the per-language customisation layer.  This lists doc/share/sgml/freebsd.dsl as it’s parent stylesheet, so is analogous to the layer-3.dsl file.
6.Some of the documents have their own freebsd.dsl files, providing that per-document customisation that I was talking about earlier.
7.The whole process of converting documents from DocBook to the other formats is controlled by some Makefiles, and it is the logic in the Makefiles that makes sure that the correct DSSSL customisation layer is chosen at conversion time.
8.The end user can use a command like the one shown to do the conversion, without having to worry about all the underlying commands.