Subject: A few question regarding schema

From: Alex Karasulu <[email-masked]>
Date: Sat, 16 Oct 2004 22:09:12 -0400

Hello,

Before I begin let me butter you guys up by saying that the ldapbis 
documents are sooo much easier to read then the original RFC's.  You're 
doing a great job at de-mystifying LDAP.  Thanks.

I have a few question after reading [MODELS] and thought I can post them 
here.  If this is not the approapriate list I appologize.

1). Most schema entities/objects have the option of being flagged as 
OBSOLETE.  I say most because Syntax is the only exception to the rule.  
I'm trying to figure out why this is.  Is it because Syntaxes are always 
active once defined?  Meaning it makes no sense to mark them as 
inactive?  If so what happens if a server decides not to support a 
Syntax and needs to deprecate it before removing the Syntax?

2). Also as a general rule, most schema objects have a unique OID 
assigned to them.  The only exception to this rule are 
matchingRuleUses.  For these entities the numericoid is the OID of the 
matchingRule they are associated with.  So the question arises: What 
then is the cardinality between matchingRules and their 
matchingRuleUse[s]?  I'm guessing that its zero or one matchingRuleUse 
per matchingRule because you can reference multiple attributes for which 
the matchingRuleUse would apply to.  Hence it would be redundant to have 
a many to one relationship.

3). I'm trying to find more information on schema extensions as in:

SyntaxDescription = LPAREN WSP
        numericoid                 ; object identifier
        [ SP "DESC" SP qdstring ]  ; description
/---->extensions WSP RPAREN      ; extensions
|
* these extension right here

Could you point me to some detailed information on this subject?

Thanks much,
Alex Karasulu

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Sat, 16 Oct 2004 20:05:31 -0700

At 07:09 PM 10/16/2004, Alex Karasulu wrote regarding [Models]:
>1). Most schema entities/objects have the option of being flagged as OBSOLETE.  I say most because Syntax is the only exception to the rule.  
>I'm trying to figure out why this is.  Is it because Syntaxes are always active once defined?  Meaning it makes no sense to mark them as inactive?  If so what happens if a server decides not to support a Syntax and needs to deprecate it before removing the Syntax?

I don't recall any accounts as to why LDAP syntax descriptions
doesn't include an OBSOLETE flag, but I would guess its because
the X.500 doesn't have an OBSOLETE flag that applies to
corresponding ASN.1 data types.

>2). Also as a general rule, most schema objects have a unique OID assigned to them.  The only exception to this rule are matchingRuleUses.  For these entities the numericoid is the OID of the matchingRule they are associated with.  So the question arises: What then is the cardinality between matchingRules and their matchingRuleUse[s]?  I'm guessing that its zero or one matchingRuleUse per matchingRule because you can reference multiple attributes for which the matchingRuleUse would apply to.  Hence it would be redundant to have a many to one relationship.

0-1 to 1.  Note that one values of matchingRuleUses are compared
using objectIdentifierFirstComponentMatch, one cannot have two
values which share the same identifier.

>Could you point me to some detailed information on this subject?

Each description can carry extension information.  The meaning
of any extension information is a topic of the extension
specification (whether that be some future RFC, some implementation
specific document, or whatever).  For example,
   X-BINARY-TRANSFER-REQUIRED 'TRUE'
could be used to tag all syntaxes which require use of ;binary.

---

From: Michael Ströder <[email-masked]>
Date: Sun, 17 Oct 2004 13:10:00 +0200

Alex Karasulu wrote:
> matchingRuleUses.

Matching Rule Use is not the only "exception". E.g. check out DIT content 
rules and name forms where the OID of the structural object class the DIT 
content rule or name form applies to is used in the schema element declaration.

=> if you're maintaining a schema element dictionary you always have to look 
up the schema element by OID and schema element type.

Ciao, Michael.

---

From: Alex Karasulu <[email-masked]>
Date: Mon, 18 Oct 2004 21:13:34 -0400

Michael Ströder wrote:

>> assigned to them.  The only exception to this rule are matchingRuleUses.
>
>
> Matching Rule Use is not the only "exception". E.g. check out DIT 
> content rules and name forms where the OID of the structural object 
> class the DIT content rule or name form applies to is used in the 
> schema element declaration.
>
Is this still the case for nameForms?  Looking at [MODELS 
<http://ietf.org/internet-drafts/draft-ietf-ldapbis-models-11.txt>] 
section 4.1.7.2 on NameForms I see that it uses a unique OID 
specifically assigned to the nameForm here:
...
"where:

	<numericoid> is object identifier which identifies this name form;" ....

Could you clarify? Also what would be the cardinality of the 
relationship between dITContentRules and their respective structural 
objectClasses?  Likewise what would the cardinality be for nameForms if 
there is an issue with the draft?

Thanks again,
Alex

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Mon, 18 Oct 2004 20:15:27 -0700

At 06:13 PM 10/18/2004, Alex Karasulu wrote:
>Michael Ströder wrote:
>>Alex Karasulu wrote:
>>>2). Also as a general rule, most schema objects have a unique OID assigned to them.  The only exception to this rule are matchingRuleUses.
>>
>>Matching Rule Use is not the only "exception". E.g. check out DIT content rules and name forms where the OID of the structural object class the DIT content rule or name form applies to is used in the schema element declaration.
>Is this still the case for nameForms?

It's not the case.  See X.501.

>Looking at [MODELS <http://ietf.org/internet-drafts/draft-ietf-ldapbis-models-11.txt>] section 4.1.7.2 on NameForms I see that it uses a unique OID specifically assigned to the nameForm here:
>...
>"where:
>
>Could you clarify?

[Models] is correct.

>Also what would be the cardinality of the relationship between dITContentRules and their respective structural objectClasses?

0-1 to 1.

>Likewise what would the cardinality be for nameForms if there is an issue with the draft?

No issue.

Kurt