org.apache.xpath.compiler
Class OpCodes

java.lang.Object
  |
  +--org.apache.xpath.compiler.OpCodes

public class OpCodes
extends java.lang.Object

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.


Field Summary
static int AXES_END_TYPES
          The end of the axes types.
static int AXES_START_TYPES
          [FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}? returns: XBoolean
static int ELEMWILDCARD
          [ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.
static int EMPTY
          [EMPTY] Empty slot to indicate NULL.
static int ENDOP
          [ENDOP] Some operators may like to have a terminator.
static int FROM_ANCESTORS
          ancestor axes opcode.
static int FROM_ANCESTORS_OR_SELF
          ancestor-or-self axes opcode.
static int FROM_ATTRIBUTES
          attribute axes opcode.
static int FROM_CHILDREN
          children axes opcode.
static int FROM_DESCENDANTS
          descendants axes opcode.
static int FROM_DESCENDANTS_OR_SELF
          descendants-of-self axes opcode.
static int FROM_FOLLOWING
          following axes opcode.
static int FROM_FOLLOWING_SIBLINGS
          following-siblings axes opcode.
static int FROM_NAMESPACE
          namespace axes opcode.
static int FROM_PARENT
          parent axes opcode.
static int FROM_PRECEDING
          preceding axes opcode.
static int FROM_PRECEDING_SIBLINGS
          preceding-sibling axes opcode.
static int FROM_ROOT
          '/' axes opcode.
static int FROM_SELF
          self axes opcode.
static int MATCH_ANY_ANCESTOR
          For match patterns.
static int MATCH_ATTRIBUTE
          For match patterns.
static int MATCH_IMMEDIATE_ANCESTOR
          For match patterns.
static int NODENAME
          [NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean
static int NODETYPE_ANYELEMENT
          [NODETYPE_ANY] No size or arguments.
static int NODETYPE_COMMENT
          [NODETYPE_COMMENT] No size or arguments.
static int NODETYPE_FUNCTEST
          [NODETYPE_ANY] No size or arguments.
static int NODETYPE_NODE
          [NODETYPE_NODE] No size or arguments.
static int NODETYPE_PI
          [NODETYPE_PI] [index to token] Note: must not overlap function OP number! returns: XBoolean
static int NODETYPE_ROOT
          [NODETYPE_ROOT] No size or arguments.
static int NODETYPE_TEXT
          [NODETYPE_TEXT] No size or arguments.
static int OP_AND
          [OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean
static int OP_ARGUMENT
          [OP_ARGUMENT] (Function argument.) [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int OP_BOOL
          [OP_BOOL] (cast operation) [length] {expression} returns: XBoolean
static int OP_DIV
          [OP_DIV] [length] {number expression} {number expression} returns: XNumber
static int OP_EQUALS
          [OP_EQUALS] [length] {expression} {expression} returns: XBoolean
static 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
static int OP_FUNCTION
          [OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int OP_GROUP
          [OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int OP_GT
          [OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean
static int OP_GTE
          [OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
static int OP_LITERAL
          [OP_LITERAL] [3] [index to token] returns: XString
static int OP_LOCATIONPATH
          [OP_LOCATIONPATH] [length] {FROM_stepType} | {function} {predicate} [ENDOP] (Note that element and attribute namespaces and names can be wildcarded '*'.) returns: XNodeSet
static int OP_LOCATIONPATHPATTERN
          [OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet
static int OP_LT
          [OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean
static int OP_LTE
          [OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
static int OP_MATCHPATTERN
          [OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet
static int OP_MINUS
          [OP_MINUS] [length] {number expression} {number expression} returns: XNumber
static int OP_MOD
          [OP_MOD] [length] {number expression} {number expression} returns: XNumber
static int OP_MULT
          [OP_MULT] [length] {number expression} {number expression} returns: XNumber
static int OP_NEG
          [OP_NEG] [length] {number expression} returns: XNumber
static int OP_NOTEQUALS
          [OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean
static int OP_NUMBER
          [OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean
static int OP_NUMBERLIT
          [OP_NUMBERLIT] (Number literal.) [3] [index to token] returns: XString
static int OP_OR
          [OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean
static int OP_PLUS
          [OP_PLUS] [length] {number expression} {number expression} returns: XNumber
static int OP_PREDICATE
          [OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber
static int OP_QUO
          [OP_QUO] [length] {number expression} {number expression} returns: XNumber
static int OP_STRING
          [OP_STRING] (cast operation) [length] {expression} returns: XString
static int OP_UNION
          [OP_UNION] [length] {PathExpr}+ returns: XNodeSet
static int OP_VARIABLE
          [OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString
static int OP_XPATH
          [OP_XPATH] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
 
Constructor Summary
OpCodes()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENDOP

public static final int ENDOP
[ENDOP] Some operators may like to have a terminator.
Usage:
**For advanced use only**

EMPTY

public static final int EMPTY
[EMPTY] Empty slot to indicate NULL.

ELEMWILDCARD

public static final int ELEMWILDCARD
[ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.
Usage:
**For advanced use only**

OP_XPATH

public static final int OP_XPATH
[OP_XPATH] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
Usage:
**For advanced use only**

OP_OR

public static final int OP_OR
[OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean
Usage:
**For advanced use only**

OP_AND

public static final int OP_AND
[OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean
Usage:
**For advanced use only**

OP_NOTEQUALS

public static final int OP_NOTEQUALS
[OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean
Usage:
**For advanced use only**

OP_EQUALS

public static final int OP_EQUALS
[OP_EQUALS] [length] {expression} {expression} returns: XBoolean
Usage:
**For advanced use only**

OP_LTE

public static final int OP_LTE
[OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
Usage:
**For advanced use only**

OP_LT

public static final int OP_LT
[OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean
Usage:
**For advanced use only**

OP_GTE

public static final int OP_GTE
[OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
Usage:
**For advanced use only**

OP_GT

public static final int OP_GT
[OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean
Usage:
**For advanced use only**

OP_PLUS

public static final int OP_PLUS
[OP_PLUS] [length] {number expression} {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_MINUS

public static final int OP_MINUS
[OP_MINUS] [length] {number expression} {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_MULT

public static final int OP_MULT
[OP_MULT] [length] {number expression} {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_DIV

public static final int OP_DIV
[OP_DIV] [length] {number expression} {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_MOD

public static final int OP_MOD
[OP_MOD] [length] {number expression} {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_QUO

public static final int OP_QUO
[OP_QUO] [length] {number expression} {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_NEG

public static final int OP_NEG
[OP_NEG] [length] {number expression} returns: XNumber
Usage:
**For advanced use only**

OP_STRING

public static final int OP_STRING
[OP_STRING] (cast operation) [length] {expression} returns: XString
Usage:
**For advanced use only**

OP_BOOL

public static final int OP_BOOL
[OP_BOOL] (cast operation) [length] {expression} returns: XBoolean
Usage:
**For advanced use only**

OP_NUMBER

public static final int OP_NUMBER
[OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean
Usage:
**For advanced use only**

OP_UNION

public static final int OP_UNION
[OP_UNION] [length] {PathExpr}+ returns: XNodeSet
Usage:
**For advanced use only**

OP_LITERAL

public static final int OP_LITERAL
[OP_LITERAL] [3] [index to token] returns: XString
Usage:
**For advanced use only**

OP_VARIABLE

public static final int OP_VARIABLE
[OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString
Usage:
**For advanced use only**

OP_GROUP

public static final int OP_GROUP
[OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
Usage:
**For advanced use only**

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
Usage:
**For advanced use only**

OP_FUNCTION

public static final int OP_FUNCTION
[OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject
Usage:
**For advanced use only**

OP_ARGUMENT

public static final int OP_ARGUMENT
[OP_ARGUMENT] (Function argument.) [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
Usage:
**For advanced use only**

OP_NUMBERLIT

public static final int OP_NUMBERLIT
[OP_NUMBERLIT] (Number literal.) [3] [index to token] returns: XString
Usage:
**For advanced use only**

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
Usage:
**For advanced use only**

OP_PREDICATE

public static final int OP_PREDICATE
[OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber
Usage:
**For advanced use only**

OP_MATCHPATTERN

public static final int OP_MATCHPATTERN
[OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet
Usage:
**For advanced use only**

OP_LOCATIONPATHPATTERN

public static final int OP_LOCATIONPATHPATTERN
[OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet
Usage:
**For advanced use only**

NODETYPE_COMMENT

public static final int NODETYPE_COMMENT
[NODETYPE_COMMENT] No size or arguments. Note: must not overlap function OP number! returns: XBoolean
Usage:
**For advanced use only**

NODETYPE_TEXT

public static final int NODETYPE_TEXT
[NODETYPE_TEXT] No size or arguments. Note: must not overlap function OP number! returns: XBoolean
Usage:
**For advanced use only**

NODETYPE_PI

public static final int NODETYPE_PI
[NODETYPE_PI] [index to token] Note: must not overlap function OP number! returns: XBoolean
Usage:
**For advanced use only**

NODETYPE_NODE

public static final int NODETYPE_NODE
[NODETYPE_NODE] No size or arguments. Note: must not overlap function OP number! returns: XBoolean
Usage:
**For advanced use only**

NODENAME

public static final int NODENAME
[NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean
Usage:
**For advanced use only**

NODETYPE_ROOT

public static final int NODETYPE_ROOT
[NODETYPE_ROOT] No size or arguments. returns: XBoolean
Usage:
**For advanced use only**

NODETYPE_ANYELEMENT

public static final int NODETYPE_ANYELEMENT
[NODETYPE_ANY] No size or arguments. returns: XBoolean
Usage:
**For advanced use only**

NODETYPE_FUNCTEST

public static final int NODETYPE_FUNCTEST
[NODETYPE_ANY] No size or arguments. returns: XBoolean
Usage:
**For advanced use only**

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
Usage:
**For advanced use only**

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_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_SELF

public static final int FROM_SELF
self axes opcode.

FROM_NAMESPACE

public static final int FROM_NAMESPACE
namespace axes opcode.

FROM_ROOT

public static final int FROM_ROOT
'/' axes opcode.

MATCH_ATTRIBUTE

public static final int MATCH_ATTRIBUTE
For match patterns.
Usage:
**For advanced use only**

MATCH_ANY_ANCESTOR

public static final int MATCH_ANY_ANCESTOR
For match patterns.
Usage:
**For advanced use only**

MATCH_IMMEDIATE_ANCESTOR

public static final int MATCH_IMMEDIATE_ANCESTOR
For match patterns.
Usage:
**For advanced use only**

AXES_END_TYPES

public static final int AXES_END_TYPES
The end of the axes types.
Constructor Detail

OpCodes

public OpCodes()


Copyright 2006 Apache XML Project. All Rights Reserved.