public String scanPseudoAttribute(boolean scanningTextDecl,XMLString value) throws IOException, XNIException {
  String name=fEntityScanner.scanName();
  XMLEntityManager.print(fEntityManager.getCurrentEntity());
  if (name == null) {
    reportFatalError("PseudoAttrNameExpected",null);
  }
  fEntityScanner.skipDeclSpaces();
  if (!fEntityScanner.skipChar('=')) {
    reportFatalError(scanningTextDecl ? "EqRequiredInTextDecl" : "EqRequiredInXMLDecl",new Object[]{name});
  }
  fEntityScanner.skipDeclSpaces();
  int quote=fEntityScanner.peekChar();
  if (quote != '\'' && quote != '"') {
    reportFatalError(scanningTextDecl ? "QuoteRequiredInTextDecl" : "QuoteRequiredInXMLDecl",new Object[]{name});
  }
  fEntityScanner.scanChar();
  int c=fEntityScanner.scanLiteral(quote,value);
  if (c != quote) {
    fStringBuffer2.clear();
    do {
      fStringBuffer2.append(value);
      if (c != -1) {
        if (c == '&' || c == '%' || c == '<' || c == ']') {
          fStringBuffer2.append((char)fEntityScanner.scanChar());
        }
 else         if (XMLChar.isHighSurrogate(c)) {
          scanSurrogates(fStringBuffer2);
        }
 else         if (isInvalidLiteral(c)) {
          String key=scanningTextDecl ? "InvalidCharInTextDecl" : "InvalidCharInXMLDecl";
          reportFatalError(key,new Object[]{Integer.toString(c,16)});
          fEntityScanner.scanChar();
        }
      }
      c=fEntityScanner.scanLiteral(quote,value);
    }
 while (c != quote);
    fStringBuffer2.append(value);
    value.setValues(fStringBuffer2);
  }
  if (!fEntityScanner.skipChar(quote)) {
    reportFatalError(scanningTextDecl ? "CloseQuoteMissingInTextDecl" : "CloseQuoteMissingInXMLDecl",new Object[]{name});
  }
  return name;
}

public String scanPseudoAttribute ( boolean scanningTextDecl , XMLString value ) throws IOException , XNIException { String name = fEntityScanner . scanName ( ) ; XMLEntityManager . print ( fEntityManager . getCurrentEntity ( ) ) ; if ( name == null ) { reportFatalError ( "PseudoAttrNameExpected" , null ) ; } fEntityScanner . skipDeclSpaces ( ) ; if ( ! fEntityScanner . skipChar ( '=' ) ) { reportFatalError ( scanningTextDecl ? "EqRequiredInTextDecl" : "EqRequiredInXMLDecl" , new Object [ ] { name } ) ; } fEntityScanner . skipDeclSpaces ( ) ; int quote = fEntityScanner . peekChar ( ) ; if ( quote != '\'' && quote != '"' ) { reportFatalError ( scanningTextDecl ? "QuoteRequiredInTextDecl" : "QuoteRequiredInXMLDecl" , new Object [ ] { name } ) ; } fEntityScanner . scanChar ( ) ; int c = fEntityScanner . scanLiteral ( quote , value ) ; if ( c != quote ) { fStringBuffer2 . clear ( ) ; do { fStringBuffer2 . append ( value ) ; if ( c != - 1 ) { if ( c == '&' || c == '%' || c == '<' || c == ']' ) { fStringBuffer2 . append ( ( char ) fEntityScanner . scanChar ( ) ) ; } else if ( XMLChar . isHighSurrogate ( c ) ) { scanSurrogates ( fStringBuffer2 ) ; } else if ( isInvalidLiteral ( c ) ) { String key = scanningTextDecl ? "InvalidCharInTextDecl" : "InvalidCharInXMLDecl" ; reportFatalError ( key , new Object [ ] { Integer . toString ( c , 16 ) } ) ; fEntityScanner . scanChar ( ) ; } } c = fEntityScanner . scanLiteral ( quote , value ) ; } while ( c != quote ) ; fStringBuffer2 . append ( value ) ; value . setValues ( fStringBuffer2 ) ; } if ( ! fEntityScanner . skipChar ( quote ) ) { reportFatalError ( scanningTextDecl ? "CloseQuoteMissingInTextDecl" : "CloseQuoteMissingInXMLDecl" , new Object [ ] { name } ) ; } return name ; }
scans a pseudo attribute .
