private String parseName() throws JasperException {
  char ch=(char)reader.peekChar();
  if (Character.isLetter(ch) || ch == '_' || ch == ':') {
    StringBuilder buf=new StringBuilder();
    buf.append(ch);
    reader.nextChar();
    ch=(char)reader.peekChar();
    while (Character.isLetter(ch) || Character.isDigit(ch) || ch == '.' || ch == '_' || ch == '-' || ch == ':') {
      buf.append(ch);
      reader.nextChar();
      ch=(char)reader.peekChar();
    }
    return buf.toString();
  }
  return null;
}

private String parseName ( ) throws JasperException { char ch = ( char ) reader . peekChar ( ) ; if ( Character . isLetter ( ch ) || ch == '_' || ch == ':' ) { StringBuilder buf = new StringBuilder ( ) ; buf . append ( ch ) ; reader . nextChar ( ) ; ch = ( char ) reader . peekChar ( ) ; while ( Character . isLetter ( ch ) || Character . isDigit ( ch ) || ch == '.' || ch == '_' || ch == '-' || ch == ':' ) { buf . append ( ch ) ; reader . nextChar ( ) ; ch = ( char ) reader . peekChar ( ) ; } return buf . toString ( ) ; } return null ; }
name : : = ( letter | ' _ ' | ' : ' ) ( letter | digit | ' . ' | ' _ ' | ' - ' | ' : ' )
