code: Object processNCNAME(
            StylesheetHandler handler, String uri, String name, String rawName, String value, ElemTemplateElement owner)
              throws org.xml.sax.SAXException
    {
      
      if (getSupportsAVT()) 
      {
          AVT avt = null;
          try
          {
            avt = new AVT(handler, uri, name, rawName, value, owner);
      
            // If an AVT wasn't used, validate the value
            if ((avt.isSimple()) &&  (!XML11Char.isXML11ValidNCName(value))) 
            {
               handleError(handler,XSLTErrorResources.INVALID_NCNAME,new Object[] {name,value},null);
               return null;
            }      
            return avt;
          }
          catch (TransformerException te)
          {
             // thrown by AVT constructor
            throw new org.xml.sax.SAXException(te);
          } 
          
      } else {
          if (!XML11Char.isXML11ValidNCName(value)) 
          {
              handleError(handler,XSLTErrorResources.INVALID_NCNAME,new Object[] {name,value},null);
              return null;
          }
          return value;
      }
   }
docs: Process an attribute string of type NCName into a String
  
  @param handler non-null reference to current StylesheetHandler that is constructing the Templates.
  @param uri The Namespace URI, or an empty string.
  @param name The local name (without prefix), or empty string if not namespace processing.
  @param rawName The qualified name (with prefix).
  @param value A string that represents a potentially prefix qualified name.
  @param owner
  
  @return A String object if this attribute does not support AVT's.  Otherwise, an AVT
  is returned.
  
  @throws org.xml.sax.SAXException if the string contains a prefix that can not be
  resolved, or the string contains syntax that is invalid for a NCName.