Seth examines an issue he was having with XUL templates. His analysis and conclusion are close, but not quite right. He determined:
All the rules in a multi-rule template must use the same variables, no matter what they're matching. You can't add new variables after the first rule.
Actually, only the container and member variables are required to be the same in all rules. The container variable is the one defined in <content uri="?blah"> and the member variable is the one used in the uri="?fred" in the action. They both need to be the same variables in all the rules due to the manner in which the template builder connects the rules for rebuilding. (when the rdf changes, the builder only examines the parts of the rules that might be affected.)
Other variables besides those two can be whatever you want and can be different in every rule.