A communiqué from Winston Bumpus (Co-Chair, OASIS Directory Sevices Technical Committee) contains the recommendation of the technical committee to OASIS in support of adopting the DSML Version 2 specification as an OASIS Standard. The goal of the DSML TC is to create an XML specification for marking up directory services information. The Directory Services Markup Language version 2.0 (DSMLv2) is "an XML application that provides a method for expressing directory queries, updates, and the results of these operations. Whereas DSML version 1 provides a means for representing directory contents XML documents, DSML version 2 with bindings such as the SOAP Request/Response Binding, allows for directories to be manipulated via XML. DSMLv2 focuses on extending the reach of LDAP directories. Therefore, as in DSMLv1, the design approach is not to abstract the capabilities of LDAP directories as they exist today, but instead to faithfully represent LDAP directories in XML. The difference is that DSMLv1 represented the state of a directory while DSMLv2 represents the operations that an LDAP directory can perform and the results of such operations. Therefore the design approach for DSMLv2 is to express LDAP requests and responses as XML document fragments."
Bibliography: Directory Services Markup Language v2.0. By OASIS DSML Technical Committee. November 29, 2001. 26 pages. See the recommendation source.
From the DSMLv2 specification:
The Directory Services Markup Language v1.0 (DSMLv1) provides a means for representing directory structural information as an XML document. DSMLv2 goes further, providing a method for expressing directory queries and updates (and the results of these operations) as XML documents. DSMLv2 documents can be used in a variety of ways. For instance, they can be written to files in order to be consumed and produced by programs, or they can be transported over HTTP to and from a server that interprets and generates them.
DSMLv2 functionality is motivated by scenarios including:
- 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.
DSMLv2 is not required to be a strict superset of DSMLv1, which was not designed for upward-compatible extension to meet new requirements. However it is desirable for DSMLv2 to follow the design of DSMLv1 where possible.
DSMLv2 is defined in terms of a set of XML fragments that are used as payloads in a binding. A binding defines how the DSMLv2 XML fragments are sent as requests and responses in the context of a specific transport such as SOAP, SMTP, or a simple data file. DSMLv2 defines two normative bindings: (1) a SOAP request/response binding is defined in section 6; and (2) a file binding that serves as the DSMLv2 analog of LDIF is defined in section 7. The rules for defining other DSMLv2 compliant bindings are found in section 8.
Principal references:
- Directory Services Markup Language v2.0 [source .DOC]
- DSML 2.0 XML Schema [source]
- OASIS DSML TC Recommendation
- OASIS DSML Technical Committee
- DSML TC Members
- Mail archives for OASIS DSML TC
- DSML.org Home Page
- DSML Tools suite at dsmltools.org
- "Directory Services Markup Language (DSML)" - Main reference page.