Operations codes for XPath.
Code for the descriptions of the operations codes:
[UPPER CASE] indicates a literal value,
[lower case] is a description of a value,
([length] always indicates the length of the operation,
including the operations code and the length integer.)
{UPPER CASE} indicates the given production,
{description} is the description of a new production,
(For instance, {boolean expression} means some expression
that should be resolved to a boolean.)
* means that it occurs zero or more times,
+ means that it occurs one or more times,
? means that it is optional.
returns: indicates what the production should return.
AXES_END_TYPES
public static final int AXES_END_TYPES
The end of the axes types.
AXES_START_TYPES
public static final int AXES_START_TYPES
[FROM_stepType]
[length, including predicates]
[length of just the step, without the predicates]
{node test}
{predicates}?
returns:
XBoolean
ELEMWILDCARD
public static final int ELEMWILDCARD
[ELEMWILDCARD]
Means ELEMWILDCARD ("*"), used instead
of string index in some places.
EMPTY
public static final int EMPTY
[EMPTY]
Empty slot to indicate NULL.
ENDOP
public static final int ENDOP
[ENDOP]
Some operators may like to have a terminator.
FROM_ANCESTORS
public static final int FROM_ANCESTORS
ancestor axes opcode.
FROM_ANCESTORS_OR_SELF
public static final int FROM_ANCESTORS_OR_SELF
ancestor-or-self axes opcode.
FROM_ATTRIBUTES
public static final int FROM_ATTRIBUTES
attribute axes opcode.
FROM_CHILDREN
public static final int FROM_CHILDREN
children axes opcode.
FROM_DESCENDANTS
public static final int FROM_DESCENDANTS
descendants axes opcode.
FROM_DESCENDANTS_OR_SELF
public static final int FROM_DESCENDANTS_OR_SELF
descendants-of-self axes opcode.
FROM_FOLLOWING
public static final int FROM_FOLLOWING
following axes opcode.
FROM_FOLLOWING_SIBLINGS
public static final int FROM_FOLLOWING_SIBLINGS
following-siblings axes opcode.
FROM_NAMESPACE
public static final int FROM_NAMESPACE
namespace axes opcode.
FROM_PARENT
public static final int FROM_PARENT
parent axes opcode.
FROM_PRECEDING
public static final int FROM_PRECEDING
preceding axes opcode.
FROM_PRECEDING_SIBLINGS
public static final int FROM_PRECEDING_SIBLINGS
preceding-sibling axes opcode.
FROM_ROOT
public static final int FROM_ROOT
'/' axes opcode.
FROM_SELF
public static final int FROM_SELF
self axes opcode.
MATCH_ANY_ANCESTOR
public static final int MATCH_ANY_ANCESTOR
For match patterns.
MATCH_ATTRIBUTE
public static final int MATCH_ATTRIBUTE
For match patterns.
MATCH_IMMEDIATE_ANCESTOR
public static final int MATCH_IMMEDIATE_ANCESTOR
For match patterns.
NODENAME
public static final int NODENAME
[NODENAME]
[index to ns token or EMPTY]
[index to name token]
returns:
XBoolean
NODETYPE_ANYELEMENT
public static final int NODETYPE_ANYELEMENT
[NODETYPE_ANY]
No size or arguments.
returns:
XBoolean
NODETYPE_COMMENT
public static final int NODETYPE_COMMENT
[NODETYPE_COMMENT]
No size or arguments.
Note: must not overlap function OP number!
returns:
XBoolean
NODETYPE_FUNCTEST
public static final int NODETYPE_FUNCTEST
[NODETYPE_ANY]
No size or arguments.
returns:
XBoolean
NODETYPE_NODE
public static final int NODETYPE_NODE
[NODETYPE_NODE]
No size or arguments.
Note: must not overlap function OP number!
returns:
XBoolean
NODETYPE_PI
public static final int NODETYPE_PI
[NODETYPE_PI]
[index to token]
Note: must not overlap function OP number!
returns:
XBoolean
NODETYPE_ROOT
public static final int NODETYPE_ROOT
[NODETYPE_ROOT]
No size or arguments.
returns:
XBoolean
NODETYPE_TEXT
public static final int NODETYPE_TEXT
[NODETYPE_TEXT]
No size or arguments.
Note: must not overlap function OP number!
returns:
XBoolean
OP_AND
public static final int OP_AND
[OP_AND]
[length]
{boolean expression}
{boolean expression}
returns:
XBoolean
OP_ARGUMENT
public static final int OP_ARGUMENT
[OP_ARGUMENT] (Function argument.)
[length]
{expression}
returns:
XNodeSet
XNumber
XString
XBoolean
XRTree
XObject
OP_BOOL
public static final int OP_BOOL
[OP_BOOL] (cast operation)
[length]
{expression}
returns:
XBoolean
OP_DIV
public static final int OP_DIV
[OP_DIV]
[length]
{number expression}
{number expression}
returns:
XNumber
OP_EQUALS
public static final int OP_EQUALS
[OP_EQUALS]
[length]
{expression}
{expression}
returns:
XBoolean
OP_EXTFUNCTION
public static final int OP_EXTFUNCTION
[OP_EXTFUNCTION] (Extension function.)
[length]
[index to namespace token]
[index to function name token]
{OP_ARGUMENT}
returns:
XNodeSet
XNumber
XString
XBoolean
XRTree
XObject
OP_FUNCTION
public static final int OP_FUNCTION
[OP_FUNCTION]
[length]
[FUNC_name]
{OP_ARGUMENT}
[ENDOP]
returns:
XNodeSet
XNumber
XString
XBoolean
XRTree
XObject
OP_GROUP
public static final int OP_GROUP
[OP_GROUP]
[length]
{expression}
returns:
XNodeSet
XNumber
XString
XBoolean
XRTree
XObject
OP_GT
public static final int OP_GT
[OP_GT] (greater-than)
[length]
{number expression}
{number expression}
returns:
XBoolean
OP_GTE
public static final int OP_GTE
[OP_GTE] (greater-than-or-equals)
[length]
{number expression}
{number expression}
returns:
XBoolean
OP_LITERAL
public static final int OP_LITERAL
[OP_LITERAL]
[3]
[index to token]
returns:
XString
OP_LOCATIONPATH
public static final int OP_LOCATIONPATH
[OP_LOCATIONPATH]
[length]
{FROM_stepType}
| {function}
{predicate}
[ENDOP]
(Note that element and attribute namespaces and
names can be wildcarded '*'.)
returns:
XNodeSet
OP_LOCATIONPATHPATTERN
public static final int OP_LOCATIONPATHPATTERN
[OP_LOCATIONPATHPATTERN]
[length]
{FROM_stepType}
| {function}{predicate}
[ENDOP]
returns:
XNodeSet
OP_LT
public static final int OP_LT
[OP_LT] (less-than)
[length]
{number expression}
{number expression}
returns:
XBoolean
OP_LTE
public static final int OP_LTE
[OP_LTE] (less-than-or-equals)
[length]
{number expression}
{number expression}
returns:
XBoolean
OP_MATCHPATTERN
public static final int OP_MATCHPATTERN
[OP_MATCHPATTERN]
[length]
{PathExpr}+
returns:
XNodeSet
OP_MINUS
public static final int OP_MINUS
[OP_MINUS]
[length]
{number expression}
{number expression}
returns:
XNumber
OP_MOD
public static final int OP_MOD
[OP_MOD]
[length]
{number expression}
{number expression}
returns:
XNumber
OP_MULT
public static final int OP_MULT
[OP_MULT]
[length]
{number expression}
{number expression}
returns:
XNumber
OP_NEG
public static final int OP_NEG
[OP_NEG]
[length]
{number expression}
returns:
XNumber
OP_NOTEQUALS
public static final int OP_NOTEQUALS
[OP_NOTEQUALS]
[length]
{expression}
{expression}
returns:
XBoolean
OP_NUMBER
public static final int OP_NUMBER
[OP_NUMBER] (cast operation)
[length]
{expression}
returns:
XBoolean
OP_NUMBERLIT
public static final int OP_NUMBERLIT
[OP_NUMBERLIT] (Number literal.)
[3]
[index to token]
returns:
XString
OP_OR
public static final int OP_OR
[OP_OR]
[length]
{boolean expression}
{boolean expression}
returns:
XBoolean
OP_PLUS
public static final int OP_PLUS
[OP_PLUS]
[length]
{number expression}
{number expression}
returns:
XNumber
OP_PREDICATE
public static final int OP_PREDICATE
[OP_PREDICATE]
[length]
{expression}
[ENDOP] (For safety)
returns:
XBoolean or XNumber
OP_QUO
public static final int OP_QUO
[OP_QUO]
[length]
{number expression}
{number expression}
returns:
XNumber
OP_STRING
public static final int OP_STRING
[OP_STRING] (cast operation)
[length]
{expression}
returns:
XString
OP_UNION
public static final int OP_UNION
[OP_UNION]
[length]
{PathExpr}+
returns:
XNodeSet
OP_VARIABLE
public static final int OP_VARIABLE
[OP_VARIABLE]
[4]
[index to namespace token, or EMPTY]
[index to function name token]
returns:
XString
OP_XPATH
public static final int OP_XPATH
[OP_XPATH]
[length]
{expression}
returns:
XNodeSet
XNumber
XString
XBoolean
XRTree
XObject