<?xml version="1.0" encoding="UTF-8"?>

<taglib
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">

	<tlib-version>1.2</tlib-version>
	
	
	
	<short-name>voms</short-name>
	<uri>http://org.glite.security.voms.tags</uri>
  
    <tag>
      <name>div</name>
      <tag-class>org.glite.security.voms.admin.taglib.DivTag</tag-class>
      <body-content>JSP</body-content>
      
      <attribute>
            <name>id</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
      </attribute>
      
      <attribute>
            <name>cssClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
      </attribute>
    </tag>
    
    
 	<tag>
        <name>pageCustomization</name>
        <tag-class>org.glite.security.voms.admin.taglib.PageCustomizationTag</tag-class>
        
        <body-content>empty</body-content>
        <attribute>
            <name>pageName</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
    <tag>
        <name>version</name>
        <tag-class>org.glite.security.voms.admin.taglib.VersionTag</tag-class>
        
        <body-content>empty</body-content>

        <!--<attribute>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.lang.String</variable-class>
            <scope>AT_END</scope>
        </variable>
    -->
    
    </tag>
    <tag>
        <name>unassignedTags</name>
        <tag-class>org.glite.security.voms.admin.taglib.UnassignedTagsTag</tag-class>
        <body-content>empty</body-content>

        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.util.List</variable-class>
            <scope>AT_END</scope>
        </variable>
        
        <attribute>
            <name>adminId</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>var</name>
            <required>true</required>
        </attribute>
           
        
    </tag>
    <tag>
        <name>formatDN</name>
        <tag-class>org.glite.security.voms.admin.taglib.FormatDNTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>dn</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>fields</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
    <tag>
        <name>printPermission</name>
        <tag-class>org.glite.security.voms.admin.taglib.PrintPermissionTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>header</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        
        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
    <tag>
        <name>permission</name>
        <tag-class>org.glite.security.voms.admin.taglib.PermissionTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>context</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>permission</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>authorized</name>
        <tag-class>org.glite.security.voms.admin.taglib.AuthorizedTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>context</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>permission</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>message</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>style</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

    </tag>

    <tag>
        <name>hasPermissions</name>
        <tag-class>org.glite.security.voms.admin.taglib.HasPermissionsTag</tag-class>
        <body-content>empty</body-content>
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.lang.Boolean</variable-class>
            <scope>AT_END</scope>
        </variable>
        <attribute>
            <name>context</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>permission</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>
    <tag>
        <name>panel</name>
        <tag-class>org.glite.security.voms.admin.taglib.PanelTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>id</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>title</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>panelClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>headerClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>buttonClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>titleClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>contentClass</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
    
    <tag>
      <name>unassignedRoleMap</name>
      <tag-class>org.glite.security.voms.admin.taglib.UnassignedRoleMapTag</tag-class>
      <body-content>empty</body-content>
      
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.util.Map</variable-class>
            <scope>AT_END</scope>
        </variable>
      
        <attribute>
            <name>userId</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        
        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>
    <tag>
        <name>unassignedRoles</name>
        <tag-class>org.glite.security.voms.admin.taglib.UnassignedRolesTag</tag-class>
        <body-content>empty</body-content>
        
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.util.List</variable-class>
            <scope>AT_END</scope>
        </variable>

        <attribute>
            <name>id</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <attribute>
            <name>groupId</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        
    </tag>

    <tag>
        <name>unsubscribedGroups</name>
        <tag-class>org.glite.security.voms.admin.taglib.UnsubscribedGroupsTag</tag-class>
        <body-content>empty</body-content>
        
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.util.List</variable-class>
            <scope>AT_END</scope>
        </variable>

        <attribute>
            <name>userId</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>var</name>
            <required>true</required>
        </attribute>
    </tag>

    <tag>
        <name>searchNavBarJS</name>
        <tag-class>org.glite.security.voms.admin.taglib.JavaScriptSearchNavBarTag</tag-class>
        <body-content>empty</body-content>

        <attribute>
            <name>id</name>
            <required>true</required>
        </attribute>

        <attribute>
            <name>searchPanelId</name>
            <required>true</required>
        </attribute>
        
        <attribute>
            <name>searchURL</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>styleClass</name>
            <required>true</required>
        </attribute>

        <attribute>
            <name>linkStyleClass</name>
            <required>true</required>
        </attribute>

    </tag>
    
    <tag>
        <name>searchNavBar</name>
        <tag-class>org.glite.security.voms.admin.taglib.SearchNavBarTag</tag-class>
        <body-content>empty</body-content>

        <attribute>
            <name>id</name>
            <required>true</required>

        </attribute>

        <attribute>
            <name>searchURL</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>

        <attribute>
            <name>context</name>
            <required>true</required>
        </attribute>

        <attribute>
            <name>permission</name>
            <required>true</required>
        </attribute>

        <attribute>
            <name>styleClass</name>
            <required>true</required>
        </attribute>

        <attribute>
            <name>linkStyleClass</name>
            <required>true</required>
        </attribute>

        <attribute>
            <name>disabledLinkStyleClass</name>
            <required>true</required>
        </attribute>

    </tag>

    <tag>
        <name>currentAdmin</name>
        <tag-class>org.glite.security.voms.admin.taglib.CurrentAdminInfoTag</tag-class>
        <body-content>empty</body-content>
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>
                org.glite.security.voms.admin.operations.CurrentAdmin
            </variable-class>
            <scope>AT_END</scope>
        </variable>
        <attribute>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>roles</name>
        <tag-class>org.glite.security.voms.admin.taglib.RolesTag</tag-class>
        <body-content>empty</body-content>
        
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.util.Set</variable-class>
            <scope>AT_END</scope>
        </variable>
        
        <attribute>
            <name>user</name>
            <required>true</required>
        </attribute>
        <attribute>
            <name>group</name>
            <required>true</required>
        </attribute>
        <attribute>
            <name>var</name>
            <required>true</required>
        </attribute>
    </tag>

    <tag>
        <name>roleAttributes</name>
        <tag-class>org.glite.security.voms.admin.taglib.RoleAttributesTag</tag-class>
        <body-content>empty</body-content>
        <variable>
            <name-from-attribute>var</name-from-attribute>
            <variable-class>java.util.Set</variable-class>
            <scope>AT_END</scope>
        </variable>
        
        <attribute>
            <name>var</name>
            <required>true</required>
        </attribute>
        <attribute>
            <name>groupVar</name>
            <required>false</required>
        </attribute>
    </tag>

</taglib>