private Variable scope(Data data, Identifier id, Position line) throws TemplateException {
	String idStr = id.getUpper();

	if (idStr.equals("ARGUMENTS")) return data.factory.createVariable(Scope.SCOPE_ARGUMENTS, line, data.srcCode.getPosition());
	else if (idStr.equals("LOCAL")) return data.factory.createVariable(Scope.SCOPE_LOCAL, line, data.srcCode.getPosition());
	else if (idStr.equals("VAR")) {
	    Identifier _id = identifier(data, false, true);
	    if (_id != null) {
		comments(data);
		Variable local = data.factory.createVariable(ScopeSupport.SCOPE_VAR, line, data.srcCode.getPosition());
		if (!"LOCAL".equalsIgnoreCase(_id.getString())) local.addMember(data.factory.createDataMember(_id));
		else {
		    local.ignoredFirstMember(true);
		}
		return local;
	    }
	}
	else if (idStr.equals("VARIABLES")) return data.factory.createVariable(Scope.SCOPE_VARIABLES, line, data.srcCode.getPosition());
	else if (idStr.equals("REQUEST")) return data.factory.createVariable(Scope.SCOPE_REQUEST, line, data.srcCode.getPosition());
	else if (idStr.equals("SERVER")) return data.factory.createVariable(Scope.SCOPE_SERVER, line, data.srcCode.getPosition());

	if (data.settings.ignoreScopes) return null;

	if (idStr.equals("CGI")) return data.factory.createVariable(Scope.SCOPE_CGI, line, data.srcCode.getPosition());
	else if (idStr.equals("SESSION")) return data.factory.createVariable(Scope.SCOPE_SESSION, line, data.srcCode.getPosition());
	else if (idStr.equals("APPLICATION")) return data.factory.createVariable(Scope.SCOPE_APPLICATION, line, data.srcCode.getPosition());
	else if (idStr.equals("FORM")) return data.factory.createVariable(Scope.SCOPE_FORM, line, data.srcCode.getPosition());
	else if (idStr.equals("URL")) return data.factory.createVariable(Scope.SCOPE_URL, line, data.srcCode.getPosition());
	else if (idStr.equals("CLIENT")) return data.factory.createVariable(Scope.SCOPE_CLIENT, line, data.srcCode.getPosition());
	else if (idStr.equals("COOKIE")) return data.factory.createVariable(Scope.SCOPE_COOKIE, line, data.srcCode.getPosition());
	else if (idStr.equals("CLUSTER")) return data.factory.createVariable(Scope.SCOPE_CLUSTER, line, data.srcCode.getPosition());

	return null;
    }
private Variable scope ( Data data , Identifier id , Position line ) throws TemplateException { String idStr = id . getUpper ( ) ; if ( idStr . equals ( "ARGUMENTS" ) ) return data . factory . createVariable ( Scope . SCOPE_ARGUMENTS , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "LOCAL" ) ) return data . factory . createVariable ( Scope . SCOPE_LOCAL , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "VAR" ) ) { Identifier _id = identifier ( data , false , true ) ; if ( _id != null ) { comments ( data ) ; Variable local = data . factory . createVariable ( ScopeSupport . SCOPE_VAR , line , data . srcCode . getPosition ( ) ) ; if ( ! "LOCAL" . equalsIgnoreCase ( _id . getString ( ) ) ) local . addMember ( data . factory . createDataMember ( _id ) ) ; else { local . ignoredFirstMember ( true ) ; } return local ; } } else if ( idStr . equals ( "VARIABLES" ) ) return data . factory . createVariable ( Scope . SCOPE_VARIABLES , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "REQUEST" ) ) return data . factory . createVariable ( Scope . SCOPE_REQUEST , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "SERVER" ) ) return data . factory . createVariable ( Scope . SCOPE_SERVER , line , data . srcCode . getPosition ( ) ) ; if ( data . settings . ignoreScopes ) return null ; if ( idStr . equals ( "CGI" ) ) return data . factory . createVariable ( Scope . SCOPE_CGI , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "SESSION" ) ) return data . factory . createVariable ( Scope . SCOPE_SESSION , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "APPLICATION" ) ) return data . factory . createVariable ( Scope . SCOPE_APPLICATION , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "FORM" ) ) return data . factory . createVariable ( Scope . SCOPE_FORM , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "URL" ) ) return data . factory . createVariable ( Scope . SCOPE_URL , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "CLIENT" ) ) return data . factory . createVariable ( Scope . SCOPE_CLIENT , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "COOKIE" ) ) return data . factory . createVariable ( Scope . SCOPE_COOKIE , line , data . srcCode . getPosition ( ) ) ; else if ( idStr . equals ( "CLUSTER" ) ) return data . factory . createVariable ( Scope . SCOPE_CLUSTER , line , data . srcCode . getPosition ( ) ) ; return null ; }
Liest einen CFML Scope aus, falls der folgende identifier keinem Scope entspricht, gibt die
Variable null zurueck. <br />
EBNF:<br />
<code>"variable" | "cgi" | "url" | "form" | "session" | "application" | "arguments" | "cookie" | " client";</code>

@param id String identifier, wird aus Optimierungszwechen nicht innerhalb dieser Funktion
ausgelsen.
@return CFXD Variable Element oder null
@throws TemplateException