[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Capability specific search clauses...
My proposal for adding the ability to search on capability specific information (e.g. references, active status, ect) is to add three Boolean clauses to the search capability:
spmlsearch:and spmlsearch:or spmlsearch:not
Additional search clauses would be added to appropriate capabilities such as: spmlsuspend:isActive To see how this would work, searching for suspended accounts on target “target1”. Without this feature, to search for all suspended PSOs (using the DSML profile):
<spmlsearch:searchRequest> <spmlsearch:query scope="subTree"> <spmlsearch:baseTargetId ID="target1"/> <spmlsearch:select> <dsml:filter><dsml:equalityMatch name="status">suspended</dsml:equalityMatch></dsml:filter> </spmlsearch:select> </spmlsearch:query> </spmlsearch:searchRequest>
There are two drawbacks; 1) the query is profile specific and 2) it requires out of band agreement on what the status attribute is and what possible values it may have. If instead we use an "isActive" query from the suspend capability:
<spmlsearch:searchRequest> <spmlsearch:query scope="subTree"> <spmlsearch:baseTargetId ID="target1"/> <spmlsearch:select> <spmlsearch:not> <spmlsuspend:isActive> </spmlsearch:not> </spmlsearch:select> </spmlsearch:query> </spmlsearch:searchRequest>
To find inactive accounts with the first name "John":
<spmlsearch:searchRequest> <spmlsearch:query scope="subTree"> <spmlsearch:baseTargetId ID="target1"/> <spmlsearch:select> <spmlsearch:and> <spmlsearch:not> <spmlsuspend:isActive> </spmlsearch:not> <dsml:filter><dsml:substrings name="sn"><dsml:final>john</dsml:final></dsml:substrings></dsml:filter> </spmlsearch:and> </spmlsearch:select> </spmlsearch:query> </spmlsearch:searchRequest>
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]