A smart cell phone or PDA needs to access directory information but does not contain an LDAP client.
A program needs to access a directory through a firewall, but the firewall is not allowed to pass LDAP protocol traffic because it isn't capable of auditing such traffic.
A programmer is writing an application using XML programming tools and techniques, and the application needs to access a directory.
Are DSML V1 and DSML V2 compatible?
DSMLv2 was not required to be a strict superset of DSMLv1, which was not designed for upward-compatible extension to meet new requirements. However it was desirable for DSMLv2 to follow the design of DSMLv1 where possible.
How does DSML V2 compare to LDAP?
For the most part DSMLv2 is a systematic translation of LDAP's ASN.1 grammar (defined by RFC 2251) into XML-Schema. Thus, when a DSMLv2 element name matches an identifier in LDAP's ASN.1 grammar, the named element means the same thing in DSMLv2 and in LDAP. Except where noted otherwise, the DSMLv2 grammar follows the same rules as the LDAP grammar, even if those rules are not explicitly expressed in the DSMLv2 schema - for example, a DSMLv2 AttributeDescription can contain only those characters allowed by LDAP.
Does DSML V2 differ from LDAP?
DSMLv2 allows multiple LDAP operations to be expressed in one request document, and by specifying a simple positional correspondence between individual requests within a request document and individual responses within a response document. Also defaulting works more naturally in XML documents than in ASN.1 structures, so DSMLv2 uses defaulting in a few places where LDAP doesn't.