<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect3 id="zend.ldap.api.reference.zend-ldap-node-rootdse">
    <title>Zend_Ldap_Node_RootDse(日本語)</title>

    <para>ベンダー固有のサブクラス全てで下記のメソッドが利用可能です。</para>

    <para>
        <classname>Zend_Ldap_Node_RootDse</classname> は、
        名前により属性にアクセスするための <methodname>__get()</methodname> 及び <methodname>__isset()</methodname>
        マジック・プロパティー・アクセッサを含みます。
        それらはそれぞれ、 <methodname>Zend_Ldap_Node_RootDse::getAttribute()</methodname> 及び
        <methodname>Zend_Ldap_Node_RootDse::existsAttribute()</methodname> を代理します。
        <methodname>__set()</methodname> 及び <methodname>__unset()</methodname> も実装されます。
        しかし、 RootDSE ノードで認められない変更次第では
        <code>BadMethodCallException</code> をスローします。
        さらに、属性に配列のようにアクセスするために
        クラスは <code>ArrayAccess</code> を実装します。
        <methodname>offsetSet()</methodname> 及び <methodname>offsetUnset()</methodname> も
        明白な理由に起因する <code>BadMethodCallException</code> をスローします。
    </para>

    <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.table">
        <title>Zend_Ldap_Node_RootDse API</title>

        <tgroup cols="2">
            <thead>
                <row>
                    <entry>メソッド</entry>
                    <entry>説明</entry>
                </row>
            </thead>
            <tbody>
                <row>
                    <entry><code>Zend_Ldap_Dn getDn()</code></entry>
                    <entry><classname>Zend_Ldap_Dn</classname> として現行ノードの DN を取得</entry>
                </row>
                <row>
                    <entry><code>string getDnString(string $caseFold)</code></entry>
                    <entry>文字列として現行ノードの DN を取得</entry>
                </row>
                <row>
                    <entry><code>array getDnArray(string $caseFold)</code></entry>
                    <entry>配列として現行ノードの DN を取得</entry>
                </row>
                <row>
                    <entry><code>string getRdnString(string $caseFold)</code></entry>
                    <entry>文字列として現行ノードの <acronym>RDN</acronym> を取得</entry>
                </row>
                <row>
                    <entry><code>array getRdnArray(string $caseFold)</code></entry>
                    <entry>配列として現行ノードの <acronym>RDN</acronym> を取得</entry>
                </row>
                <row>
                    <entry><code>array getObjectClass()</code></entry>
                    <entry>ノードの objectClass を返します</entry>
                </row>
                <row>
                    <entry><code>string toString()</code></entry>
                    <entry>
                        現行ノードの DN を返します。
                        <methodname>Zend_Ldap_Dn::getDnString()</methodname> の代理です
                    </entry>
                </row>
                <row>
                    <entry><code>string __toString()</code></entry>
                    <entry>
                        文字列表現にキャストします。
                        <methodname>Zend_Ldap_Dn::toString()</methodname> の代理です
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>array toArray(boolean
                        $includeSystemAttributes)</code>
                    </entry>
                    <entry>
                        現行ノードの配列表現を返します。
                        もし <varname>$includeSystemAttributes</varname> が <constant>FALSE</constant>
                        (既定値は <constant>TRUE</constant>) なら、システム固有の属性は配列から除去されます。
                        <methodname>Zend_Ldap_Node_RootDse::getAttributes()</methodname> とは異なり、
                        結果の配列には キー <code>'dn'</code> をもつ DN を含みます。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>string toJson(boolean
                        $includeSystemAttributes)</code>
                    </entry>
                    <entry>
                        <methodname>Zend_Ldap_Node_RootDse::toArray()</methodname> を用いて
                        現行ノードの <acronym>JSON</acronym> 表現を返します。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>array getData(boolean
                        $includeSystemAttributes)</code>
                    </entry>
                    <entry>
                        ノードの属性を返します。
                        配列は属性全てをその内部フォーマットに含みます。(変換無し)
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>boolean existsAttribute(string $name, boolean
                        $emptyExists)</code>
                    </entry>
                    <entry>
                        与えられた属性が存在するかどうかチェックします。
                        もし <varname>$emptyExists</varname> が <constant>FALSE</constant> なら、
                        空の属性 (array() のみを含む) は、
                        <constant>FALSE</constant> を返す、存在しないものとして扱われます。
                        もし <varname>$emptyExists</varname> が <constant>TRUE</constant> なら、
                        空の属性は <constant>TRUE</constant> を返す、存在するものとして扱われます。
                        この場合、属性の名前がキーの集合に欠落している場合のみ、
                        メソッドは <constant>FALSE</constant> を返します。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>boolean attributeHasValue(string $name, mixed|array
                        $value)</code>
                    </entry>
                    <entry>
                        与えられた値が属性に存在するかチェックします。
                        <varname>$value</varname> 内の値全てが属性に現れる場合のみ、
                        メソッドは <constant>TRUE</constant> を返します。
                        比較は厳格に行なわれます。（データ型を考慮します）
                    </entry>
                </row>
                <row>
                    <entry><code>integer count()</code></entry>
                    <entry>
                        ノードの属性数を返します。 Countable を実装します。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>mixed getAttribute(string $name, integer|null
                        $index)</code>
                    </entry>
                    <entry>
                        <acronym>LDAP</acronym> 属性を取得します。データ変換は
                        <methodname>Zend_Ldap_Attribute::getAttribute()</methodname> を使って適用されます。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>array getAttributes(boolean
                        $includeSystemAttributes)</code>
                    </entry>
                    <entry>
                        ノードの属性全てを取得します。もし
                        <varname>$includeSystemAttributes</varname> が <constant>FALSE</constant> なら、
                        (既定は <constant>TRUE</constant>) システム固有の属性は配列から除去されます。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>array|integer getDateTimeAttribute(string $name,
                        integer|null $index)</code>
                    </entry>
                    <entry>
                        <acronym>LDAP</acronym> の日付／時刻属性を取得します。データ変換は
                        <methodname>Zend_Ldap_Attribute::getDateTimeAttribute()</methodname> を使って適用されます。
                    </entry>
                </row>
                <row>
                    <entry>
                        <code>Zend_Ldap_Node_RootDse reload(Zend_Ldap
                        $ldap)</code>
                    </entry>
                    <entry>
                        与えられた <acronym>LDAP</acronym> サーバから現行ノードの属性を再読み込みします。
                    </entry>
                </row>
                <row>
                    <entry>
                        <emphasis><code>Zend_Ldap_Node_RootDse create(Zend_Ldap
                        $ldap)</code> </emphasis>
                    </entry>
                    <entry>RootDSE を生成するファクトリー・メソッド</entry>
                </row>
                <row>
                    <entry><code>array getNamingContexts()</code></entry>
                    <entry>namingContexts を取得</entry>
                </row>
                <row>
                    <entry><code>string|null getSubschemaSubentry()</code></entry>
                    <entry>subschemaSubentry を取得</entry>
                </row>
                <row>
                    <entry>
                        <code>boolean supportsVersion(string|int|array
                        $versions)</code>
                    </entry>
                    <entry>その <acronym>LDAP</acronym> のバージョンがサポートされるかどうか判定します</entry>
                </row>
                <row>
                    <entry>
                        <code>boolean supportsSaslMechanism(string|array
                        $mechlist)</code>
                    </entry>
                    <entry>sasl 機構がサポートされるかどうか判定します</entry>
                </row>
                <row>
                    <entry><code>integer getServerType()</code></entry>
                    <entry>
                        サーバの種類を取得します。(翻訳者挿入：下記のいずれかを）返します。
                        <variablelist>
                            <varlistentry>
                                <term>
                                <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</constant></term>
                                <listitem><para>未知の <acronym>LDAP</acronym> サーバ用</para></listitem>
                            </varlistentry>

                            <varlistentry>
                                <term>
                                <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant></term>
                                <listitem><para>OpenLDAP サーバ用</para></listitem>
                            </varlistentry>

                            <varlistentry>
                                <term>
                                <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant></term>
                                <listitem><para>Microsoft ActiveDirectory サーバ用</para></listitem>
                            </varlistentry>

                            <varlistentry>
                                <term>
                                <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant></term>
                                <listitem><para>Novell eDirectory サーバ用</para></listitem>
                            </varlistentry>
                        </variablelist>
                    </entry>
                </row>
                <row>
                    <entry><code>Zend_Ldap_Dn getSchemaDn()</code></entry>
                    <entry>スキーマ DN を返します</entry>
                </row>
            </tbody>

        </tgroup>

    </table>

    <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap">
        <title>OpenLDAP</title>

        <para>
            さらに、上記の共通メソッドが
            <classname>Zend_Ldap_Node_RootDse_OpenLdap</classname> のインスタンスに適用されます。
        </para>

        <note>
            <para>
                OpenLDAP RootDSE の属性についての情報は 
                <ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">LDAP
                Operational Attributes and Objects</ulink>
                を参照してください。
            </para>
        </note>

        <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table">
            <title>Zend_Ldap_Node_RootDse_OpenLdap API</title>

            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>メソッド</entry>
                        <entry>説明</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry><code>integer getServerType()</code></entry>
                        <entry>
                            サーバの種類を取得します。
                            <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
                            を返します
                        </entry>
                    </row>
                    <row>
                        <entry><code>string|null getConfigContext()</code></entry>
                        <entry>configContext を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getMonitorContext()</code></entry>
                        <entry>monitorContext を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsControl(string|array
                            $oids)</code>
                        </entry>
                        <entry>その制御がサポートされるかどうか判定します</entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsExtension(string|array
                            $oids)</code>
                        </entry>
                        <entry>そのエクステンションがサポートされるかどうか判定します</entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsFeature(string|array
                            $oids)</code>
                        </entry>
                        <entry>そのフィーチャーがサポートされるかどうか判定します</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
    </sect4>

    <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory">
        <title>ActiveDirectory</title>

        <para>
            さらに、上記の共通メソッドが
            <classname>Zend_Ldap_Node_RootDse_ActiveDirectory</classname> のインスタンスに適用されます。
        </para>

        <note>
            <para>
                Microsoft ActiveDirectory RootDSE の属性についての情報は 
                <ulink url="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx">
                RootDSE</ulink>
                を参照してください。
            </para>
        </note>

        <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table">
            <title>Zend_Ldap_Node_RootDse_ActiveDirectory API</title>

            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>メソッド</entry>
                        <entry>説明</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry><code>integer getServerType()</code></entry>
                        <entry>
                            サーバの種類を取得します。
                            <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
                            を返します
                        </entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getConfigurationNamingContext()</code>
                        </entry>
                        <entry>configurationNamingContext を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getCurrentTime()</code></entry>
                        <entry>currentTime を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getDefaultNamingContext()</code>
                        </entry>
                        <entry>defaultNamingContext を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getDnsHostName()</code></entry>
                        <entry>dnsHostName を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getDomainControllerFunctionality()</code>
                        </entry>
                        <entry>domainControllerFunctionality を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getDomainFunctionality()</code>
                        </entry>
                        <entry>domainFunctionality を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getDsServiceName()</code></entry>
                        <entry>dsServiceName を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getForestFunctionality()</code>
                        </entry>
                        <entry>forestFunctionality を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getHighestCommittedUSN()</code>
                        </entry>
                        <entry>highestCommittedUSN を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getIsGlobalCatalogReady()</code>
                        </entry>
                        <entry>isGlobalCatalogReady を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getIsSynchronized()</code></entry>
                        <entry>isSynchronized を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getLdapServiceName()</code></entry>
                        <entry>ldapServiceName を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getRootDomainNamingContext()</code>
                        </entry>
                        <entry>rootDomainNamingContext を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getSchemaNamingContext()</code>
                        </entry>
                        <entry>schemaNamingContext を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getServerName()</code></entry>
                        <entry>serverName を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsCapability(string|array
                            $oids)</code>
                        </entry>
                        <entry>その機能がサポートされるかどうか判定します</entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsControl(string|array
                            $oids)</code>
                        </entry>
                        <entry>その制御がサポートされるかどうか判定します</entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsPolicy(string|array
                            $policies)</code>
                        </entry>
                        <entry>そのバージョンがサポートされるかどうか判定します</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
    </sect4>

    <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory">
        <title>eDirectory</title>

        <para>
            さらに、上記の共通メソッドが
            <code>Zend_Ldap_Node_RootDse_eDirectory</code> のインスタンスに適用されます。
        </para>

        <note>
            <para>
                Novell eDirectory RootDSE の属性についての情報は 
                <ulink url="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html">
                Getting Information about the <acronym>LDAP</acronym> Server</ulink>
                を参照してください。
            </para>
        </note>

        <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table">
            <title>Zend_Ldap_Node_RootDse_eDirectory API</title>

            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>メソッド</entry>
                        <entry>説明</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry><code>integer getServerType()</code></entry>
                        <entry>
                            サーバの種類を取得します。
                            <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
                            を返します。
                        </entry>
                    </row>
                    <row>
                        <entry>
                            <code>boolean supportsExtension(string|array
                            $oids)</code>
                        </entry>
                        <entry>そのエクステンションがサポートされるかどうか判定します</entry>
                    </row>
                    <row>
                        <entry><code>string|null getVendorName()</code></entry>
                        <entry>vendorName を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getVendorVersion()</code></entry>
                        <entry>vendorVersion を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getDsaName()</code></entry>
                        <entry>dsaName を取得</entry>
                    </row>
                    <row>
                        <entry><code>string|null getStatisticsErrors()</code></entry>
                        <entry>サーバ統計 "errors" を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getStatisticsSecurityErrors()</code>
                        </entry>
                        <entry>サーバ統計 "securityErrors" を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getStatisticsChainings()</code>
                        </entry>
                        <entry>サーバ統計 "chainings" を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getStatisticsReferralsReturned()</code>
                        </entry>
                        <entry>サーバ統計 "referralsReturned" を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getStatisticsExtendedOps()</code>
                        </entry>
                        <entry>サーバ統計 "extendedOps" を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getStatisticsAbandonOps()</code>
                        </entry>
                        <entry>サーバ統計 "abandonOps" を取得</entry>
                    </row>
                    <row>
                        <entry>
                            <code>string|null
                            getStatisticsWholeSubtreeSearchOps()</code>
                        </entry>
                        <entry>
                            サーバ統計 "wholeSubtreeSearchOps" を取得
                        </entry>
                    </row>
                </tbody>

            </tgroup>

        </table>

    </sect4>

</sect3>

