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.