Expression condition = parseExprSingle(); WhereClause clause = new WhereClause(flwor, condition); clause.setRepeated(containsLoopingClause(clauseList)); clauseList.add(clause); foundWhere = true; clause.setRepeated(containsLoopingClause(clauseList)); clauseList.add(clause); } else {
GroupByClause clause = new GroupByClause(env.getConfiguration()); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); List<StructuredQName> variableNames = new ArrayList<>(); List<String> collations = new ArrayList<>();
GroupByClause clause = new GroupByClause(env.getConfiguration()); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); List<StructuredQName> variableNames = new ArrayList<>(); List<String> collations = new ArrayList<>();
Expression condition = parseExprSingle(); WhereClause clause = new WhereClause(flwor, condition); clause.setRepeated(containsLoopingClause(clauseList)); clauseList.add(clause); foundWhere = true; clause.setRepeated(containsLoopingClause(clauseList)); clauseList.add(clause); } else {
/** * Parse a CountClause. * <p> * [44] CountClause ::= <"count" "$"> VarName * </p> * * @param clauseList - the components of the parsed CountClause are appended to the * supplied list * @throws XPathException in the event of a syntax error */ private void parseCountClause(List<Clause> clauseList) throws XPathException { do { CountClause clause = new CountClause(); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); clauseList.add(clause); nextToken(); expect(Token.DOLLAR); nextToken(); expect(Token.NAME); String var = t.currentTokenValue; StructuredQName varQName = makeStructuredQName(var, ""); SequenceType type = SequenceType.ANY_SEQUENCE; nextToken(); LocalVariableBinding v = new LocalVariableBinding(varQName, type); clause.setRangeVariable(v); declareRangeVariable(v); } while (t.currentToken == Token.COMMA); }
/** * Parse a CountClause. * <p> * [44] CountClause ::= <"count" "$"> VarName * </p> * * @param clauseList - the components of the parsed CountClause are appended to the * supplied list * @throws XPathException in the event of a syntax error */ private void parseCountClause(List<Clause> clauseList) throws XPathException { do { CountClause clause = new CountClause(); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); clauseList.add(clause); nextToken(); expect(Token.DOLLAR); nextToken(); expect(Token.NAME); String var = t.currentTokenValue; StructuredQName varQName = makeStructuredQName(var, ""); SequenceType type = SequenceType.ANY_SEQUENCE; nextToken(); LocalVariableBinding v = new LocalVariableBinding(varQName, type); clause.setRangeVariable(v); declareRangeVariable(v); } while (t.currentToken == Token.COMMA); }
LetClause clause = new LetClause(); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); if (first) {
LetClause clause = new LetClause(); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); if (first) {
do { ForClause clause = new ForClause(); clause.setRepeated(!first || containsLoopingClause(clauseList)); setLocation(clause, t.currentTokenStartOffset); if (first) {
do { ForClause clause = new ForClause(); clause.setRepeated(!first || containsLoopingClause(clauseList)); setLocation(clause, t.currentTokenStartOffset); if (first) {
WindowClause clause = new WindowClause(); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); clause.setIsSlidingWindow(t.currentToken == Token.FOR_SLIDING); nextToken();
WindowClause clause = new WindowClause(); setLocation(clause, t.currentTokenStartOffset); clause.setRepeated(containsLoopingClause(clauseList)); clause.setIsSlidingWindow(t.currentToken == Token.FOR_SLIDING); nextToken();