Platform SDK: Exchange 2000 Server

About URLs and URNs

[This is preliminary documentation and subject to change.]

A namespace is a Uniform Resource Identifier (URI) reference in the form of a character string used to identify a resource on the Internet. Uniform Resource Identifiers follow a particular scheme that defines the rules and semantics for how such URIs are constructed. The two most common schemes used today are the Uniform Resource Locator (URL), and the Uniform Resource Name (URN):

Both URLs and URNs are forms of URIs.

With Web Store, URLs are used both as URI references for item property names, as well as to specify a particular item in some folder in Web Store. URNs are used only as URI references for property names.

In the context of property names, URI references are used to render that name unique and unambiguous. For example, many applications may want to specify a property for items called "name". When an application subsequently sets or requests the value of this property for an item, which name property the user means is ambiguous; adding a URI reference as a "namespace" for the property allows users to identify exactly which property they wish to set or retrieve.

Using a URL

Use a URL for a namespace to identify properties that are used exclusively by particular applications.

You can use a URL as the namespace name because a URL is already unique. So, as a convenience, the URL to the Web server hosting the Web Store can also be used as a unique string to identify a namespace. The fact that the protocol (http://) is in the namespace name is totally arbitrary.

Important   Do not confuse protocol characters, such as http://, used in namespaces to mean that an Internet request or action is invoked when a property is accessed. These characters are simply part of a unique string that identifies a namespace.

Using a URN

Use a URN for a namespace that contains data that is used generically. A URN for a namespace is descriptive of the set of properties in the namespace, such as urn:schemas:mailheader:.

Note that a URN is used to guarantee uniqueness in a Web Store, but it also has the purpose of identifying properties that are widely used or part of a technology, and properties that also exist in other Web Stores.

For example, several e-mail programs use the subject property; therefore, having a namespace that is descriptive of its data is important. Its full name is:

urn:schemas:mailheader:subject

For more information about URNs, visit http://www.ncsa.uiuc.edu/InformationServers/Horizon/URN/urn.html.