|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.sf.saxon.expr.ExpressionParser | +--net.sf.saxon.query.QueryParser
This class defines extensions to the XPath parser to handle the additional syntax supported in XQuery
Nested Class Summary |
Nested classes inherited from class net.sf.saxon.expr.ExpressionParser |
ExpressionParser.ForClause |
Field Summary |
Fields inherited from class net.sf.saxon.expr.ExpressionParser |
env, numberOfRangeVariables, rangeVariables, scanOnly, t |
Constructor Summary | |
QueryParser()
|
Method Summary | |
Executable |
getExecutable()
Get the executable containing this expression. |
protected java.lang.String |
getLanguage()
Get the current language (XPath or XQuery) |
protected void |
grumble(java.lang.String message)
Report a parsing error |
protected StringValue |
makeStringLiteral(java.lang.String token)
Method to make a string literal from a token identified as a string literal. |
XQueryExpression |
makeXQueryExpression(java.lang.String query,
StaticQueryContext staticContext,
Configuration config)
Create an XQueryExpression |
protected Expression |
parseConstructor()
Parse a node constructor. |
protected Expression |
parseForExpression()
Parse a FLWOR expression. |
void |
parseLibraryModule(java.lang.String queryString,
StaticQueryContext env,
int firstSlot)
Parse a library module. |
Expression |
parseQuery(java.lang.String queryString,
int start,
int terminator,
StaticQueryContext env)
Parse a top-level Query. |
protected Expression |
parseTypeswitchExpression()
Parse a Typeswitch Expression. |
protected Expression |
parseValidateExpression()
Parse a Validate Expression. |
ValidationContext |
parseValidationContext()
Parse a validation context. |
void |
setExecutable(Executable exec)
Set the executable used for this query expression |
protected void |
setLocation(Expression exp,
int line,
Executable executable)
Set location information on an expression. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public QueryParser()
Method Detail |
public XQueryExpression makeXQueryExpression(java.lang.String query, StaticQueryContext staticContext, Configuration config) throws XPathException
XPathException
public final Expression parseQuery(java.lang.String queryString, int start, int terminator, StaticQueryContext env) throws XPathException
queryString
- The text of the querystart
- Offset of the start of the queryterminator
- Token expected to follow the query (usually Tokenizer.EOF)env
- The static context
XPathException
- if the expression contains a syntax errorpublic final void parseLibraryModule(java.lang.String queryString, StaticQueryContext env, int firstSlot) throws XPathException.Static
queryString
- The text of the library module.env
- The static context. The result of parsing
a library module is that the static context is populated with a set of function
declarations and variable declarations. Each library module must have its own
static context objext.firstSlot
- The integer position of the first slot to be allocated to global variables
declared in this module
XPathException.Static
- if the expression contains a syntax errorprotected void grumble(java.lang.String message) throws XPathException.Static
grumble
in class ExpressionParser
message
- the error message
XPathException.Static
- always thrown: an exception containing the
supplied messageprotected void setLocation(Expression exp, int line, Executable executable)
setLocation
in class ExpressionParser
public Executable getExecutable()
getExecutable
in class ExpressionParser
public void setExecutable(Executable exec)
protected Expression parseForExpression() throws XPathException.Static
[41] FLWORExpr ::= (ForClause | LetClause)+ WhereClause? OrderByClause? "return" ExprSingle [42] ForClause ::= <"for" "$"> VarName TypeDeclaration? PositionalVar? "in" ExprSingle ("," "$" VarName TypeDeclaration? PositionalVar? "in" ExprSingle)* [43] PositionalVar ::= "at" "$" VarName [44] LetClause ::= <"let" "$"> VarName TypeDeclaration? ":=" ExprSingle ("," "$" VarName TypeDeclaration? ":=" ExprSingle)* [45] WhereClause ::= "where" Expr [46] OrderByClause ::= (<"order" "by"> | <"stable" "order" "by">) OrderSpecList [47] OrderSpecList ::= OrderSpec ("," OrderSpec)* [48] OrderSpec ::= ExprSingle OrderModifier [49] OrderModifier ::= ("ascending" | "descending")? (<"empty" "greatest"> | <"empty" "least">)? ("collation" StringLiteral)?
parseForExpression
in class ExpressionParser
XPathException.Static
- if any error is encounteredprotected Expression parseTypeswitchExpression() throws XPathException.Static
parseTypeswitchExpression
in class ExpressionParser
XPathException.Static
protected Expression parseValidateExpression() throws XPathException.Static
parseValidateExpression
in class ExpressionParser
XPathException.Static
public ValidationContext parseValidationContext() throws XPathException.Static
XPathException.Static
protected Expression parseConstructor() throws XPathException.Static
parseConstructor
in class ExpressionParser
XPathException.Static
- in the event of a syntax error.protected StringValue makeStringLiteral(java.lang.String token) throws XPathException.Static
makeStringLiteral
in class ExpressionParser
token
-
XPathException.Static
protected java.lang.String getLanguage()
getLanguage
in class ExpressionParser
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |