code: protected void processAttribute(
          java.io.Writer writer,
          String name,
          String value,
          ElemDesc elemDesc)
          throws IOException
      {
          writer.write(' ');
  
          if (   ((value.length() == 0) || value.equalsIgnoreCase(name))
              && elemDesc != null 
              && elemDesc.isAttrFlagSet(name, ElemDesc.ATTREMPTY))
          {
              writer.write(name);
          }
          else
          {
              // %REVIEW% %OPT%
              // Two calls to single-char write may NOT
              // be more efficient than one to string-write...
              writer.write(name);
              writer.write("=\"");
              if (   elemDesc != null
                  && elemDesc.isAttrFlagSet(name, ElemDesc.ATTRURL))
                  writeAttrURI(writer, value, m_specialEscapeURLs);
              else
                  writeAttrString(writer, value, this.getEncoding());
              writer.write('"');
  
          }
      }
docs: Process an attribute.
  @param   writer The writer to write the processed output to.
  @param   name   The name of the attribute.
  @param   value   The value of the attribute.
  @param   elemDesc The description of the HTML element
  that has this attribute.
  
  @throws org.xml.sax.SAXException