I was quite worried that this regular expression would take a long time, perhaps even forever, to run. I was pleasantly surprised to find it could be quite speedy. In a test run using the RELAX NG grammar, jing tested over 5900 selector attributes in under ½ second; well under 0.1 ms each. The typical TEI file will only have a half dozen.

XSLT was impressive, but in the other direction. In one typical test of transforming the generated XSLT with itself, with only 40 selector attributes in it, saxon9he took almost 03:49, or over 175 ms each.

At the Women Writers Project we currently have 1,685 selector attributes in 449 files, with a range of 0 to 13 selectors per file. Our encoders have been using a schema which incorporates this regular expression for the past 9 months, and no one has complained about speed. Note that our encoders use oXygen with Enable automatic validation on and set to a delay of 1 s.