OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dsml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: DRAFT DATA MODEL


At 11:56 AM 2000-09-27 -0400, James Tauber wrote:
>> Each attribute value has zero or more options. Options can be 
>> things like
>> language codes (RFC 2596 ";lang-en") or transfer syntax 
>> changes (RFC 2251
>> ";binary") or presumably other things in the future. (X.500 
>> has a similar
>> feature which provides temporal context for a value - eg a 
>> value is only
>> useful between the hours of 9:00 in the morning and 5:00 in 
>> the afternoon
>> between Monday and Friday, but not in August, etc etc.)
>
>Interesting (the X.500 bit).
>
>How can we generalized this in the information model?

(I'm de-lurking to share some thoughts)

Need a way to describe constraints; i.e., a constraint language.
Need to allow more than one constraint language since everyone will have a favorite, or someone will invent a new and better one.
(Ideas taken from CORBA Notification Service [1], which allows any number of constraint languages, but compliant implementations must support at least the default constraint language defined in the spec.)
Constraint language interpreters could be a plug-in or dynamically-loaded components.

Therefore,

Each entry has zero or more _attributes_ that provide Constraints about that entry.
(Just like RDN is just another _attribute_)
The _attribute type_ of such Constraint _attributes_ shall identify a registered _constraint-language_.
(IANA or some other organization needs to register names of constraint languages)

The _value_ of the constraint _attribute_ shall define the constraint using the _constraint-language_ which corresponds to the _attribute type_

The absence of this constraint _attribute_ implies default constraints

Where are default constraints described?  Do they apply to the entry and all child entries in a hierarchical naming tree?  How to apply default constraints if entries are not hierarchical?  Does the existence of a constraint _attribute_ become the default for child entries?

How about another _attribute_ called a Constraint-Scope _attribute_, where value of constraint-scope must  refer to an existing constraint _attribute_ and a reserved keyword that defines the scope
An _entry_ may have zero or more constraint scope _attributes_.
If an entry has a constraint attribute and no constraint scope attribute, then the default constraint scope is "this-entry-only".
  Exception handling is implementation-specific (e.g., if value of a constraint scope attribute refers to an attribute that does not appear in the entry).

Example:
_attributes_:  X, Y, CX, CY, CZ, CSX, CSW
where
CX, CY, CZ are a constraint attributes
Type of CX could be "OMG-OCL"
Type of CY could be "OMG-PSDL"
The value of CX may refer to X
The value of CY may refer to Y
(That is, the constraint may need to cover or identify other attributes within the entry and their values.  If X="Day-shift" for some entries, and X="Night-shift" for other entries, then CX could have "if X=DayShift, then ..., elseif X=NightShift then ...")
CZ is a constraint attribute that may not refer to any attributes within the entry (e.g., may refer to time of day).
CSX and CSW are Constraint Scope _attributes_
CSX is the Constraint Scope for CX
CSX value may be something like "CX:default-for-children" or "CX:this-entry-only"
CSW may be "CW:default-for-children", but since we have not defined CW, then this would be an exception to be processed in an implementation-specific manner.

[1] http://cgi.omg.org/cgi-bin/doc?formal/00-06-20

Paul




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC