5.3. Maggiori informazioni sul formato LDIF

L'LDAP Data Interchange Format (LDIF) è usato per rappresentare i campi di LDAP in un formato testo semplice. La forma di base di un campo è:


#comment 
dn: <distinguished name> 
<attrdesc>: <attrvalue> 
<attrdesc>: <attrvalue>
...

Le linee che cominciano con un '#' sono commenti. Un attributo di descrizione (attrdesc) può essere un tipo semplice di attributo come cn o objectClass o 1, 2, 3 (un OID associato con un tipo di attributo) o può includere opzioni quali i cn; lang_en_US o userCertificate; binary.

Una linea può essere continuata iniziando la linea seguente con un singolo spazio o un carattere tab. Per esempio:


dn: cn=Barbara J Jensen, dc=example, dc=
 com
cn: Barbara J
    Jensen

è equivalente a:


dn: cn=Barbara J Jensen, dc=example, dc=com
cn: Barbara J Jensen

I valori multipli di attributo sono specificati su linee separate. Per esempio:


cn: Barbara J Jensen
cn: Babs Jensen

Se un <attrvalue> contiene i caratteri non stampabili o comincia con uno spazio, un carattere due punti (':'), o un segno di minore,('<'), il <attrdesc> è seguito da due punti e dalla codifica base64 del valore. Per esempio, il valore "begins with a space" sarebbe codificato in questo modo:

cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=

Si può anche specificare un URL che contiene il valore di attributo. Per esempio, ciò che segue specifica il valore jpegPhoto che si dovrebbe essere ottenere dal file /path/to/file.jpeg.

cn:< file://path/to/file.jpeg

Gli oggetti multipli all'interno dello stesso file LDIF sono separati da linee vuote. Qui c'è un esempio di un file LDIF che contiene tre campi.


# Barbara's Entry
dn: cn=Barbara J Jensen, dc=example, dc=com
cn: Barbara J Jensen
cn: Babs Jensen
objectClass: person
sn: Jensen

# Bjorn's Entry
dn: cn=Bjorn J Jensen, dc=example, dc=com
cn: Bjorn J Jensen
cn: Bjorn Jensen
objectClass: person
sn: Jensen
# Base64 encoded JPEG photo
jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG

# Jennifer's Entry
dn: cn=Jennifer J Jensen, dc=example, dc=com
cn: Jennifer J Jensen
cn: Jennifer Jensen
objectClass: person
sn: Jensen
# JPEG photo from file
jpegPhoto:< file://path/to/file.jpeg

Notare che il jpegPhoto nel campo Bjorn è codificato base 64 ed il jpegPhoto nell'oggetto Jennifer è ottenuto dalla posizione indicata dal URL.

Gli spazi posteriori non sono ripuliti dai valori in un file LDIF. Nè gli spazi interni multipli sono compressi. Se non sono desiderati nei propri dati, non li si metta.