Bidirectional tree transformation via template-generated rules (o_o)