public String scanPseudoAttribute ( boolean scanningTextDecl , XMLString value ) throws IOException , JspCoreException { String name = scanName ( ) ; if ( name == null ) { throw new JspCoreException ( "jsp.error.xml.pseudoAttrNameExpected" ) ; //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 return name ; }
Scans a pseudo attribute .