What the generator generated

The Perl generation program is called, somewhat unimaginatively, CSS3_selector_regex_generator.perl. As mentioned above, while its primary output is conceptually a long regular expression, in practice the primary output is that regular expression in the context of either a RELAX NG schema (XML syntax) or an XSLT program designed just to test the regular expression. In both cases, the schema could have been designed to test only that which was the target of this entire endeavor: the tei:rendition/@selector attribute. But I chose instead to have the output schemas test any selector attribute, for reasons explained in the section called “Rapid cyclic debugging”, below.