付録 A. 表示に関する問題
本付録は参考のために提供されるものであり、本仕様の規定部分ではない。
本ドキュメントで記述される文字列表現は、変換なしで人間に提示することを意図していない。しかし、変換されていない DN 文字列をユーザに提示することが望ましい場合もある。本節では、変換されていない DN 文字列の表示に関連する問題を議論する。変換済み DN 文字列の表示に関する問題は本付録では扱わない。文字コード変換 (transcoding) の問題も本付録では扱わない。
本付録は、DN 文字列をユーザに提示するアプリケーションへの指針を提供する。本節は網羅的ではなく、実装者が直面しうるすべての表示の問題を議論するものではない。
すべてのユーザインタフェースが Unicode 文字の全集合を表示できるわけではない。表示できない Unicode 文字もある。
人間向けインタフェースは、ユーザへの表示に適した文字列表現を生成するために、オプションの 16 進対エスケープ機構(第 2.3 節)を使うことが推奨される。たとえば、アプリケーションは AttributeValue の文字列表現に現れる印字不可能な文字をすべてエスケープした、表示用の DN 文字列を生成できる(第 4 節の最後の例で示されているとおり)。
DN 文字列を自由形式のテキスト内に表示する場合、その DN 文字列を周囲のテキストと区別する必要がしばしば生じる。これは多くの場合、空白によって行われる(第 4 節で示されているとおり)が、DN 文字列自体が空白で終わる可能性があることに注意されたい。第 3 節を注意深く読んだ読者は、文字 '<' (U+003C) と '>' (U+003E) がエスケープされている場合にのみ DN 文字列に現れうることに気づくであろう。これらの文字は、自由形式のテキスト内で DN 文字列を周囲のテキストと区別するために使うことを意図している。たとえば、<CN=Sam\ > は、1 つの RDN(1 つの AVA、すなわち commonName (CN) 値 'Sam ' からなる)で構成される DN の文字列表現を周囲のテキストと区別する。囲みの '<' と '>' 文字は DN 文字列の一部ではないことをユーザに示すべきである。
DN 文字列は非常に長くなることがある。表示においては、長すぎる DN 文字列を折り返すことがしばしば望ましい。折り返しは RDN 区切り文字の後、必要なら AVA 区切り文字の後に空白を挿入して行うべきである。挿入された空白は DN 文字列の一部ではなく、LDAP で使用する前に除去すべきであることをユーザに示すべきである。たとえば、次の DN 文字列は長い:
CN=Kurt D. Zeilenga,OU=Engineering,L=Redwood Shores,
O=OpenLDAP Foundation,ST=California,C=US
そのため読みやすくするために折り返されている。余分な空白は、この DN 文字列を LDAP で使用する前に除去されるべきである。
空白の挿入は推奨されない。どの空白が DN 文字列の一部で、どの空白が読みやすさのために追加されたものかをユーザが判別できない可能性があるからである。
もう一つの選択肢は LDAP データ交換形式 (LDIF) [RFC2849] を使うことである。たとえば:
# This entry has a long DN...
dn: CN=Kurt D. Zeilenga,OU=Engineering,L=Redwood Shores,
O=OpenLDAP Foundation,ST=California,C=US
CN: Kurt D. Zeilenga
SN: Zeilenga
objectClass: person