private void processAttribute(List<String> attrNames, List<String> attrValues, List<String> attrTypes) throws Exception {
    String key = XMLUtil.scanIdentifier(reader);
    XMLUtil.skipWhitespace(reader, null);

    if (!XMLUtil.read(reader, '&').equals("=")) {
      XMLUtil.errorExpectedInput(reader.getSystemID(), reader.getLineNr(), "`='");
    }

    XMLUtil.skipWhitespace(reader, null);
    String value = XMLUtil.scanString(reader, '&', entityResolver);
    attrNames.add(key);
    attrValues.add(value);
    attrTypes.add("CDATA");
    validator.attributeAdded(key, value, reader.getSystemID(), reader.getLineNr());
  }
private void processAttribute(List<String> attrNames, List<String> attrValues, List<String> attrTypes)