This feedback was really helpful. I created a separate topic for the language issues.
In fact, there would be more than one XSL transform involved:
-
first XSL transform: create all the boilerplate VAT rules, e.g. all the rules for an EU country with intracommunity VAT
-
second XSL transform: as discussed in the other topic, inserting the language strings and creating permutations for each language