Language Tags and Ranges in the Lightweight Directory Access Protocol (LDAP)
RFC 3866

 
Document
Type RFC - Proposed Standard (July 2004; Errata)
Obsoletes RFC 2596
Was draft-zeilenga-ldap-rfc2596 (individual in gen area)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream
WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG
IESG state RFC 3866 (Proposed Standard)
Telechat date
Responsible AD Ted Hardie
Send notices to <kurt@openLDAP.org>

Email authors IPR References Referenced by Nits Search lists

Network Working Group                                   K. Zeilenga, Ed.
Request for Comments: 3866                           OpenLDAP Foundation
Obsoletes: 2596                                                July 2004
Category: Standards Track

                    Language Tags and Ranges in the
              Lightweight Directory Access Protocol (LDAP)

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).

Abstract

   It is often desirable to be able to indicate the natural language
   associated with values held in a directory and to be able to query
   the directory for values which fulfill the user's language needs.
   This document details the use of Language Tags and Ranges in the
   Lightweight Directory Access Protocol (LDAP).

1.  Background and Intended Use

   The Lightweight Directory Access Protocol (LDAP) [RFC3377] provides a
   means for clients to interrogate and modify information stored in a
   distributed directory system.  The information in the directory is
   maintained as attributes of entries.  Most of these attributes have
   syntaxes which are human-readable strings, and it is desirable to be
   able to indicate the natural language associated with attribute
   values.

   This document describes how language tags and ranges [RFC3066] are
   carried in LDAP and are to be interpreted by LDAP implementations.
   All LDAP implementations MUST be prepared to accept language tags and
   ranges.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14 [RFC2119].

Zeilenga                    Standards Track                     [Page 1]
RFC 3866            Language Tags and Ranges in LDAP           July 2004

   This document replaces RFC 2596.  Appendix A summaries changes made
   since RFC 2596.

   Appendix B discusses differences from X.500(1997) "contexts"
   mechanism.

   Appendix A and B are provided for informational purposes only.

   The remainder of this section provides a summary of Language Tags,
   Language Ranges, and Attribute Descriptions.

1.1.  Language Tags

   Section 2 of BCP 47 [RFC3066] describes the language tag format which
   is used in LDAP.  Briefly, it is a string of [ASCII] letters and
   hyphens.  Examples include "fr", "en-US" and "ja-JP".  Language tags
   are case insensitive.  That is, the language tag "en-us" is the same
   as "EN-US".

   Section 2 of this document details use of language tags in LDAP.

1.2.  Language Ranges

   Section 2.5 of BCP 47 [RFC3066] describes the language ranges.
   Language ranges are used to specify sets of language tags.

   A language range matches a language tag if it is exactly equal to the
   tag, or if it is exactly equal to a prefix of the tag such that the
   first character following the prefix is "-".  That is, the language
   range "de" matches the language tags "de" and "de-CH" but not "den".
   The special language range "*" matches all language tags.

   Due to attribute description option naming restrictions in LDAP, this
   document defines a different language range syntax.  However, the
   semantics of language ranges in LDAP are consistent with BCP 47.

   Section 3 of this document details use of language ranges in LDAP.

1.3.  Attribute Descriptions

   This section provides an overview of attribute descriptions in LDAP.
   LDAP attributes and attribute descriptions are defined in [RFC2251].

   An attribute consists of a type, a set of zero or more associated
   tagging options, and a set of one or more values.  The type and the
   options are combined into the AttributeDescription.

Zeilenga                    Standards Track                     [Page 2]
RFC 3866            Language Tags and Ranges in LDAP           July 2004

   AttributeDescriptions can also contain options which are not part of
   the attribute, but indicate some other function (such as range
   assertion or transfer encoding).

   An AttributeDescription with one or more tagging options is a direct
   subtype of each AttributeDescription of the same type with all but
Show full document text