code: private void parsePEReference() throws SAXException, IOException {
          String name;
  
          name = "%" + readNmtoken(true);
          require(';');
          switch (getEntityType(name)) {
              case ENTITY_UNDECLARED:
                  // VC: Entity Declared
                  handler.verror("reference to undeclared parameter entity "
                          + name);
  
                  // we should disable handling of all subsequent declarations
                  // unless this is a standalone document (info discarded)
                  break;
              case ENTITY_INTERNAL:
                  if (inLiteral) {
                      pushString(name, getEntityValue(name));
                  } else {
                      pushString(name, ' ' + getEntityValue(name) + ' ');
                  }
                  break;
              case ENTITY_TEXT:
                  if (!inLiteral) {
                      pushString(null, " ");
                  }
                  pushURL(true, name, getEntityIds(name), null, null, null, true);
                  if (!inLiteral) {
                      pushString(null, " ");
                  }
                  break;
          }
      }
docs: Parse and expand a parameter entity reference.
  
  <pre>
  [69] PEReference ::= '%' Name ';'
  </pre>
  
  <p>
  NOTE: the '%' has already been read.