code: private void parseAttlistDecl() throws Exception {
          String elementName;
  
          requireWhitespace();
          elementName = readNmtoken(true);
          boolean white = tryWhitespace();
          while (!tryRead('>')) {
              if (!white) {
                  fatal("whitespace required before attribute definition");
              }
              parseAttDef(elementName);
              white = tryWhitespace();
          }
      }
docs: Parse an attribute list declaration.
  
  <pre>
  [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;'
  </pre>
  
  <p>
  NOTE: the '&lt;!ATTLIST' has already been read.