Transitive Vision-Language Prompt Learning for Domain Generalization