Good solution, Dave. >You'll need to put [the cannonical identity transform template] >_before_ the rule that matches empty element nodes.
... or explicitly set the priority on the two templates so the no-children rule takes precidence. (I tend to be a bit paranoid about trusting the order of templates to resolve that, since stylesheets evolve and folks may forget that the order can be meaningful.)
