public String scanPseudoAttribute(boolean scanningTextDecl,XMLString value) throws IOException, JasperException {
  String name=scanName();
  if (name == null) {
    err.jspError("jsp.error.xml.pseudoAttrNameExpected");
  }
  skipSpaces();
  if (!skipChar('=')) {
    reportFatalError(scanningTextDecl ? "jsp.error.xml.eqRequiredInTextDecl" : "jsp.error.xml.eqRequiredInXMLDecl",name);
  }
  skipSpaces();
  int quote=peekChar();
  if (quote != '\'' && quote != '"') {
    reportFatalError(scanningTextDecl ? "jsp.error.xml.quoteRequiredInTextDecl" : "jsp.error.xml.quoteRequiredInXMLDecl",name);
  }
  scanChar();
  int c=scanLiteral(quote,value);
  if (c != quote) {
    fStringBuffer2.clear();
    do {
      fStringBuffer2.append(value);
      if (c != -1) {
        if (c == '&' || c == '%' || c == '<' || c == ']') {
          fStringBuffer2.append((char)scanChar());
        }
 else         if (XMLChar.isHighSurrogate(c)) {
          scanSurrogates(fStringBuffer2);
        }
 else         if (XMLChar.isInvalid(c)) {
          String key=scanningTextDecl ? "jsp.error.xml.invalidCharInTextDecl" : "jsp.error.xml.invalidCharInXMLDecl";
          reportFatalError(key,Integer.toString(c,16));
          scanChar();
        }
      }
      c=scanLiteral(quote,value);
    }
 while (c != quote);
    fStringBuffer2.append(value);
    value.setValues(fStringBuffer2);
  }
  if (!skipChar(quote)) {
    reportFatalError(scanningTextDecl ? "jsp.error.xml.closeQuoteMissingInTextDecl" : "jsp.error.xml.closeQuoteMissingInXMLDecl",name);
  }
  return name;
}

public String scanPseudoAttribute ( boolean scanningTextDecl , XMLString value ) throws IOException , JasperException { String name = scanName ( ) ; if ( name == null ) { err . jspError ( "jsp.error.xml.pseudoAttrNameExpected" ) ; } skipSpaces ( ) ; if ( ! skipChar ( '=' ) ) { reportFatalError ( scanningTextDecl ? "jsp.error.xml.eqRequiredInTextDecl" : "jsp.error.xml.eqRequiredInXMLDecl" , name ) ; } skipSpaces ( ) ; int quote = peekChar ( ) ; if ( quote != '\'' && quote != '"' ) { reportFatalError ( scanningTextDecl ? "jsp.error.xml.quoteRequiredInTextDecl" : "jsp.error.xml.quoteRequiredInXMLDecl" , name ) ; } scanChar ( ) ; int c = scanLiteral ( quote , value ) ; if ( c != quote ) { fStringBuffer2 . clear ( ) ; do { fStringBuffer2 . append ( value ) ; if ( c != - 1 ) { if ( c == '&' || c == '%' || c == '<' || c == ']' ) { fStringBuffer2 . append ( ( char ) scanChar ( ) ) ; } else if ( XMLChar . isHighSurrogate ( c ) ) { scanSurrogates ( fStringBuffer2 ) ; } else if ( XMLChar . isInvalid ( c ) ) { String key = scanningTextDecl ? "jsp.error.xml.invalidCharInTextDecl" : "jsp.error.xml.invalidCharInXMLDecl" ; reportFatalError ( key , Integer . toString ( c , 16 ) ) ; scanChar ( ) ; } } c = scanLiteral ( quote , value ) ; } while ( c != quote ) ; fStringBuffer2 . append ( value ) ; value . setValues ( fStringBuffer2 ) ; } if ( ! skipChar ( quote ) ) { reportFatalError ( scanningTextDecl ? "jsp.error.xml.closeQuoteMissingInTextDecl" : "jsp.error.xml.closeQuoteMissingInXMLDecl" , name ) ; } return name ; }
scans a pseudo attribute .
