3.3. Definizioni di sintassi (A-J)
3.3.1. Descrizione del tipo di attributo
Un valore della sintassi Attribute Type Description (Descrizione del tipo di attributo) è la definizione di un tipo di attributo. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <AttributeTypeDescription> in [RFC4512].
Ad esempio, la seguente definizione del tipo di attributo createTimestamp da [RFC4512] è anche un valore della sintassi Attribute Type Description. (Nota: sono state aggiunte interruzioni di riga per leggibilità; non fanno parte del valore quando trasferito nel protocollo.)
( 2.5.18.1 NAME 'createTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
La definizione LDAP per la sintassi Attribute Type Description è:
( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )
Questa sintassi corrisponde al tipo ASN.1 AttributeTypeDescription da [X.501].
3.3.2. Stringa di bit
Un valore della sintassi Bit String (Stringa di bit) è una sequenza di cifre binarie. La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
BitString = SQUOTE *binary-digit SQUOTE "B"
binary-digit = "0" / "1"
La regola <SQUOTE> è definita in [RFC4512].
Esempio:
'0101111101'B
La definizione LDAP per la sintassi Bit String è:
( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )
Questa sintassi corrisponde al tipo ASN.1 BIT STRING da [ASN.1].
3.3.3. Booleano
Un valore della sintassi Boolean (Booleano) è uno dei valori booleani, vero o falso. La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
Boolean = "TRUE" / "FALSE"
La definizione LDAP per la sintassi Boolean è:
( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )
Questa sintassi corrisponde al tipo ASN.1 BOOLEAN da [ASN.1].
3.3.4. Stringa paese
Un valore della sintassi Country String (Stringa paese) è uno dei codici a due caratteri di ISO 3166 [ISO3166] per rappresentare un paese. La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
CountryString = 2(PrintableCharacter)
La regola <PrintableCharacter> è definita nella Sezione 3.2.
Esempi:
US
AU
La definizione LDAP per la sintassi Country String è:
( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )
Questa sintassi corrisponde al seguente tipo ASN.1 da [X.520]:
PrintableString (SIZE (2)) -- ISO 3166 codes only
3.3.5. Metodo di consegna
Un valore della sintassi Delivery Method (Metodo di consegna) è una sequenza di elementi che indicano, in ordine di preferenza, i servizi tramite i quali un'entità è disposta e/o in grado di ricevere messaggi. La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
DeliveryMethod = pdm *( WSP DOLLAR WSP pdm )
pdm = "any" / "mhs" / "physical" / "telex" / "teletex" /
"g3fax" / "g4fax" / "ia5" / "videotex" / "telephone"
Le regole <WSP> e <DOLLAR> sono definite in [RFC4512].
Esempio:
telephone $ videotex
La definizione LDAP per la sintassi Delivery Method è:
( 1.3.6.1.4.1.1466.115.121.1.14 DESC 'Delivery Method' )
Questa sintassi corrisponde al seguente tipo ASN.1 da [X.520]:
SEQUENCE OF INTEGER {
any-delivery-method (0),
mhs-delivery (1),
physical-delivery (2),
telex-delivery (3),
teletex-delivery (4),
g3-facsimile-delivery (5),
g4-facsimile-delivery (6),
ia5-terminal-delivery (7),
videotex-delivery (8),
telephone-delivery (9) }
3.3.6. Stringa di directory
Un valore della sintassi Directory String (Stringa di directory) è una stringa di uno o più caratteri arbitrari dal set di caratteri universale (UCS) [UCS]. Una stringa di caratteri di lunghezza zero non è consentita. La codifica specifica LDAP di un valore di questa sintassi è la codifica UTF-8 [RFC3629] della stringa di caratteri. Tali codifiche sono conformi alla seguente ABNF:
DirectoryString = 1*UTF8
La regola <UTF8> è definita in [RFC4512].
Esempio:
This is a value of Directory String containing #!%#@.
I server e i client DEVONO essere preparati a ricevere punti di codice UCS arbitrari, compresi i punti di codice al di fuori dell'intervallo ASCII stampabile e i punti di codice non attualmente assegnati ad alcun carattere.
Le definizioni del tipo di attributo che utilizzano la sintassi Directory String non dovrebbero limitare il formato dei valori Directory String, ad esempio, richiedendo che la stringa di caratteri sia conforme a modelli specifici descritti da ABNF. In tali casi dovrebbe essere definita una nuova sintassi.
La definizione LDAP per la sintassi Directory String è:
( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )
Questa sintassi corrisponde al tipo ASN.1 parametrizzato DirectoryString da [X.520].
Il tipo ASN.1 DirectoryString consente una scelta tra i tipi ASN.1 TeletexString, PrintableString o UniversalString da [ASN.1]. Tuttavia, si noti che l'alternativa scelta non è indicata nella codifica specifica LDAP di un valore Directory String.
Le implementazioni che convertono i valori Directory String dalla codifica specifica LDAP alla codifica BER utilizzata da X.500 devono scegliere un'alternativa che consenta i caratteri specifici nella stringa e devono convertire i caratteri dalla codifica UTF-8 nella codifica dei caratteri dell'alternativa scelta. Quando si convertono i valori Directory String dalla codifica BER alla codifica specifica LDAP, i caratteri devono essere convertiti dalla codifica dei caratteri dell'alternativa scelta nella codifica UTF-8. Queste conversioni DOVREBBERO essere eseguite in modo coerente con il passaggio di transcodifica (Transcode) degli algoritmi di preparazione delle stringhe [RFC4518] per LDAP.
3.3.7. Descrizione della regola di contenuto DIT
Un valore della sintassi DIT Content Rule Description (Descrizione della regola di contenuto DIT) è la definizione di una regola di contenuto DIT (Directory Information Tree). La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <DITContentRuleDescription> in [RFC4512].
Esempio:
( 2.5.6.4 DESC 'content rule for organization'
NOT ( x121Address $ telexNumber ) )
Nota: è stata aggiunta un'interruzione di riga per leggibilità; non fa parte del valore.
La definizione LDAP per la sintassi DIT Content Rule Description è:
( 1.3.6.1.4.1.1466.115.121.1.16
DESC 'DIT Content Rule Description' )
Questa sintassi corrisponde al tipo ASN.1 DITContentRuleDescription da [X.501].
3.3.8. Descrizione della regola di struttura DIT
Un valore della sintassi DIT Structure Rule Description (Descrizione della regola di struttura DIT) è la definizione di una regola di struttura DIT. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <DITStructureRuleDescription> in [RFC4512].
Esempio:
( 2 DESC 'organization structure rule' FORM 2.5.15.3 )
La definizione LDAP per la sintassi DIT Structure Rule Description è:
( 1.3.6.1.4.1.1466.115.121.1.17
DESC 'DIT Structure Rule Description' )
Questa sintassi corrisponde al tipo ASN.1 DITStructureRuleDescription da [X.501].
3.3.9. DN
Un valore della sintassi DN è il nome distinto (DN) (presunto) di una voce [RFC4512]. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <distinguishedName> dalla rappresentazione di stringa dei nomi distinti [RFC4514].
Esempi (da [RFC4514]):
UID=jsmith,DC=example,DC=net
OU=Sales+CN=J. Smith,DC=example,DC=net
CN=John Smith\, III,DC=example,DC=net
CN=Before\0dAfter,DC=example,DC=net
1.3.6.1.4.1.1466.0=#04024869,DC=example,DC=com
CN=Lu\C4\8Di\C4\87
La definizione LDAP per la sintassi DN è:
( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )
La sintassi DN corrisponde al tipo ASN.1 DistinguishedName da [X.501]. Si noti che un nome distinto codificato BER (come utilizzato da X.500) ricodificato nella codifica specifica LDAP non è necessariamente reversibile nella codifica BER originale poiché il tipo di stringa scelto in qualsiasi componente DirectoryString del nome distinto non è indicato nella codifica specifica LDAP del nome distinto (vedere Sezione 3.3.6).
3.3.10. Guida avanzata
Un valore della sintassi Enhanced Guide (Guida avanzata) suggerisce criteri, costituiti da combinazioni di tipi di attributo e operatori di filtro, da utilizzare nella costruzione di filtri per cercare voci di particolari classi di oggetti. La sintassi Enhanced Guide migliora la sintassi Guide consentendo di specificare la profondità consigliata della ricerca.
La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
EnhancedGuide = object-class SHARP WSP criteria WSP
SHARP WSP subset
object-class = WSP oid WSP
subset = "baseobject" / "oneLevel" / "wholeSubtree"
criteria = and-term *( BAR and-term )
and-term = term *( AMPERSAND term )
term = EXCLAIM term /
attributetype DOLLAR match-type /
LPAREN criteria RPAREN /
true /
false
match-type = "EQ" / "SUBSTR" / "GE" / "LE" / "APPROX"
true = "?true"
false = "?false"
BAR = %x7C ; barra verticale ("|")
AMPERSAND = %x26 ; e commerciale ("&")
EXCLAIM = %x21 ; punto esclamativo ("!")
Le regole <SHARP>, <WSP>, <oid>, <LPAREN>, <RPAREN>, <attributetype>, e <DOLLAR> sono definite in [RFC4512].
La definizione LDAP per la sintassi Enhanced Guide è:
( 1.3.6.1.4.1.1466.115.121.1.21 DESC 'Enhanced Guide' )
Esempio:
person#(sn$EQ)#oneLevel
La sintassi Enhanced Guide corrisponde al tipo ASN.1 EnhancedGuide da [X.520]. Il tipo EnhancedGuide fa riferimento al tipo ASN.1 Criteria, sempre da [X.520]. La regola <true>, sopra, rappresenta un'espressione "e" vuota in un valore del tipo Criteria. La regola <false>, sopra, rappresenta un'espressione "o" vuota in un valore del tipo Criteria.
3.3.11. Numero di telefono fax
Un valore della sintassi Facsimile Telephone Number (Numero di telefono fax) è un numero di abbonato di un dispositivo fax sulla rete telefonica pubblica commutata. La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
fax-number = telephone-number *( DOLLAR fax-parameter )
telephone-number = PrintableString
fax-parameter = "twoDimensional" /
"fineResolution" /
"unlimitedLength" /
"b4Length" /
"a3Width" /
"b4Width" /
"uncompressed"
Il <telephone-number> è una stringa di caratteri stampabili conforme al formato concordato a livello internazionale per rappresentare i numeri di telefono internazionali [E.123]. La regola <PrintableString> è definita nella Sezione 3.2. La regola <DOLLAR> è definita in [RFC4512].
La definizione LDAP per la sintassi Facsimile Telephone Number è:
( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number')
La sintassi Facsimile Telephone Number corrisponde al tipo ASN.1 FacsimileTelephoneNumber da [X.520].
3.3.12. Fax
Un valore della sintassi Fax è un'immagine prodotta utilizzando il processo facsimile di Gruppo 3 [FAX] per duplicare un oggetto, ad esempio un promemoria. La codifica specifica LDAP di un valore di questa sintassi è la stringa di ottetti per un'immagine Fax di Gruppo 3 come definita in [FAX].
La definizione LDAP per la sintassi Fax è:
( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' )
Il tipo ASN.1 corrispondente alla sintassi Fax è definito come segue, assumendo EXPLICIT TAGS:
Fax ::= CHOICE {
g3-facsimile [3] G3FacsimileBodyPart
}
Il tipo ASN.1 G3FacsimileBodyPart è definito in [X.420].
3.3.13. Ora generalizzata
Un valore della sintassi Generalized Time (Ora generalizzata) è una stringa di caratteri che rappresenta una data e un'ora. La codifica specifica LDAP di un valore di questa sintassi è una restrizione del formato definito in [ISO8601], ed è descritta dalla seguente ABNF:
GeneralizedTime = century year month day hour
[ minute [ second / leap-second ] ]
[ fraction ]
g-time-zone
century = 2(%x30-39) ; "00" a "99"
year = 2(%x30-39) ; "00" a "99"
month = ( %x30 %x31-39 ) ; "01" (Gennaio) a "09"
/ ( %x31 %x30-32 ) ; "10" a "12"
day = ( %x30 %x31-39 ) ; "01" a "09"
/ ( %x31-32 %x30-39 ) ; "10" a "29"
/ ( %x33 %x30-31 ) ; "30" a "31"
hour = ( %x30-31 %x30-39 ) / ( %x32 %x30-33 ) ; "00" a "23"
minute = %x30-35 %x30-39 ; "00" a "59"
second = ( %x30-35 %x30-39 ) ; "00" a "59"
leap-second = ( %x36 %x30 ) ; "60"
fraction = ( DOT / COMMA ) 1*(%x30-39)
g-time-zone = %x5A ; "Z"
/ g-differential
g-differential = ( MINUS / PLUS ) hour [ minute ]
MINUS = %x2D ; segno meno ("-")
Le regole <DOT>, <COMMA>, e <PLUS> sono definite in [RFC4512].
La suddetta ABNF consente stringhe di caratteri che non rappresentano date valide (nel calendario gregoriano) e/o orari validi (ad esempio, 31 febbraio 1994). Tali stringhe di caratteri DOVREBBERO essere considerate non valide per questa sintassi.
Il valore temporale rappresenta il tempo coordinato universale (equivalente all'ora media di Greenwich) se viene utilizzata la forma "Z" di <g-time-zone>; in caso contrario, il valore rappresenta un'ora locale nel fuso orario indicato da <g-differential>. In quest'ultimo caso, il tempo coordinato universale può essere calcolato sottraendo il differenziale dall'ora locale. La forma "Z" di <g-time-zone> DOVREBBE essere utilizzata preferibilmente a <g-differential>.
Se <minute> è omesso, allora <fraction> rappresenta una frazione di un'ora; altrimenti, se <second> e <leap-second> sono omessi, allora <fraction> rappresenta una frazione di un minuto; altrimenti, <fraction> rappresenta una frazione di un secondo.
Esempi:
199412161032Z
199412160532-0500
Entrambi i valori di esempio rappresentano lo stesso tempo coordinato universale: 10:32 AM, 16 dicembre 1994.
La definizione LDAP per la sintassi Generalized Time è:
( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )
Questa sintassi corrisponde al tipo ASN.1 GeneralizedTime da [ASN.1], con il vincolo che l'ora locale senza differenziale NON DEVE essere utilizzata.
3.3.14. Guida
Un valore della sintassi Guide (Guida) suggerisce criteri, costituiti da combinazioni di tipi di attributo e operatori di filtro, da utilizzare nella costruzione di filtri per cercare voci di particolari classi di oggetti. La sintassi Guide è obsoleta e non dovrebbe essere utilizzata per definire nuovi tipi di attributo.
La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:
Guide = [ object-class SHARP ] criteria
Le regole <object-class> e <criteria> sono definite nella Sezione 3.3.10. La regola <SHARP> è definita in [RFC4512].
La definizione LDAP per la sintassi Guide è:
( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' )
La sintassi Guide corrisponde al tipo ASN.1 Guide da [X.520].
3.3.15. Stringa IA5
Un valore della sintassi IA5 String (Stringa IA5) è una stringa di zero, uno o più caratteri dell'International Alphabet 5 (IA5) [T.50], la versione internazionale del set di caratteri ASCII. La codifica specifica LDAP di un valore di questa sintassi è la stringa di caratteri non convertita, che è conforme alla regola <IA5String> nella Sezione 3.2.
La definizione LDAP per la sintassi IA5 String è:
( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )
Questa sintassi corrisponde al tipo ASN.1 IA5String da [ASN.1].
3.3.16. Intero
Un valore della sintassi Integer (Intero) è un numero intero di grandezza illimitata. La codifica specifica LDAP di un valore di questa sintassi è la rappresentazione in stringa di caratteri di cifre decimali opzionalmente con segno del numero (ad esempio, il numero 1321 è rappresentato dalla stringa di caratteri "1321"). La codifica è definita dalla seguente ABNF:
Integer = ( HYPHEN LDIGIT *DIGIT ) / number
Le regole <HYPHEN>, <LDIGIT>, <DIGIT>, e <number> sono definite in [RFC4512].
La definizione LDAP per la sintassi Integer è:
( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' )
Questa sintassi corrisponde al tipo ASN.1 INTEGER da [ASN.1].
3.3.17. JPEG
Un valore della sintassi JPEG è un'immagine nel formato JPEG File Interchange Format (JFIF), come descritto in [JPEG]. La codifica specifica LDAP di un valore di questa sintassi è la sequenza di ottetti della codifica JFIF dell'immagine.
La definizione LDAP per la sintassi JPEG è:
( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' )
La sintassi JPEG corrisponde al seguente tipo ASN.1:
JPEG ::= OCTET STRING (CONSTRAINED BY
{ -- contents octets are an image in the --
-- JPEG File Interchange Format -- })