new AttributeDecl(type, value, valueType, enumeration);
new AttributeDecl(type, value, valueType, enumeration, values, inputStack.size() != 1);
  private void readDefault(String elementName, String name,                           String type, String enumeration)    throws IOException, XMLStreamException  {    int valueType = ATTRIBUTE_DEFAULT_SPECIFIED;    int flags = LIT_ATTRIBUTE;    String value = null, defaultType = null;    boolean saved = expandPE;        if (!"CDATA".equals(type))      flags |= LIT_NORMALIZE;    expandPE = false;    if (tryRead('#'))      {        if (tryRead("FIXED"))          {            defaultType = "#FIXED";            valueType = ATTRIBUTE_DEFAULT_FIXED;            requireWhitespace();            value = readLiteral(flags);          }        else if (tryRead("REQUIRED"))          {            defaultType = "#REQUIRED";            valueType = ATTRIBUTE_DEFAULT_REQUIRED;          }        else if (tryRead("IMPLIED"))          {            defaultType = "#IMPLIED";            valueType = ATTRIBUTE_DEFAULT_IMPLIED;          }        else          error("illegal keyword for attribute default value");      }    else      value = readLiteral(flags);    expandPE = saved;    // Register attribute def    AttributeDecl attribute =      new AttributeDecl(type, value, valueType, enumeration);    doctype.addAttributeDecl(elementName, name, attribute);  }