...
This page describe the way schema are loaded into ADS. The schema are defined by the following document : RFC 4512 (wgich obsoletes the RFC 2252)
A schema define defines two types of elements, accordingly to RFC 4512 :
- ObjectClassesAttributes
- AttributeTypes
ObjectClass object
The ObjectClass syntax is (as of RFC 4512) :
Code Block |
---|
<ObjectClassDescription> ::=
<LPAREN> <SP> <numericoid>
[ <SP> "NAME" <SP> <qdescrs> ]
[ <SP> "DESC" <SP> <qdstring> ]
[ <SP> "OBSOLETE" ]
[ <SP> "SUP" <SP> <oids> ]
[ <SP> ( "ABSTRACT" | "STRUCTURAL" | "AUXILIARY" ) ]
[ <SP> "MUST" <SP> <oids ]
[ <SP> "MAY" <SP> <oids> ]
<extensions> <WSP> RPAREN
|
with the following rules :
Code Block |
---|
<qdescrs> ::= <qdescr> | <LPAREN> <WSP> <qdescrlist> <WSP> <RPAREN>
<qdescrlist> ::= ( <qdescr> ( <SP> <qdescr> )* )?
<qdescr> ::= <SQUOTE> <descr> <SQUOTE>
<qdstrings> ::= <qdstring> | <LPAREN> <WSP> <qdstringlist> <WSP> <RPAREN>
<qdstringlist> ::= ( <qdstring> ( <SP> <qdstring> )* )?
<qdstring> ::= <SQUOTE> <dstring> <SQUOTE>
<dstring> ::= ( <QS> | <QQ> | <QUTF8> )+
<oids> ::= <oid> | <LPAREN> <WSP> <oidlist> <WSP> <RPAREN>
<oidlist> ::= <oid> ( <WSP> <DOLLAR> <WSP> <oid> )*
<extensions> ::= ( SP <xstring> SP <qdstrings> )*
<noidlen> ::= <numericoid> ( LCURLY <number> RCURLY )?
|
and the lexical elements :
Code Block |
---|
<xstring> ::= "X" <HYPHEN> ( <ALPHA> | <HYPHEN> | <USCORE> )+
<oid> ::= <descr> | <numericoid>
<numericoid> ::= <number> ( DOT <number> )+
<descr> ::= <keystring>
<keystring> ::= <leadkeychar> ( <keychar> )*
<leadkeychar> ::= <ALPHA>
<keychar> ::= <ALPHA> | <DIGIT> | <HYPHEN>
<number> ::= <DIGIT> | <LDIGIT> ( <DIGIT> )*
<ALPHA> ::= "A"-"Z" | "a"-"z"
<DIGIT> ::= "0".."9"
<LDIGIT> ::= "1".."9"
<HEX> ::= "0".."9" | "A".."F" | "a".."f"
<SP> ::= ( " " )+
<WSP> ::= ( " " )*
<HYPHEN> ::= "-"
<DOLLAR> ::= "$"
<DOT> ::= "."
<SQUOTE> ::= "'"
<LPAREN> ::= "("
<RPAREN> ::= ")"
<USCORE> ::= "_"
<QQ> ::= "\27"
<QS> ::= "\5C" | "\5c"
<QUTF8> ::= <QUTF1> / <UTFMB>
<QUTF1> ::= 0x00..0x26 | 0x28..0x5B | 0x5D..0x7F
<UTFMB> ::= <UTF2> | <UTF3> | <UTF4>
<UTF0> ::= 0x80..0xBF
<UTF1> ::= 0x00..0x7F
<UTF2> ::= 0xC2..0xDF <UTF0>
<UTF3> ::= 0xE0 0xA0..0xBF <UTF0> | 0xE1..0xEC <UTF0> <UTF0>) | 0xED 0x80..0x9F <UTF0> | 0xEE..0xEF <UTF0> <UTF0>
<UTF4> ::= 0xF0 0x90..0xBF <UTF0> <UTF0> | 0xF1..0xF3 <UTF0> <UTF0> <UTF0> | 0xF4 0x80..0x8F <UTF0> <UTF0>
|