Copyright (C) 2025 The Meme Factory, Inc. https://karlpinc.com Copyright (C) 2005, 2008, 2010, Karl O. Pinc kop@karlpinc.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/. Karl O. Pinc kop@karlpinc.com There, that set it up so we can have comments. From: http://www.dpawson.co.uk/xsl/index.html http://www.dpawson.co.uk/xsl/sect2/comments.html#d2747e112 If this were not "top level" we'd have to also have somewhere in here. The topmost 2 lines are basic and required Header Information. This stylesheet is used by the Makefile to customize all output, although some of what's in here only affects xhtml output. 3 levels of section headings in the table of contents. 2 levels in section contents. Put the legal notice in a separate page. In html, put the first section in a separate chunk (web page) from the table of contents. Do chunk sections out of chapters. Have external links show up in footnotes. Have xref's to sections and refsections contain just the section name and not "the section titled: blah". This is so that we don't have to put "xreflabel" attributes in all the sections, or alternately use our own text in link tags. Segmented lists are tables. Put the time of document generation in the footer of chunked html.

Page generated: ERROR: Your processor does not support date:date-time .

Put a link to the table of contents at the top of every page. This adds a dot after an honorific, in this case a PhD. Generate a name. From common/common.xsl To really do this right we'd need to: Have a person.name (or maybe author) attribute set: order last-first, first-last, etc. honorific.is.prefix True or false Have a punct.honorific attribute set: suffix (or null) suffixes the honorific separator separates honorific from name (when suffix) Have a gentext template to generate the honorific separator when the honorific is a suffix. Have a gentext template that returns true (is prefix) or false and allows honorific role=prefix or suffix. It would take a param which says whether the attribute set wants a prefix or a suffix. (May as well take the whole attribute set as a param.) It would test the parameter in the attribute set too. Then the person.name template does the logic. To avoid extending the docbook DTD keep it simple and don't require a role attribute. Pretty much move the honorific down to the bottom and get rid of the extra tests beforehand. Here's some sample code that uses a role attribute in the honorific element. But it does not work quite right. 1 0 , , , ,