switch ( LA(1)) { case LITERAL_doctype: case LITERAL_document: case LITERAL_collection: case LITERAL_xcollection: { document_function(exprIn); or_expr(exprIn); if ( inputState.guessing==0 ) {
or_expr(exprIn); if ( inputState.guessing==0 ) {  if(includeDocs != null) exprIn.setDocumentSet(includeDocs);
	public final void xpath_expr(		PathExpr exprIn	) throws RecognitionException, TokenStreamException, PermissionDeniedException,EXistException {							PathExpr expr = new PathExpr(pool);						try {      // for error handling			switch ( LA(1)) {			case LITERAL_doctype:			case LITERAL_document:			case LITERAL_collection:			case LITERAL_xcollection:			{				document_function(exprIn);				or_expr(exprIn);				if ( inputState.guessing==0 ) {										exprIn.setDocumentSet(includeDocs);									}				break;			}			case LPAREN:			case NCNAME:			case CONST:			case STAR:			case INT:			case LITERAL_text:			case 29:			case 30:			case LITERAL_contains:			case LITERAL_match:			case LITERAL_near:			case SLASH:			case DSLASH:			case AT:			case ATTRIB_STAR:			case LITERAL_node:			case PARENT:			case SELF:			case LITERAL_descendant:			case 43:			case LITERAL_child:			case LITERAL_parent:			case LITERAL_self:			case LITERAL_attribute:			case LITERAL_ancestor:			case 49:			case 50:			case 51:			{				or_expr(exprIn);				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}		}		catch (RecognitionException ex) {			if (inputState.guessing==0) {										handleException(ex);								} else {				throw ex;			}		}		catch (PermissionDeniedException e) {			if (inputState.guessing==0) {								handleException(e);							} else {				throw e;			}		}	}