summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-11-03 18:22:59 -0500
committerNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-11-03 18:22:59 -0500
commitce453beffb395046773f91f9c161dc4c0069863f (patch)
tree24930f17eed4d7ea493ba8607ab37be55244470d /doc
parent433d423405a49d8b4082c665fd2112ce4b3c7aa9 (diff)
downloadslapi-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.txt15
-rw-r--r--doc/sch-design.txt15
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