85 lines
2 KiB
Plaintext
85 lines
2 KiB
Plaintext
|
|
ADsPath SYNTAX
|
|
-----------
|
|
|
|
ADsPath ::= "ADs" ":" ["//"]
|
|
| Namespace ":"
|
|
| Namespace "://" ProviderPath
|
|
;
|
|
|
|
Namespace ::= NonEscapedName
|
|
;
|
|
|
|
ProviderPath ::= Component
|
|
| Component '/' ProviderPath
|
|
;
|
|
|
|
Component ::= EscapedName
|
|
;
|
|
|
|
NonEscapedName ::= ( StringChar)*
|
|
|
|
EscapedName ::= ( StringChar | Pair )*
|
|
| '"' ( StringChar | SpecialChars | Pair ) * '"'
|
|
|
|
StringChar ::= AllChars - (SpecialChars | '\' | '"')
|
|
|
|
Pair ::= "\" ( SpecialChars | '\' | '"' )
|
|
|
|
SpecialChars = '/' | ',' | '<' | '>'
|
|
|
|
|
|
NOTE:
|
|
|
|
1. Note that the above is a necessary but may not be a sufficient syntactic
|
|
specification for the ProviderPath. Providers may impose further quoting or
|
|
escaping rules without violating the above syntax.
|
|
|
|
2. When an entire ADsPath is written in a different context
|
|
as part of another string (for eg., in URLs or search specifications)
|
|
there is a need to delimit the entire ADsPath. It is recommended that '<'
|
|
and '>' be used for that purpose.
|
|
|
|
|
|
NOTES FOR THE LDAP Provider:
|
|
|
|
1. the LDAP provider in ADSI defines the syntax of the ProviderPath
|
|
as follows.
|
|
|
|
|
|
LdapProviderPath ::= [LdapServerName '/'] LdapDN
|
|
;
|
|
|
|
LdapDN ::= ADsDN | X500DN
|
|
|
|
ADsDN ::= LastComponent
|
|
| Component '/' ProviderPath
|
|
;
|
|
|
|
X500DN ::= LastComponent
|
|
| Component ',' ProviderPath
|
|
| Component ';' ProviderPath
|
|
;
|
|
|
|
LastComponent ::= FullComponent ',' ClassSpecifier
|
|
| Component
|
|
;
|
|
|
|
FullComponent ::= ClassSpecifier '=' Component
|
|
|
|
Component ::= EscapedName
|
|
;
|
|
|
|
ClassSpecifier ::= <non x500 name>
|
|
;
|
|
|
|
EscapedName ::= ( StringChar | Pair )*
|
|
| '"' ( StringChar | SpecialChars | Pair ) * '"'
|
|
|
|
StringChar ::= AllChars - (SpecialChars | '\' | '"')
|
|
|
|
Pair ::= "\" ( SpecialChars | '\' | '"' )
|
|
|
|
SpecialChars = '/' | ',' | '<' | '>' | ';' | '='
|
|
|