bundles/org.apache.jasper.glassfish/src/org/apache/jasper/compiler/Parser.java
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;
    }
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 | '.' | '_' | '-' | ':')*
Name :: = ( Letter | _ | : ) ( Letter | Digit | . | _ | - | : ) *