2 # These are definitions from the North American Directory Forum
3 # They were taken from ftp://ftp.gte.com/pub/nadf/nadf-docs/sd-04.ps
4 # Our thanks to Harald T. Alvestrand that provided the pointer.
6 # Some attribute types and object classes defined in the spec
7 # and that we did not have are not included in this file.
9 # This is a preliminary version and is likely to be incorrect in
12 # The root for OIDs is joint-iso-ccitt mhs-motis(6) group(6) grimstad(5)
13 # nadf(2). In othor words, barring any error, 2.6.6.5.2. Then,
14 # nadfOink ::= 2.6.6.5.2.0
15 # nadfModule ::= 2.6.6.5.2.1
16 # nadfAttributeType ::= 2.6.6.5.2.4
17 # nadfObjectClass ::= 2.6.6.5.2.6
19 # Attribute Type Definition
21 # The spec says "leading zero is significant". Is this really a
24 attribute ( 2.6.6.5.2.4.1 NAME 'fipsStateNumericCode'
25 EQUALITY numericStringMatch
26 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{2} )
28 # It is probably inconvenient to give this attribute that syntax
29 # (Printable String) instead of Directory String.
31 attribute ( 2.6.6.5.2.4.2 NAME 'fipsStateAlphaCode'
32 EQUALITY caseIgnoreMatch
33 SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{2} )
35 # The spec says "leading zeros are significant". Is this really a
38 attribute ( 2.6.6.5.2.4.3 NAME 'fipsCountyNumericCode'
39 EQUALITY numericStringMatch
40 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{5} )
42 # It seems that fips55 is fipsPlaceNumericCode, is this so?
44 # The spec says "leading zeros are significant". Is this really a
47 attribute ( 2.6.6.5.2.4.4 NAME ( 'fipsPlaceNumericCode' 'fips55' )
48 EQUALITY numericStringMatch
49 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{5} )
51 attribute ( 2.6.6.5.2.4.5 NAME 'ansiOrgNumericCode'
53 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
55 # Apparently, 'ad' is an alias for 'addmdName'
57 attribute ( 2.6.6.5.2.4.6 NAME ( 'addmdName' 'ad' )
58 EQUALITY caseIgnoreMatch
59 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
61 # I don't know what syntax to give this. I will use binary for the
64 attribute ( 2.6.6.5.2.4.7 NAME 'nadfSearchGuide'
65 SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
67 attribute ( 2.6.6.5.2.4.8 NAME 'supplementaryInformation'
68 EQUALITY caseIgnoreMatch
69 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{76} )
71 attribute ( 2.6.6.5.2.4.9 NAME 'namingLink'
72 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
74 attribute ( 2.6.6.5.2.4.10 NAME 'reciprocalNamingLink'
75 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
78 # Numbers 11 to 14 are obsolete
80 # Next one is unused. BTW, this attribute is supposed to be
81 # case-exact match, but we cannot make that match unless we
82 # define the string with IA5 syntax and we don't have a
83 # clear base for this.
85 attribute ( 2.6.6.5.2.4.15 NAME 'logicalDSAReference'
86 EQUALITY caseIgnoreMatch
87 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
89 attribute ( 2.6.6.5.2.4.16 NAME 'multiMediaInformation'
90 SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
92 # Number 17, 18 and 19 are EDI-related attributes for the nadfEDIUser
93 # class that we did not have and has been left out below.
97 # According to the intended use described in section 3.3.1 in the spec,
98 # this can only be AUXILIARY.
99 # We had lastModifiedTime as 'allows', but sd-04 has it as MUST.
100 # We did not have multiMediaInformation neither on this class nor
101 # on any of its derived classes.
103 objectclass ( 2.6.6.5.2.6.7 NAME 'nadfObject' SUP top AUXILIARY
104 MUST lastModifiedTime
105 MAY ( multiMediaInformation $ nadfSearchGuide $
106 supplementaryInformation ) )
108 # I think all classes derived from locality should be considered
109 # STRUCTURAL, since locality is.
111 objectclass ( 2.6.6.5.2.6.1 NAME 'usStateOrEquivalent'
112 SUP ( locality $ nadfObject ) STRUCTURAL
113 MUST ( l $ fipsStateNumericCode $ fipsStateAlphaCode $ st ) )
115 objectclass ( 2.6.6.5.2.6.2 NAME 'usPlace'
116 SUP ( locality $ nadfObject ) STRUCTURAL
117 MUST ( l $ fipsPlaceNumericCode ) )
119 objectclass ( 2.6.6.5.2.6.3 NAME 'usCountyOrEquivalent' SUP usPlace STRUCTURAL
120 MUST fipsCountyNumericCode )
122 # applicationEntity is STRUCTURAL, so we will declare this one the same
124 objectclass ( 2.6.6.5.2.6.5 NAME 'nadfApplicationEntity'
125 SUP applicationEntity STRUCTURAL
126 MUST supportedApplicationContext )
128 # Following our heuristic, this one will be STRUCTURAL since organization
129 # is too. We did not have 'o' as 'requires', but if this is really a
130 # subclass of organization, then 'o' becomes MUST by inheritance
132 objectclass ( 2.6.6.5.2.6.6 NAME 'nadfADDMD'
133 SUP ( organization $ nadfObject ) STRUCTURAL
136 # Number 7 is nadfObject described above.
138 # This one quacks like an AUXILIARY object class
140 objectclass ( 2.6.6.5.2.6.8 NAME 'publicObject' SUP top AUXILIARY
143 # And so does this one
145 objectclass ( 2.6.6.5.2.6.9 NAME 'providerObject' SUP top AUXILIARY
146 MUST reciprocalNamingLink )
148 # The spec says number 10 is obsolete
150 # This one also strongly smells like AUXILIARY
152 objectclass ( 2.6.6.5.2.6.11 NAME 'fips55Object' SUP top AUXILIARY
153 MUST fipsPlaceNumericCode
156 # The spec says numbers 12 to 18 are obsolete
158 # Another obviously AUXILIARY class
160 objectclass ( 2.6.6.5.2.6.19 NAME 'nationalObject' SUP top AUXILIARY
165 objectclass ( 2.6.6.5.2.6.20 NAME 'ansiOrgObject' SUP top AUXILIARY
166 MUST ansiOrgNumericCode )
168 # We did not have the next one, but it is innocuous
170 objectclass ( 2.6.6.5.2.6.21 NAME 'caProvinceOrTerritory'
171 SUP ( locality $ nadfObject ) STRUCTURAL
174 # According to the spec, numbers 22, 23 and 24 are obsolete
176 # Number 25 was nadfEDIuser as a subclass of edi-user. Sorry we cannot
177 # deal with this one and we did not have it anyway.