
sec:role-add-roles( $role-name as xs:string, $new-roles as xs:string* ) as empty-sequence()
  Adds new roles ($new-roles) to the role specified by
  $role-name.
  If a role with name equal to $role-name is not found, an error is 
  returned.
 
  If one of $new-roles does not correspond to an existing role, 
  an error is returned.
  If the current user is limited to granting only his/her roles,
  and $new-role is not a subset of the current user's roles, then an error is
  returned. 
 
  
| Parameters | |
|---|---|
| role-name | The name of the role. | 
| new-roles | The roles to add to the role. | 
http://marklogic.com/xdmp/privileges/role-add-roles http://marklogic.com/xdmp/privileges/grant-all-roles orhttp://marklogic.com/xdmp/privileges/grant-my-roles
  This function must be executed against the security database.
(: execute this against the security database :)
xquery version "1.0-ml";
import module namespace sec="http://marklogic.com/xdmp/security" at 
    "/MarkLogic/security.xqy";
sec:role-add-roles("Contractor", "filesystem-access")
(: Adds the "filesystem-access" role to the "Contractor" role and leaves
   any previously assigned roles intact. :)
   
  
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.