Package net.sf.saxon.expr.parser
Class Token
java.lang.Object
net.sf.saxon.expr.parser.Token
This class holds static constants and methods defining the lexical tokens used in
XPath and XQuery, and associated keywords.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
"after"static final int
Operator "and"static final int
"andAlso" (Saxon extension)static final int
"as" (in XQuery Update rename expression)static final int
":=" symbol (XQuery only)static final int
At token, "@"static final int
composite token <'attribute' QNAME> (XQuery only)static final int
Token representing the name of an axis and the following "::" symbolstatic final int
Backtick (introducing a 4.0 string template)static final int
Operator "!"static final int
static final int
"before"static final int
static final int
Keyword "case"static final int
operator "cast as"static final int
operator "castable as"static final int
":" (XPath 3.0 maps)static final int
"::" symbolstatic final int
":*" symbolstatic final int
Comma tokenstatic final int
Operator "||"static final int
"copy" keywordstatic final int
"count" keywordstatic final int
declare %static final int
"declare base-uri"static final int
"declare boundary-space"static final int
"declare construction"static final int
"declare context"static final int
"declare copy-namespaces"static final int
"declare decimal-format"static final int
"declare default"static final int
"declare fixed"static final int
"declare function"static final int
Saxon extension: declare typestatic final int
"declare namespace"static final int
"declare option"static final int
"declare xmlspace"static final int
"declare revalidation"static final int
"declare updating [function]"static final int
"declare variable"static final int
Keyword "default"static final int
"delete node/nodes"static final int
Operator "div"static final int
"$" symbolstatic final int
"." symbolstatic final int
".." symbolLookup table for composite (two-keyword) tokensstatic final int
composite token <'element' QNAME> (XQuery only)static final int
Keyword "else"static final int
Pseudo-token representing the end of the expressionstatic final int
Equals token ("=")static final int
Keyword "every"static final int
Operator "except"static final int
Arrow operator "=>" (XQuery 3.1)static final int
operator "eq"static final int
operator "ge"static final int
operator "gt"static final int
"first into"static final int
opeartor "le"static final int
operator "lt"static final int
operator "ne"static final int
Operator ">>"static final int
"for" keywordstatic final int
"for member" (XQuery 4.0)static final int
"for sliding" (XQuery 3.0)static final int
"for tumbling" (XQuery 3.0)static final int
Token representing the name of a function and the following "(" symbolstatic final int
Operator ">="static final int
static final int
Operator ">"static final int
# symbolstatic final int
static final int
operator "idiv"static final int
Keyword "if"static final int
Pseudo-token representing implicit end of expression (the parser doesn't care what follows the expression)static final int
"import module"static final int
"import schema"static final int
Keyword "in"static final int
"insert node/nodes"static final int
operator "instance of"static final int
Operator "intersect"static final int
"into"static final int
Operator "is"static final int
composite token: <keyword "{"> (XQuery only)static final int
`name(` for a reserved function name, e.g.static final int
"last into"static final int
Constant identifying the token number of the last token to be classified as an operatorstatic final int
"{" symbol (XQuery only)static final int
Operator "<="static final int
"let" keyword (XQuery only)static final int
Left parenthesisstatic final int
Left square bracketstatic final int
Operator "<"static final int
Arrow operator "=>" (XQuery 3.1)static final int
Mathematical divide operator "÷"static final int
Mathematical multiply operator "×"static final int
Binary minus operatorstatic final int
Operator "mod"static final int
Keyword "modify"static final int
"module namespace"static final int
Multiply operator, "*" when used in an operator contextstatic final int
Name token (a QName, in general)static final int
Token representing a function name and the following "#" symbolstatic final int
composite token <'namespace' QNAME> (XQuery only)static final int
Operator not-equals.static final int
Unary minus signstatic final int
Numeric literalstatic final int
Operator "or"static final int
"orElse" (Saxon extension)static final int
"otherwise" (Saxon extension)static final int
percent sign '%'static final int
composite token <'pi' QNAME> (XQuery only)static final int
Operator "+"static final int
A token representing an XQuery pragma.static final int
Operator "<<"static final int
"prefix:*" tokenstatic final int
Question mark symbol.static final int
operator "??"static final int
"}" symbol (XQuery only)static final int
"rename node"static final int
"replace node/nodes"static final int
"replace value"static final int
Keyword "return"static final int
Right parenthesisstatic final int
Right square bracketstatic final int
Keyword "satisfies"static final int
semicolon separatorstatic final int
Forwards "/"static final int
Double forwards slash, "//"static final int
Keyword "some"static final int
"*" symbol when used as a wildcardstatic final int
First part of a string template.static final int
String literalstatic final int
Complete string constructor with no embedded expressionsstatic final int
"*:" tokenstatic final int
Keyword "switch" (XQuery 1.1)static final int
static final int
"<" at the start of a tag (XQuery only).static final int
Ketword "then"static final int
Thin arrow operator "->" (XQuery 4.0)static final int
Operator "to"static final String[]
The following strings are used to represent tokens in error messagesstatic final int
operator "treat as"static final int
Keyword "typeswitch"static final int
"union" or "|" tokenstatic final int
Pseudo-token representing the start of the expressionstatic final int
Various compound symbols supporting XQuery validation expressionstatic final int
static final int
static final int
static final int
Keyword "where"static final int
Keyword "while"static final int
"with"static final int
"xquery encoding"static final int
"xquery version" -
Method Summary
Modifier and TypeMethodDescriptionstatic int
inverse
(int operator) Return the inverse of a relational operator, so that "a op b" can be rewritten as "b inverse(op) a"static boolean
isOrderedOperator
(int operator) static int
negate
(int operator) Return the negation of a relational operator, so that "a op b" can be rewritten as not(b op' a)
-
Field Details
-
IMPLICIT_EOF
public static final int IMPLICIT_EOFPseudo-token representing implicit end of expression (the parser doesn't care what follows the expression)- See Also:
-
EOF
public static final int EOFPseudo-token representing the end of the expression- See Also:
-
UNION
public static final int UNION"union" or "|" token- See Also:
-
SLASH
public static final int SLASHForwards "/"- See Also:
-
AT
public static final int ATAt token, "@"- See Also:
-
LSQB
public static final int LSQBLeft square bracket- See Also:
-
LPAR
public static final int LPARLeft parenthesis- See Also:
-
EQUALS
public static final int EQUALSEquals token ("=")- See Also:
-
COMMA
public static final int COMMAComma token- See Also:
-
SLASH_SLASH
public static final int SLASH_SLASHDouble forwards slash, "//"- See Also:
-
OR
public static final int OROperator "or"- See Also:
-
AND
public static final int ANDOperator "and"- See Also:
-
GT
public static final int GTOperator ">"- See Also:
-
LT
public static final int LTOperator "<"- See Also:
-
GE
public static final int GEOperator ">="- See Also:
-
LE
public static final int LEOperator "<="- See Also:
-
PLUS
public static final int PLUSOperator "+"- See Also:
-
MINUS
public static final int MINUSBinary minus operator- See Also:
-
MULT
public static final int MULTMultiply operator, "*" when used in an operator context- See Also:
-
DIV
public static final int DIVOperator "div"- See Also:
-
MOD
public static final int MODOperator "mod"- See Also:
-
IS
public static final int ISOperator "is"- See Also:
-
DOLLAR
public static final int DOLLAR"$" symbol- See Also:
-
NE
public static final int NEOperator not-equals. That is, "!="- See Also:
-
INTERSECT
public static final int INTERSECTOperator "intersect"- See Also:
-
EXCEPT
public static final int EXCEPTOperator "except"- See Also:
-
RETURN
public static final int RETURNKeyword "return"- See Also:
-
THEN
public static final int THENKetword "then"- See Also:
-
ELSE
public static final int ELSEKeyword "else"- See Also:
-
WHERE
public static final int WHEREKeyword "where"- See Also:
-
TO
public static final int TOOperator "to"- See Also:
-
CONCAT
public static final int CONCATOperator "||"- See Also:
-
IN
public static final int INKeyword "in"- See Also:
-
SOME
public static final int SOMEKeyword "some"- See Also:
-
EVERY
public static final int EVERYKeyword "every"- See Also:
-
SATISFIES
public static final int SATISFIESKeyword "satisfies"- See Also:
-
FUNCTION
public static final int FUNCTIONToken representing the name of a function and the following "(" symbol- See Also:
-
AXIS
public static final int AXISToken representing the name of an axis and the following "::" symbol- See Also:
-
IF
public static final int IFKeyword "if"- See Also:
-
PRECEDES
public static final int PRECEDESOperator "<<"- See Also:
-
FOLLOWS
public static final int FOLLOWSOperator ">>"- See Also:
-
BANG
public static final int BANGOperator "!"- See Also:
-
COLONCOLON
public static final int COLONCOLON"::" symbol- See Also:
-
COLONSTAR
public static final int COLONSTAR":*" symbol- See Also:
-
NAMED_FUNCTION_REF
public static final int NAMED_FUNCTION_REFToken representing a function name and the following "#" symbol- See Also:
-
HASH
public static final int HASH# symbol- See Also:
-
INSTANCE_OF
public static final int INSTANCE_OFoperator "instance of"- See Also:
-
CAST_AS
public static final int CAST_ASoperator "cast as"- See Also:
-
TREAT_AS
public static final int TREAT_ASoperator "treat as"- See Also:
-
QMARK_QMARK
public static final int QMARK_QMARKoperator "??"- See Also:
-
BANG_BANG
public static final int BANG_BANG- See Also:
-
FEQ
public static final int FEQoperator "eq"- See Also:
-
FNE
public static final int FNEoperator "ne"- See Also:
-
FGT
public static final int FGToperator "gt"- See Also:
-
FLT
public static final int FLToperator "lt"- See Also:
-
FGE
public static final int FGEoperator "ge"- See Also:
-
FLE
public static final int FLEopeartor "le"- See Also:
-
IDIV
public static final int IDIVoperator "idiv"- See Also:
-
CASTABLE_AS
public static final int CASTABLE_ASoperator "castable as"- See Also:
-
ASSIGN
public static final int ASSIGN":=" symbol (XQuery only)- See Also:
-
LCURLY
public static final int LCURLY"{" symbol (XQuery only)- See Also:
-
KEYWORD_CURLY
public static final int KEYWORD_CURLYcomposite token: <keyword "{"> (XQuery only)- See Also:
-
ELEMENT_QNAME
public static final int ELEMENT_QNAMEcomposite token <'element' QNAME> (XQuery only)- See Also:
-
ATTRIBUTE_QNAME
public static final int ATTRIBUTE_QNAMEcomposite token <'attribute' QNAME> (XQuery only)- See Also:
-
PI_QNAME
public static final int PI_QNAMEcomposite token <'pi' QNAME> (XQuery only)- See Also:
-
NAMESPACE_QNAME
public static final int NAMESPACE_QNAMEcomposite token <'namespace' QNAME> (XQuery only)- See Also:
-
TYPESWITCH
public static final int TYPESWITCHKeyword "typeswitch"- See Also:
-
SWITCH
public static final int SWITCHKeyword "switch" (XQuery 1.1)- See Also:
-
CASE
public static final int CASEKeyword "case"- See Also:
-
MODIFY
public static final int MODIFYKeyword "modify"- See Also:
-
KEYWORD_LBRA
public static final int KEYWORD_LBRA`name(` for a reserved function name, e.g. "node(" or "comment(" or "function(" or "union("- See Also:
-
SUFFIX
public static final int SUFFIX"*:" token- See Also:
-
AS
public static final int AS"as" (in XQuery Update rename expression)- See Also:
-
GROUP_BY
public static final int GROUP_BY- See Also:
-
FOR_TUMBLING
public static final int FOR_TUMBLING"for tumbling" (XQuery 3.0)- See Also:
-
FOR_SLIDING
public static final int FOR_SLIDING"for sliding" (XQuery 3.0)- See Also:
-
FOR_MEMBER
public static final int FOR_MEMBER"for member" (XQuery 4.0)- See Also:
-
COLON
public static final int COLON":" (XPath 3.0 maps)- See Also:
-
FAT_ARROW
public static final int FAT_ARROWArrow operator "=>" (XQuery 3.1)- See Also:
-
STRING_CONSTRUCTOR_INITIAL
public static final int STRING_CONSTRUCTOR_INITIALFirst part of a string template. Token value includes all the text from ``[ up to the first `{- See Also:
-
OTHERWISE
public static final int OTHERWISE"otherwise" (Saxon extension)- See Also:
-
AND_ALSO
public static final int AND_ALSO"andAlso" (Saxon extension)- See Also:
-
OR_ELSE
public static final int OR_ELSE"orElse" (Saxon extension)- See Also:
-
WHILE
public static final int WHILEKeyword "while"- See Also:
-
THIN_ARROW
public static final int THIN_ARROWThin arrow operator "->" (XQuery 4.0)- See Also:
-
MATH_MULT
public static final int MATH_MULTMathematical multiply operator "×"- See Also:
-
MATH_DIVIDE
public static final int MATH_DIVIDEMathematical divide operator "÷"- See Also:
-
MAPPING_ARROW
public static final int MAPPING_ARROWArrow operator "=>" (XQuery 3.1)- See Also:
-
XQUERY_VERSION
public static final int XQUERY_VERSION"xquery version"- See Also:
-
XQUERY_ENCODING
public static final int XQUERY_ENCODING"xquery encoding"- See Also:
-
DECLARE_NAMESPACE
public static final int DECLARE_NAMESPACE"declare namespace"- See Also:
-
DECLARE_DEFAULT
public static final int DECLARE_DEFAULT"declare default"- See Also:
-
DECLARE_FIXED
public static final int DECLARE_FIXED"declare fixed"- See Also:
-
DECLARE_CONSTRUCTION
public static final int DECLARE_CONSTRUCTION"declare construction"- See Also:
-
DECLARE_BASEURI
public static final int DECLARE_BASEURI"declare base-uri"- See Also:
-
DECLARE_BOUNDARY_SPACE
public static final int DECLARE_BOUNDARY_SPACE"declare boundary-space"- See Also:
-
DECLARE_DECIMAL_FORMAT
public static final int DECLARE_DECIMAL_FORMAT"declare decimal-format"- See Also:
-
IMPORT_SCHEMA
public static final int IMPORT_SCHEMA"import schema"- See Also:
-
IMPORT_MODULE
public static final int IMPORT_MODULE"import module"- See Also:
-
DECLARE_VARIABLE
public static final int DECLARE_VARIABLE"declare variable"- See Also:
-
DECLARE_CONTEXT
public static final int DECLARE_CONTEXT"declare context"- See Also:
-
DECLARE_FUNCTION
public static final int DECLARE_FUNCTION"declare function"- See Also:
-
MODULE_NAMESPACE
public static final int MODULE_NAMESPACE"module namespace"- See Also:
-
VALIDATE
public static final int VALIDATEVarious compound symbols supporting XQuery validation expression- See Also:
-
VALIDATE_STRICT
public static final int VALIDATE_STRICT- See Also:
-
VALIDATE_LAX
public static final int VALIDATE_LAX- See Also:
-
VALIDATE_TYPE
public static final int VALIDATE_TYPE- See Also:
-
PERCENT
public static final int PERCENTpercent sign '%'- See Also:
-
DECLARE_ORDERING
public static final int DECLARE_ORDERING"declare xmlspace"- See Also:
-
DECLARE_COPY_NAMESPACES
public static final int DECLARE_COPY_NAMESPACES"declare copy-namespaces"- See Also:
-
DECLARE_OPTION
public static final int DECLARE_OPTION"declare option"- See Also:
-
DECLARE_REVALIDATION
public static final int DECLARE_REVALIDATION"declare revalidation"- See Also:
-
INSERT_NODE
public static final int INSERT_NODE"insert node/nodes"- See Also:
-
DELETE_NODE
public static final int DELETE_NODE"delete node/nodes"- See Also:
-
REPLACE_NODE
public static final int REPLACE_NODE"replace node/nodes"- See Also:
-
REPLACE_VALUE
public static final int REPLACE_VALUE"replace value"- See Also:
-
RENAME_NODE
public static final int RENAME_NODE"rename node"- See Also:
-
FIRST_INTO
public static final int FIRST_INTO"first into"- See Also:
-
LAST_INTO
public static final int LAST_INTO"last into"- See Also:
-
AFTER
public static final int AFTER"after"- See Also:
-
BEFORE
public static final int BEFORE"before"- See Also:
-
INTO
public static final int INTO"into"- See Also:
-
WITH
public static final int WITH"with"- See Also:
-
DECLARE_UPDATING
public static final int DECLARE_UPDATING"declare updating [function]"- See Also:
-
DECLARE_ANNOTATED
public static final int DECLARE_ANNOTATEDdeclare %- See Also:
-
DECLARE_ITEM_TYPE
public static final int DECLARE_ITEM_TYPESaxon extension: declare type- See Also:
-
SWITCH_CASE
public static final int SWITCH_CASE- See Also:
-
SEMICOLON
public static final int SEMICOLONsemicolon separator- See Also:
-
LAST_OPERATOR
public static final int LAST_OPERATORConstant identifying the token number of the last token to be classified as an operator- See Also:
-
NAME
public static final int NAMEName token (a QName, in general)- See Also:
-
STRING_LITERAL
public static final int STRING_LITERALString literal- See Also:
-
RSQB
public static final int RSQBRight square bracket- See Also:
-
RPAR
public static final int RPARRight parenthesis- See Also:
-
DOT
public static final int DOT"." symbol- See Also:
-
DOTDOT
public static final int DOTDOT".." symbol- See Also:
-
STAR
public static final int STAR"*" symbol when used as a wildcard- See Also:
-
PREFIX
public static final int PREFIX"prefix:*" token- See Also:
-
NUMBER
public static final int NUMBERNumeric literal- See Also:
-
FOR
public static final int FOR"for" keyword- See Also:
-
DEFAULT
public static final int DEFAULTKeyword "default"- See Also:
-
QMARK
public static final int QMARKQuestion mark symbol. That is, "?"- See Also:
-
RCURLY
public static final int RCURLY"}" symbol (XQuery only)- See Also:
-
LET
public static final int LET"let" keyword (XQuery only)- See Also:
-
TAG
public static final int TAG"<" at the start of a tag (XQuery only). The pseudo-XML syntax that follows is read character-by-character by the XQuery parser- See Also:
-
PRAGMA
public static final int PRAGMAA token representing an XQuery pragma. This construct "(# .... #)" is regarded as a single token, for the QueryParser to sort out.- See Also:
-
COPY
public static final int COPY"copy" keyword- See Also:
-
COUNT
public static final int COUNT"count" keyword- See Also:
-
STRING_LITERAL_BACKTICKED
public static final int STRING_LITERAL_BACKTICKEDComplete string constructor with no embedded expressions- See Also:
-
BACKTICK
public static final int BACKTICKBacktick (introducing a 4.0 string template)- See Also:
-
HEX_INTEGER
public static final int HEX_INTEGER- See Also:
-
BINARY_INTEGER
public static final int BINARY_INTEGER- See Also:
-
NEGATE
public static final int NEGATEUnary minus sign- See Also:
-
tokens
The following strings are used to represent tokens in error messages -
doubleKeywords
Lookup table for composite (two-keyword) tokens -
UNKNOWN
public static final int UNKNOWNPseudo-token representing the start of the expression- See Also:
-
-
Method Details
-
inverse
public static int inverse(int operator) Return the inverse of a relational operator, so that "a op b" can be rewritten as "b inverse(op) a"- Parameters:
operator
- the operator whose inverse is required- Returns:
- the inverse operator
-
negate
public static int negate(int operator) Return the negation of a relational operator, so that "a op b" can be rewritten as not(b op' a)- Parameters:
operator
- the operator to be negated- Returns:
- the negated operator
-
isOrderedOperator
public static boolean isOrderedOperator(int operator)
-