1
# nadf.schema -- NADF-defined schema
2
# $OpenLDAP: pkg/ldap/servers/slapd/schema/nadf.schema,v 1.13.2.3 2008/02/11 23:26:49 kurt Exp $
3
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
5
## Copyright 1998-2008 The OpenLDAP Foundation.
6
## All rights reserved.
8
## Redistribution and use in source and binary forms, with or without
9
## modification, are permitted only as authorized by the OpenLDAP
12
## A copy of this license is available in the file LICENSE in the
13
## top-level directory of the distribution or, alternatively, at
14
## <http://www.OpenLDAP.org/license.html>.
16
# These are definitions from the North American Directory Forum
17
# They are intended to be used with QUIPU/X.500 not LDAPv3.
18
# Your mileage may vary.
20
# They were acquired from ftp://ftp.gte.com/pub/nadf/nadf-docs/sd-04.ps
21
# Our thanks to Harald T. Alvestrand that provided the pointer.
23
# This is a preliminary version and is likely to be incorrect in
24
# a number of areas. Use with exterme caution.
26
# The root for OIDs is joint-iso-ccitt mhs-motis(6) group(6) grimstad(5)
27
# nadf(2). In othor words, barring any error, 2.6.6.5.2. Then,
28
# nadfOink ::= 2.6.6.5.2.0
29
# nadfModule ::= 2.6.6.5.2.1
30
# nadfAttributeType ::= 2.6.6.5.2.4
31
# nadfObjectClass ::= 2.6.6.5.2.6
33
# Attribute Type Definition
35
attributetype ( 2.6.6.5.2.4.1 NAME 'fipsStateNumericCode'
36
EQUALITY numericStringMatch
37
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{2} )
39
# It is probably inconvenient to give this attribute that syntax
40
# (Printable String) instead of Directory String.
42
attributetype ( 2.6.6.5.2.4.2 NAME 'fipsStateAlphaCode'
43
EQUALITY caseIgnoreMatch
44
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{2} )
46
attributetype ( 2.6.6.5.2.4.3 NAME 'fipsCountyNumericCode'
47
EQUALITY numericStringMatch
48
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{5} )
50
# It seems that fips55 is fipsPlaceNumericCode, is this so?
52
attributetype ( 2.6.6.5.2.4.4 NAME ( 'fipsPlaceNumericCode' 'fips55' )
53
EQUALITY numericStringMatch
54
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{5} )
56
attributetype ( 2.6.6.5.2.4.5 NAME 'ansiOrgNumericCode'
58
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
60
# Apparently, 'ad' is an alias for 'addmdName'
62
attributetype ( 2.6.6.5.2.4.6 NAME ( 'addmdName' 'ad' )
63
EQUALITY caseIgnoreMatch
64
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
66
# I don't know what syntax to give this. I will use binary for the
69
attributetype ( 2.6.6.5.2.4.7 NAME 'nadfSearchGuide'
70
SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
72
attributetype ( 2.6.6.5.2.4.8 NAME 'supplementaryInformation'
73
EQUALITY caseIgnoreMatch
74
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{76} )
76
attributetype ( 2.6.6.5.2.4.9 NAME 'namingLink'
77
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
79
attributetype ( 2.6.6.5.2.4.10 NAME 'reciprocalNamingLink'
80
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
83
# Numbers 11 to 14 are obsolete
85
# Next one is unused. BTW, this attribute is supposed to be
86
# case-exact match, but we cannot make that match unless we
87
# define the string with IA5 syntax and we don't have a
88
# clear base for this.
90
attributetype ( 2.6.6.5.2.4.15 NAME 'logicalDSAReference'
91
EQUALITY caseIgnoreMatch
92
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
94
attributetype ( 2.6.6.5.2.4.16 NAME 'multiMediaInformation'
95
SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
97
# Number 17, 18 and 19 are EDI-related attributes for the nadfEDIUser
98
# class that we did not have and has been left out below.
102
# According to the intended use described in section 3.3.1 in the spec,
103
# this can only be ABSTRACT.
104
# We had lastModifiedTime as 'allows', but sd-04 has it as MUST.
105
# We did not have multiMediaInformation neither on this class nor
106
# on any of its derived classes.
108
objectclass ( 2.6.6.5.2.6.7 NAME 'nadfObject' SUP top ABSTRACT
109
MUST lastModifiedTime
110
MAY ( multiMediaInformation $ nadfSearchGuide $
111
supplementaryInformation ) )
113
# I think all classes derived from locality should be considered
114
# STRUCTURAL, since locality is.
116
objectclass ( 2.6.6.5.2.6.1 NAME 'usStateOrEquivalent'
117
SUP ( locality $ nadfObject ) STRUCTURAL
118
MUST ( l $ fipsStateNumericCode $ fipsStateAlphaCode $ st ) )
120
objectclass ( 2.6.6.5.2.6.2 NAME 'usPlace'
121
SUP ( locality $ nadfObject ) STRUCTURAL
122
MUST ( l $ fipsPlaceNumericCode ) )
124
objectclass ( 2.6.6.5.2.6.3 NAME 'usCountyOrEquivalent' SUP usPlace STRUCTURAL
125
MUST fipsCountyNumericCode )
127
# applicationEntity is STRUCTURAL, so we will declare this one the same
129
objectclass ( 2.6.6.5.2.6.5 NAME 'nadfApplicationEntity'
130
SUP applicationEntity STRUCTURAL
131
MUST supportedApplicationContext )
133
# Following our heuristic, this one will be STRUCTURAL since organization
134
# is too. We did not have 'o' as 'requires', but if this is really a
135
# subclass of organization, then 'o' becomes MUST by inheritance
137
objectclass ( 2.6.6.5.2.6.6 NAME 'nadfADDMD'
138
SUP ( organization $ nadfObject ) STRUCTURAL
141
# Number 7 is nadfObject described above.
143
# This one quacks like an AUXILIARY object class
145
objectclass ( 2.6.6.5.2.6.8 NAME 'publicObject' SUP top AUXILIARY
148
# And so does this one
150
objectclass ( 2.6.6.5.2.6.9 NAME 'providerObject' SUP top AUXILIARY
151
MUST reciprocalNamingLink )
153
# The spec says number 10 is obsolete
155
# This one also strongly smells like AUXILIARY
157
objectclass ( 2.6.6.5.2.6.11 NAME 'fips55Object' SUP top AUXILIARY
158
MUST fipsPlaceNumericCode
161
# The spec says numbers 12 to 18 are obsolete
163
# Another obviously AUXILIARY class
165
objectclass ( 2.6.6.5.2.6.19 NAME 'nationalObject' SUP top AUXILIARY
170
objectclass ( 2.6.6.5.2.6.20 NAME 'ansiOrgObject' SUP top AUXILIARY
171
MUST ansiOrgNumericCode )
173
# We did not have the next one, but it is innocuous
175
objectclass ( 2.6.6.5.2.6.21 NAME 'caProvinceOrTerritory'
176
SUP ( locality $ nadfObject ) STRUCTURAL
179
# According to the spec, numbers 22, 23 and 24 are obsolete
181
# Number 25 was nadfEDIuser as a subclass of edi-user. Sorry we cannot
182
# deal with this one and we did not have it anyway.