diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-11-03 18:22:59 -0500 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-11-03 18:22:59 -0500 |
commit | ce453beffb395046773f91f9c161dc4c0069863f (patch) | |
tree | 24930f17eed4d7ea493ba8607ab37be55244470d /doc | |
parent | 433d423405a49d8b4082c665fd2112ce4b3c7aa9 (diff) | |
download | slapi-nis-ce453beffb395046773f91f9c161dc4c0069863f.tar.gz slapi-nis-ce453beffb395046773f91f9c161dc4c0069863f.tar.xz slapi-nis-ce453beffb395046773f91f9c161dc4c0069863f.zip |
- add a %collect function, for concatenating lists of values into single
lists, but without flattening them as %merge does
Diffstat (limited to 'doc')
-rw-r--r-- | doc/nis-design.txt | 15 | ||||
-rw-r--r-- | doc/sch-design.txt | 15 |
2 files changed, 26 insertions, 4 deletions
diff --git a/doc/nis-design.txt b/doc/nis-design.txt index 66d50bc..0e77239 100644 --- a/doc/nis-design.txt +++ b/doc/nis-design.txt @@ -432,8 +432,8 @@ need to escape the double-quote using a '\' character. Naturally the %referred("people","memberof","uid") -> FAIL (when a single value is required) %referred("people","memberof","uid") -> bob,pete (when a list is acceptable) * merge(SEPARATOR,EXPRESSION[,...]) - - Evaluates and then creates a list using multiple expressions which - can evaluate to either single values or lists. + - Evaluates and then creates a single value using multiple expressions + which can evaluate to either single values or lists. - Example (examining "cn=group"): dn: cn=group membername: jim @@ -446,6 +446,17 @@ need to escape the double-quote using a '\' character. Naturally the dn: uid=pete uid: pete %merge(",","%{membername}","%deref(\"member\",\"uid\")") -> jim,bob,pete + * collect(EXPRESSION[,...]) + - Evaluates each EXPRESSION in turn, creating a single list using all of + the values which are produced by evaluating every expression. + - Example (examining "cn=group"): + dn: cn=group + cn: group + membername: jim + member: uid=bob + member: uid=pete + %collect("%{member}","%{membername}") -> ["uid=bob","uid=pete","jim"] (when a list is acceptable) + %collect("%{member}","%{membername}") -> FAIL (when a list is not acceptable) * ifeq(ATTRIBUTE,VALUE,MATCH,NOMATCH) - Evaluates VALUE and compares it to the entry's values for ATTRIBUTE. If there is at least one value which is considered equal according to diff --git a/doc/sch-design.txt b/doc/sch-design.txt index 1d8f0d1..05fb638 100644 --- a/doc/sch-design.txt +++ b/doc/sch-design.txt @@ -271,8 +271,8 @@ need to escape the double-quote using a '\' character. Naturally the %referred("people","memberof","uid") -> FAIL (when a single value is required) %referred("people","memberof","uid") -> bob,pete (when a list is acceptable) * merge(SEPARATOR,EXPRESSION[,...]) - - Evaluates and then creates a list using multiple expressions which - can evaluate to either single values or lists. + - Evaluates and then creates a single value using multiple expressions + which can evaluate to either single values or lists. - Example (examining "cn=group"): dn: cn=group membername: jim @@ -285,6 +285,17 @@ need to escape the double-quote using a '\' character. Naturally the dn: uid=pete uid: pete %merge(",","%{membername}","%deref(\"member\",\"uid\")") -> jim,bob,pete + * collect(EXPRESSION[,...]) + - Evaluates each EXPRESSION in turn, creating a single list using all of + the values which are produced by evaluating every expression. + - Example (examining "cn=group"): + dn: cn=group + cn: group + membername: jim + member: uid=bob + member: uid=pete + %collect("%{member}","%{membername}") -> ["uid=bob","uid=pete","jim"] (when a list is acceptable) + %collect("%{member}","%{membername}") -> FAIL (when a list is not acceptable) * ifeq(ATTRIBUTE,VALUE,MATCH,NOMATCH) - Evaluates VALUE and compares it to the entry's values for ATTRIBUTE. If there is at least one value which is considered equal according to |