抽象スキーマ
スキーマ コンテナーには、ディレクトリ フォレストに存在できるクラスと属性を定義するすべての classSchema オブジェクトと attributeSchema オブジェクトが含まれています。 スキーマ コンテナーには、クラス subSchema の Aggregate という名前のオブジェクトも含まれています。 この subSchema オブジェクトは抽象スキーマと呼ばれます。
抽象スキーマには、classSchema オブジェクトと attributeSchema オブジェクトに格納されているデータのサブセットが含まれています。 その目的は、クラスおよび属性定義の頻繁に使用される要素を取得するためのシンプルで効率的なメカニズムを提供することです。 たとえば、オブジェクト クラスの省略可能な属性と必須の属性を取得するには、複数のオブジェクトにバインドして、mayContain、mustContain、systemMayContain、systemMustContain の値をクラスとそのすべてのスーパークラス、およびクラスとそのスーパークラスの補助クラスから収集します。 抽象スキーマは、このすべてのデータを 1 つのオブジェクトに簡単に収集します。
Active Directory ドメイン Services のオブジェクトと同様に、subSchema オブジェクトにバインドしてその属性を読み取り、文字列値を解析して目的のデータを取得できます。 ただし、ADSI には、抽象スキーマを読みやすくするインターフェイスのセットが用意されています。 詳細については、「抽象スキーマの読み取り」を参照してください。
次の表に、subSchema オブジェクトの主要な属性を示します。
属性 | 説明 |
---|---|
attributeTypes | スキーマ内の各属性を表す文字列を含む複数値の属性。 各値には、attributeID、lDAPDisplayName、attributeSyntax、rangeLower、rangeUpper、および属性に複数の値を含めることができるかどうかを示す項目が含まれます。 |
extendedAttributeInfo | 各属性の追加データを表す文字列を含む複数値の属性。 各値には、attributeID、lDAPDisplayName、schemaIDGUID、attributeSecurityGUID が含まれています。 |
extendedClassInfo | 各クラスの追加データを表す文字列を含む複数値の属性。 各値には、クラスの governsID、 lDAPDisplayName、および schemaIDGUID が含まれます。 |
objectClasses | スキーマ内の各クラスを表す文字列を含む複数値の属性。 各値には、governsID、lDAPDisplayName、mustContain、mayContain などが含まれます。 |