Zend_Ldap-API-Ldap-Node-Schema.xml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect3 id="zend.ldap.api.reference.zend-ldap-node-schema">
  5. <title>Zend_Ldap_Node_Schema(日本語)</title>
  6. <para>ベンダー固有のサブクラス全てで下記のメソッドが利用可能です。</para>
  7. <para>
  8. <code>Zend_Ldap_Node_Schema</code> は、
  9. 名前により属性にアクセスするための <code>__get()</code> 及び <code>__isset()</code>
  10. マジック・プロパティー・アクセッサを含みます。
  11. それらはそれぞれ、 <code>Zend_Ldap_Node_Schema::getAttribute()</code> 及び
  12. <code>Zend_Ldap_Node_Schema::existsAttribute()</code> を代理します。
  13. <code>__set()</code> 及び <code>__unset()</code> も実装されます。
  14. しかし、 RootDSE ノードで認められない変更次第では
  15. <code>BadMethodCallException</code> をスローします。
  16. さらに、属性に配列のようにアクセスするために
  17. クラスは <code>ArrayAccess</code> を実装します。
  18. <code>offsetSet()</code> 及び <code>offsetUnset()</code> も
  19. 明白な理由に起因する <code>BadMethodCallException</code> をスローします。
  20. </para>
  21. <table id="zend.ldap.api.reference.zend-ldap-node-schema.table">
  22. <title>Zend_Ldap_Node_Schema API</title>
  23. <tgroup cols="2">
  24. <thead>
  25. <row>
  26. <entry>メソッド</entry>
  27. <entry>説明</entry>
  28. </row>
  29. </thead>
  30. <tbody>
  31. <row>
  32. <entry><code>Zend_Ldap_Dn getDn()</code></entry>
  33. <entry><classname>Zend_Ldap_Dn</classname> として現行ノードの DN を取得します。</entry>
  34. </row>
  35. <row>
  36. <entry><code>string getDnString(string $caseFold)</code></entry>
  37. <entry>文字列として現行ノードの DN を取得します</entry>
  38. </row>
  39. <row>
  40. <entry><code>array getDnArray(string $caseFold)</code></entry>
  41. <entry>配列として現行ノードの DN を取得します</entry>
  42. </row>
  43. <row>
  44. <entry><code>string getRdnString(string $caseFold)</code></entry>
  45. <entry>文字列として現行ノードの <acronym>RDN</acronym> を取得します</entry>
  46. </row>
  47. <row>
  48. <entry><code>array getRdnArray(string $caseFold)</code></entry>
  49. <entry>配列として現行ノードの <acronym>RDN</acronym> を取得します</entry>
  50. </row>
  51. <row>
  52. <entry><code>array getObjectClass()</code></entry>
  53. <entry>ノードの objectClass を返します</entry>
  54. </row>
  55. <row>
  56. <entry><code>string toString()</code></entry>
  57. <entry>
  58. 現行ノードの DN を返します。
  59. <code>Zend_Ldap_Dn::getDnString()</code> の代理です
  60. </entry>
  61. </row>
  62. <row>
  63. <entry><code>string __toString()</code></entry>
  64. <entry>
  65. 文字列表現にキャストします。
  66. <code>Zend_Ldap_Dn::toString()</code> の代理です
  67. </entry>
  68. </row>
  69. <row>
  70. <entry>
  71. <code>array toArray(boolean
  72. $includeSystemAttributes)</code>
  73. </entry>
  74. <entry>
  75. 現行ノードの配列表現を返します。
  76. もし <code>$includeSystemAttributes</code> が <constant>FALSE</constant>
  77. (既定値は <constant>TRUE</constant>) なら、システム固有の属性は配列から除去されます。
  78. <code>Zend_Ldap_Node_Schema::getAttributes()</code> とは異なり、
  79. 結果の配列には キー <code>'dn'</code> をもつ DN を含みます。
  80. </entry>
  81. </row>
  82. <row>
  83. <entry>
  84. <code>string toJson(boolean
  85. $includeSystemAttributes)</code>
  86. </entry>
  87. <entry>
  88. <code>Zend_Ldap_Node_Schema::toArray()</code> を用いて
  89. 現行ノードの <acronym>JSON</acronym> 表現を返します。
  90. </entry>
  91. </row>
  92. <row>
  93. <entry>
  94. <code>array getData(boolean
  95. $includeSystemAttributes)</code>
  96. </entry>
  97. <entry>
  98. ノードの属性を返します。
  99. 配列は属性全てをその内部フォーマットに含みます。(変換無し)
  100. </entry>
  101. </row>
  102. <row>
  103. <entry>
  104. <code>boolean existsAttribute(string $name, boolean
  105. $emptyExists)</code>
  106. </entry>
  107. <entry>
  108. 与えられた属性が存在するかどうかチェックします。
  109. もし <code>$emptyExists</code> が <constant>FALSE</constant> なら、
  110. 空の属性 (array() のみを含む) は、
  111. <constant>FALSE</constant> を返す、存在しないものとして扱われます。
  112. もし <code>$emptyExists</code> が true なら、
  113. 空の属性は <constant>TRUE</constant> を返す、存在するものとして扱われます。
  114. この場合、属性の名前がキーの集合に欠落している場合のみ、
  115. メソッドは <constant>FALSE</constant> を返します。
  116. </entry>
  117. </row>
  118. <row>
  119. <entry>
  120. <code>boolean attributeHasValue(string $name, mixed|array
  121. $value)</code>
  122. </entry>
  123. <entry>
  124. 与えられた値が属性に存在するかチェックします。
  125. <code>$value</code> 内の値全てが属性に現れる場合のみ、
  126. メソッドは <constant>TRUE</constant> を返します。
  127. 比較は厳格に行なわれます。(データ型を考慮します)
  128. </entry>
  129. </row>
  130. <row>
  131. <entry><code>integer count()</code></entry>
  132. <entry>
  133. ノードの属性数を返します。 Countable を実装します。
  134. </entry>
  135. </row>
  136. <row>
  137. <entry>
  138. <code>mixed getAttribute(string $name, integer|null
  139. $index)</code>
  140. </entry>
  141. <entry>
  142. <acronym>LDAP</acronym> 属性を取得します。データ変換は
  143. <code>Zend_Ldap_Attribute::getAttribute()</code> を使って適用されます。
  144. </entry>
  145. </row>
  146. <row>
  147. <entry>
  148. <code>array getAttributes(boolean
  149. $includeSystemAttributes)</code>
  150. </entry>
  151. <entry>
  152. ノードの属性全てを取得します。もし
  153. <code>$includeSystemAttributes</code> が <constant>FALSE</constant> なら、
  154. (既定は <constant>TRUE</constant>) システム固有の属性は配列から除去されます。
  155. </entry>
  156. </row>
  157. <row>
  158. <entry>
  159. <code>array|integer getDateTimeAttribute(string $name,
  160. integer|null $index)</code>
  161. </entry>
  162. <entry>
  163. <acronym>LDAP</acronym> の日付/時刻属性を取得します。データ変換は
  164. <code>Zend_Ldap_Attribute::getDateTimeAttribute()</code> を使って適用されます。
  165. </entry>
  166. </row>
  167. <row>
  168. <entry>
  169. <code>Zend_Ldap_Node_Schema reload(Zend_Ldap
  170. $ldap)</code>
  171. </entry>
  172. <entry>
  173. 与えられた <acronym>LDAP</acronym> サーバから現行ノードの属性を再読み込みします。
  174. </entry>
  175. </row>
  176. <row>
  177. <entry>
  178. <emphasis><code>Zend_Ldap_Node_Schema create(Zend_Ldap
  179. $ldap)</code> </emphasis>
  180. </entry>
  181. <entry>Schema ノードを生成するファクトリー・メソッド</entry>
  182. </row>
  183. <row>
  184. <entry><code>array getAttributeTypes()</code></entry>
  185. <entry>属性のタイプを <code/>. の配列として取得します。</entry>
  186. </row>
  187. <row>
  188. <entry><code>array getObjectClasses()</code></entry>
  189. <entry>
  190. オブジェクトクラスを
  191. <code>Zend_Ldap_Node_Schema_ObjectClass_Interface</code> の配列として取得します。
  192. </entry>
  193. </row>
  194. </tbody>
  195. </tgroup>
  196. </table>
  197. <table id="zend.ldap.api.reference.zend-ldap-node-schema.attributetype-interface.table">
  198. <title>Zend_Ldap_Node_Schema_AttributeType_Interface API</title>
  199. <tgroup cols="2">
  200. <thead>
  201. <row>
  202. <entry>メソッド</entry>
  203. <entry>説明</entry>
  204. </row>
  205. </thead>
  206. <tbody>
  207. <row>
  208. <entry><code>string getName()</code></entry>
  209. <entry>属性名を取得します</entry>
  210. </row>
  211. <row>
  212. <entry><code>string getOid()</code></entry>
  213. <entry>属性の <acronym>OID</acronym> を取得します</entry>
  214. </row>
  215. <row>
  216. <entry><code>string getSyntax()</code></entry>
  217. <entry>属性の構文を取得します</entry>
  218. </row>
  219. <row>
  220. <entry><code>int|null getMaxLength()</code></entry>
  221. <entry>属性の最大長を取得します</entry>
  222. </row>
  223. <row>
  224. <entry><code>boolean isSingleValued()</code></entry>
  225. <entry>属性が単一の値かどうか返します</entry>
  226. </row>
  227. <row>
  228. <entry><code>string getDescription()</code></entry>
  229. <entry>属性の説明を取得します</entry>
  230. </row>
  231. </tbody>
  232. </tgroup>
  233. </table>
  234. <table id="zend.ldap.api.reference.zend-ldap-node-schema.objectclass-interface.table">
  235. <title>Zend_Ldap_Node_Schema_ObjectClass_Interface API</title>
  236. <tgroup cols="2">
  237. <thead>
  238. <row>
  239. <entry>メソッド</entry>
  240. <entry>説明</entry>
  241. </row>
  242. </thead>
  243. <tbody>
  244. <row>
  245. <entry><code>string getName()</code></entry>
  246. <entry>objectClass の名前を返します</entry>
  247. </row>
  248. <row>
  249. <entry><code>string getOid()</code></entry>
  250. <entry>objectClass の <acronym>OID</acronym> を返します</entry>
  251. </row>
  252. <row>
  253. <entry><code>array getMustContain()</code></entry>
  254. <entry>
  255. この objectClass が含まなければいけない属性を返します
  256. </entry>
  257. </row>
  258. <row>
  259. <entry><code>array getMayContain()</code></entry>
  260. <entry>
  261. この objectClass が含むかもしれない属性を返します
  262. </entry>
  263. </row>
  264. <row>
  265. <entry><code>string getDescription()</code></entry>
  266. <entry>属性の説明を返します</entry>
  267. </row>
  268. <row>
  269. <entry><code>integer getType()</code></entry>
  270. <entry>
  271. objectClass のタイプを返します。
  272. このメソッドは下記の値のうちの一つを返します。
  273. <variablelist>
  274. <varlistentry>
  275. <term>
  276. <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_UNKNOWN</code></term>
  277. <listitem><para>未知のクラス用</para></listitem>
  278. </varlistentry>
  279. <varlistentry>
  280. <term>
  281. <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_STRUCTURAL</code></term>
  282. <listitem><para>構造クラス用</para></listitem>
  283. </varlistentry>
  284. <varlistentry>
  285. <term>
  286. <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_ABSTRACT</code></term>
  287. <listitem><para>抽象クラス用</para></listitem>
  288. </varlistentry>
  289. <varlistentry>
  290. <term>
  291. <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_AUXILIARY</code></term>
  292. <listitem><para>補助クラス用</para></listitem>
  293. </varlistentry>
  294. </variablelist>
  295. </entry>
  296. </row>
  297. <row>
  298. <entry><code>array getParentClasses()</code></entry>
  299. <entry>
  300. このクラスの親の(複数の) objectClass を返します。
  301. これは構造、抽象、補助 objectClass を含みます。
  302. </entry>
  303. </row>
  304. </tbody>
  305. </tgroup>
  306. </table>
  307. <para>
  308. クラスが表現する属性のタイプ及びオブジェクトクラスは、
  309. 基礎となる <acronym>LDAP</acronym> ノード上の任意の属性にアクセスするための
  310. いくつかのコアメソッドを提供する <code>Zend_Ldap_Node_Schema_Item</code> を拡張します。
  311. <code>Zend_Ldap_Node_Schema_Item</code> は
  312. 名前により属性にアクセスするためのマジック・プロパティー・アクセッサ
  313. <code>__get()</code> 及び <code>__isset()</code> を含みます。
  314. さらに、属性に配列のようにアクセスするために、
  315. クラスは <code>ArrayAccess</code> を実装します。
  316. <code>offsetSet()</code> 及び <code>offsetUnset()</code> は、
  317. スキーマ情報ノードで認められない変更次第では
  318. <code>BadMethodCallException</code> をスローします。
  319. </para>
  320. <table id="zend.ldap.api.reference.zend-ldap-node-schema.schema-item.table">
  321. <title>Zend_Ldap_Node_Schema_Item API</title>
  322. <tgroup cols="2">
  323. <thead>
  324. <row>
  325. <entry>メソッド</entry>
  326. <entry>説明</entry>
  327. </row>
  328. </thead>
  329. <tbody>
  330. <row>
  331. <entry><code>array getData()</code></entry>
  332. <entry>
  333. スキーマ情報ノードから基礎となる全てのデータを取得します。
  334. </entry>
  335. </row>
  336. <row>
  337. <entry><code>integer count()</code></entry>
  338. <entry>
  339. スキーマ情報ノード内の属性数を返します。
  340. Countable を実装します。
  341. </entry>
  342. </row>
  343. </tbody>
  344. </tgroup>
  345. </table>
  346. <sect4 id="zend.ldap.api.reference.zend-ldap-node-schema.openldap">
  347. <title>OpenLDAP</title>
  348. <para>
  349. さらに、上記の共通メソッドが <code>Zend_Ldap_Node_Schema_OpenLDAP</code>
  350. のインスタンスに適用されます。
  351. </para>
  352. <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.table">
  353. <title>Zend_Ldap_Node_Schema_OpenLDAP API</title>
  354. <tgroup cols="2">
  355. <thead>
  356. <row>
  357. <entry>メソッド</entry>
  358. <entry>説明</entry>
  359. </row>
  360. </thead>
  361. <tbody>
  362. <row>
  363. <entry><code>array getLdapSyntaxes()</code></entry>
  364. <entry><acronym>LDAP</acronym> 構文を取得します</entry>
  365. </row>
  366. <row>
  367. <entry><code>array getMatchingRules()</code></entry>
  368. <entry>一致するルールを取得します</entry>
  369. </row>
  370. <row>
  371. <entry><code>array getMatchingRuleUse()</code></entry>
  372. <entry>一致するルールの使用法を取得します</entry>
  373. </row>
  374. </tbody>
  375. </tgroup>
  376. </table>
  377. <table
  378. id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.attributetype-interface.table">
  379. <title>Zend_Ldap_Node_Schema_AttributeType_OpenLDAP API</title>
  380. <tgroup cols="2">
  381. <thead>
  382. <row>
  383. <entry>メソッド</entry>
  384. <entry>説明</entry>
  385. </row>
  386. </thead>
  387. <tbody>
  388. <row>
  389. <entry>
  390. <code>Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null
  391. getParent()</code>
  392. </entry>
  393. <entry>
  394. もし存在すれば、継承ツリー内の親の属性タイプを返します
  395. </entry>
  396. </row>
  397. </tbody>
  398. </tgroup>
  399. </table>
  400. <table
  401. id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.objectclass-interface.table">
  402. <title>Zend_Ldap_Node_Schema_ObjectClass_OpenLDAP API</title>
  403. <tgroup cols="2">
  404. <thead>
  405. <row>
  406. <entry>メソッド</entry>
  407. <entry>説明</entry>
  408. </row>
  409. </thead>
  410. <tbody>
  411. <row>
  412. <entry><code>array getParents()</code></entry>
  413. <entry>
  414. もし存在すれば、継承ツリー内の(複数の)親オブジェクトクラスを返します
  415. 返される配列は、
  416. <code>Zend_Ldap_Node_Schema_ObjectClass_OpenLdap</code>の配列です。
  417. </entry>
  418. </row>
  419. </tbody>
  420. </tgroup>
  421. </table>
  422. </sect4>
  423. <sect4 id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory">
  424. <title>ActiveDirectory</title>
  425. <note>
  426. <title>ActiveDirectory サーバ上でのスキーマ・ブラウジング</title>
  427. <para>
  428. 包括的探索ルーチンで返されるエントリーの数に関する
  429. Microsoft ActiveDirectory サーバでの、規制のため、
  430. および、 ActiveDirectory スキーマ・リポジトリの構造のため、
  431. スキーマ・ブラウジングは、現在 Microsoft ActiveDirectory サーバでは利用可能
  432. <emphasis>ではありません</emphasis>。
  433. </para>
  434. </note>
  435. <para>
  436. <code>Zend_Ldap_Node_Schema_ActiveDirectory</code>
  437. は、いかなる追加メソッドも提供しません。
  438. </para>
  439. <table
  440. id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.attributetype-interface.table">
  441. <title>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory API</title>
  442. <tgroup cols="1">
  443. <tbody>
  444. <row>
  445. <entry>
  446. <code>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory</code>
  447. は、いかなる追加メソッドも提供しません
  448. </entry>
  449. </row>
  450. </tbody>
  451. </tgroup>
  452. </table>
  453. <table
  454. id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.objectclass-interface.table">
  455. <title>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory API</title>
  456. <tgroup cols="1">
  457. <tbody>
  458. <row>
  459. <entry>
  460. <code>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory</code>
  461. は、いかなる追加メソッドも提供しません
  462. </entry>
  463. </row>
  464. </tbody>
  465. </tgroup>
  466. </table>
  467. </sect4>
  468. </sect3>