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
          **For advanced use only** [FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}? returns: XBoolean
static int ELEMWILDCARD
          **For advanced use only** [ELEMWILDCARD] Means ELEMWILDCARD ("*"), used instead of string index in some places.
static int EMPTY
          [EMPTY] Empty slot to indicate NULL.
static int ENDOP
          **For advanced use only** [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 advanced use only** For match patterns.
static int MATCH_ATTRIBUTE
          **For advanced use only** For match patterns.
static int MATCH_IMMEDIATE_ANCESTOR
          **For advanced use only** For match patterns.
static int NODENAME
          **For advanced use only** [NODENAME] [index to ns token or EMPTY] [index to name token] returns: XBoolean
static int NODETYPE_ANYELEMENT
          **For advanced use only** [NODETYPE_ANY] No size or arguments.
static int NODETYPE_COMMENT
          **For advanced use only** [NODETYPE_COMMENT] No size or arguments.
static int NODETYPE_FUNCTEST
          **For advanced use only** [NODETYPE_ANY] No size or arguments.
static int NODETYPE_NODE
          **For advanced use only** [NODETYPE_NODE] No size or arguments.
static int NODETYPE_PI
          **For advanced use only** [NODETYPE_PI] [index to token] Note: must not overlap function OP number! returns: XBoolean
static int NODETYPE_ROOT
          **For advanced use only** [NODETYPE_ROOT] No size or arguments.
static int NODETYPE_TEXT
          **For advanced use only** [NODETYPE_TEXT] No size or arguments.
static int OP_AND
          **For advanced use only** [OP_AND] [length] {boolean expression} {boolean expression} returns: XBoolean
static int OP_ARGUMENT
          **For advanced use only** [OP_ARGUMENT] (Function argument.) [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int OP_BOOL
          **For advanced use only** [OP_BOOL] (cast operation) [length] {expression} returns: XBoolean
static int OP_DIV
          **For advanced use only** [OP_DIV] [length] {number expression} {number expression} returns: XNumber
static int OP_EQUALS
          **For advanced use only** [OP_EQUALS] [length] {expression} {expression} returns: XBoolean
static int OP_EXTFUNCTION
          **For advanced use only** [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
          **For advanced use only** [OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int OP_GROUP
          **For advanced use only** [OP_GROUP] [length] {expression} returns: XNodeSet XNumber XString XBoolean XRTree XObject
static int OP_GT
          **For advanced use only** [OP_GT] (greater-than) [length] {number expression} {number expression} returns: XBoolean
static int OP_GTE
          **For advanced use only** [OP_GTE] (greater-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
static int OP_LITERAL
          **For advanced use only** [OP_LITERAL] [3] [index to token] returns: XString
static int OP_LOCATIONPATH
          **For advanced use only** [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
          **For advanced use only** [OP_LOCATIONPATHPATTERN] [length] {FROM_stepType} | {function}{predicate} [ENDOP] returns: XNodeSet
static int OP_LT
          **For advanced use only** [OP_LT] (less-than) [length] {number expression} {number expression} returns: XBoolean
static int OP_LTE
          **For advanced use only** [OP_LTE] (less-than-or-equals) [length] {number expression} {number expression} returns: XBoolean
static int OP_MATCHPATTERN
          **For advanced use only** [OP_MATCHPATTERN] [length] {PathExpr}+ returns: XNodeSet
static int OP_MINUS
          **For advanced use only** [OP_MINUS] [length] {number expression} {number expression} returns: XNumber
static int OP_MOD
          **For advanced use only** [OP_MOD] [length] {number expression} {number expression} returns: XNumber
static int OP_MULT
          **For advanced use only** [OP_MULT] [length] {number expression} {number expression} returns: XNumber
static int OP_NEG
          **For advanced use only** [OP_NEG] [length] {number expression} returns: XNumber
static int OP_NOTEQUALS
          **For advanced use only** [OP_NOTEQUALS] [length] {expression} {expression} returns: XBoolean
static int OP_NUMBER
          **For advanced use only** [OP_NUMBER] (cast operation) [length] {expression} returns: XBoolean
static int OP_NUMBERLIT
          **For advanced use only** [OP_NUMBERLIT] (Number literal.) [3] [index to token] returns: XString
static int OP_OR
          **For advanced use only** [OP_OR] [length] {boolean expression} {boolean expression} returns: XBoolean
static int OP_PLUS
          **For advanced use only** [OP_PLUS] [length] {number expression} {number expression} returns: XNumber
static int OP_PREDICATE
          **For advanced use only** [OP_PREDICATE] [length] {expression} [ENDOP] (For safety) returns: XBoolean or XNumber
static int OP_QUO
          **For advanced use only** [OP_QUO] [length] {number expression} {number expression} returns: XNumber
static int OP_STRING
          **For advanced use only** [OP_STRING] (cast operation) [length] {expression} returns: XString
static int OP_UNION
          **For advanced use only** [OP_UNION] [length] {PathExpr}+ returns: XNodeSet
static int OP_VARIABLE
          **For advanced use only** [OP_VARIABLE] [4] [index to namespace token, or EMPTY] [index to function name token] returns: XString
static int OP_XPATH
          **For advanced use only** [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
**For advanced use only** [ENDOP] Some operators may like to have a terminator.

EMPTY

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

ELEMWILDCARD

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

OP_XPATH

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

OP_OR

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

OP_AND

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

OP_NOTEQUALS

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

OP_EQUALS

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

OP_LTE

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

OP_LT

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

OP_GTE

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

OP_GT

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

OP_PLUS

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

OP_MINUS

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

OP_MULT

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

OP_DIV

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

OP_MOD

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

OP_QUO

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

OP_NEG

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

OP_STRING

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

OP_BOOL

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

OP_NUMBER

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

OP_UNION

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

OP_LITERAL

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

OP_VARIABLE

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

OP_GROUP

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

OP_EXTFUNCTION

public static final int OP_EXTFUNCTION
**For advanced use only** [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
**For advanced use only** [OP_FUNCTION] [length] [FUNC_name] {OP_ARGUMENT} [ENDOP] returns: XNodeSet XNumber XString XBoolean XRTree XObject

OP_ARGUMENT

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

OP_NUMBERLIT

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

OP_LOCATIONPATH

public static final int OP_LOCATIONPATH
**For advanced use only** [OP_LOCATIONPATH] [length] {FROM_stepType} | {function} {predicate} [ENDOP] (Note that element and attribute namespaces and names can be wildcarded '*'.) returns: XNodeSet

OP_PREDICATE

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

OP_MATCHPATTERN

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

OP_LOCATIONPATHPATTERN

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

NODETYPE_COMMENT

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

NODETYPE_TEXT

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

NODETYPE_PI

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

NODETYPE_NODE

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

NODENAME

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

NODETYPE_ROOT

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

NODETYPE_ANYELEMENT

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

NODETYPE_FUNCTEST

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

AXES_START_TYPES

public static final int AXES_START_TYPES
**For advanced use only** [FROM_stepType] [length, including predicates] [length of just the step, without the predicates] {node test} {predicates}? returns: XBoolean

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 advanced use only** For match patterns.

MATCH_ANY_ANCESTOR

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

MATCH_IMMEDIATE_ANCESTOR

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

AXES_END_TYPES

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

OpCodes

public OpCodes()


Copyright � 2000 Apache XML Project. All Rights Reserved.