Based on loosely coupled services in an XML engine, we describe how to realize fine-grained lock protocols, which can guarantee transaction isolation for applications using different language models. We illustrate the superiority of the taDOM lock protocol family and its tailormade lock modes and lock granules adjusted to the XML language model. We emphasize the importance of a prefix-based node labeling scheme for lock management. Using meta-locking, we have found the key concept for integration and evaluation of various isolation protocols that can even be exchanged at runtime without affecting other engine services. Benchmark runs convincingly illustrated the flexibility and performance benefits of our approach and revealed that careful lock protocol optimization pays off. Further, we present optimizations to enhance scalability of our lock protocols.