code: public String processIndexDescriptor(Properties attributes) throws XDocletException
      {
          String             name     = attributes.getProperty(ATTRIBUTE_NAME);
          IndexDescriptorDef indexDef = _curClassDef.getIndexDescriptor(name);
          String             attrName;
          
          if (indexDef == null)
          {    
              indexDef = new IndexDescriptorDef(name);
              _curClassDef.addIndexDescriptor(indexDef);
          }
  
          if ((indexDef.getName() == null) || (indexDef.getName().length() == 0))
          {
              throw new XDocletException(Translator.getString(XDocletModulesOjbMessages.class,
                                         XDocletModulesOjbMessages.INDEX_NAME_MISSING,
                                         new String[]{_curClassDef.getName()}));
          }
          attributes.remove(ATTRIBUTE_NAME);
          for (Enumeration attrNames = attributes.propertyNames(); attrNames.hasMoreElements(); )
          {
              attrName = (String)attrNames.nextElement();
              indexDef.setProperty(attrName, attributes.getProperty(attrName));
          }
          return "";
      }
docs: Processes an index descriptor tag.
  
  @param template              The template
  @param attributes            The attributes of the tag
  @exception XDocletException  If an error occurs
  @doc.tag                     type="content"
  @doc.param                   name="documentation" optional="true" description="Documentation on the index"
  @doc.param                   name="fields" optional="false" description="The fields making up the index separated by commas"
  @doc.param                   name="name" optional="false" description="The name of the index descriptor"
  @doc.param                   name="unique" optional="true" description="Whether the index descriptor is unique" values="true,false"